- A+
所属分类:运维基础
一.WINDOWS安全加固
1.账号
- 按照不同的用户分配不同的账户,避免不同用户共享
- 删除与运行、维护等无关的账户,删除过期账户
- 重命令Administrator、禁用guest账户
2.授权
- 本地和远端系统强制关机只给Administrators组
- 取得文件或其他对象的所有权只指派给Administrators
- 只允许授权的账号进行本地、远程访问登录此计算机
3.口令
- 密码长度至少8位,包含数字、大小写英文和特殊符号
- 采用静态口令认证技术的设备,账号口 令生存期限,一般不超过90天,最长不超过180天
- 采用静态口令认证技术的 设各,密码输入失败次数不能超过5次
4.安全补丁
- 在保证业务不影响条件下,更新最新补丁
- 启用防火墙或安装第三方威胁防护软件且及时更新
- 根据业务需要,限定允许访问网络的应用程序,和允许远程登录该设备IP地址范围
5.日志
- 配置日志功能,记录用户登录的账号、登录是否成功、时间,以及远程登录的IP地址
- 开启审核策略,记录用户的一切事件
- 设置日志容量和覆盖规则,保证日志存储
6.共享文件夹
- 在非域环境下,关闭Windows硬盘默认共享,如C$,D$
- net share
- 此命令的语法是:
- NET SHARE
- sharename
- sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]
- [/USERS:number | /UNLIMITED]
- [/REMARK:"text"]
- [/CACHE:Manual | Documents| Programs | BranchCache | None]
- sharename [/USERS:number | /UNLIMITED]
- [/REMARK:"text"]
- [/CACHE:Manual | Documents | Programs | BranchCache | None]
- {sharename | devicename | drive:path} /DELETE
- sharename \\computername /DELETE
- 请键入 NET HELPMSG 3506 以获得更多的帮助。
- C:\Windows\system32>net share /del c$
- c$ 已经删除。
- C:\Windows\system32>net share /del d$
- d$ 已经删除。
- C:\Windows\system32>net share /del e$
- 只允许授权的账户拥有权限共享
7.网络访问
- 在非域环境下,关闭Windows硬盘默认共享,如以C$,D$
- 禁用可远程访问的注册表路径和子路径
8.会话超时设置
- 对于远程登录的账户,设置不活动所连接时间不超过15分钟
9.注册表设置
- 不允许自动登录
- 源路由欺骗保护
- 删除匿名用户空连接
- SNY Flood保护
10.其他
- 关闭不必要的服务
- 如需开启SNMP服务,则修改默认的SNMP Communiity String设置
- 若需要开启远程服务,更改远程登录端口3389的端口
- 关闭Windows的自动视频播放功能
二.LINUX安全加固
1.账号
1)按照不同的用户分配不同的账号,避免不同用户共享
- 添加用户
- useradd username
- passwd username
- 修改权限:chmod 750 目录
2)删除或锁定无关账户
- 删除用户:userdel username
- 锁定用户:passwd -l username
- 接触锁定:passwd -d username
3)根据业务需求,建立多账号组,并相应分配组
- cat /etc/passwd
- cat /etc/group
4)使用PAM禁止任何人su为root
- 编辑su文件(vi /etc/pam.d/su)
- #auth required pam_wheel.so use_uid去掉前面的注释,保存即可
- 表明只有wheel组的成员可以使用su命令成为root成员
- 添加方法:usermod -g wheel username
2.授权
- 在业务能力内,配置最小权限
- chmod配置
- 控制用户缺省访问权限,设置默认创建文件或目录的权限750
- 设置默认权限:
- 命令输入:umask 027
- 若修改文件或目录的权限,操作:chmod 444 dir
- 若需开启FTP服务,控制FTP进程缺省访问权限。当通过FTP服务创建的新目录或者新文件时,屏蔽调新文件或者目录不应有的访问允许权。
- 以vsftp为例,打开/etc/vsftpd/chroot_list文件,添加需要受限制的用户名
3.日志
- 启用syslog系统日志审计功能
- cat /etc/syslog.conf查看是否有#authpriv.*/var/log/secure,主要存放的认证、权限使用相关的信息
- 限制系统日志经限由syslog记录并且不可被其他用户修改
- ls -l
- chmod
- 开启cron行为日志功能
- 设备配置远程日志功能,将需要重点关注的日志内容存放到syslog
4.口令
- 密码长度至少8位,包含数字、大小写英文和特殊符号
- 采用静态口令认证技术的设备,账号口令生存期限,一般不超过90天,最长不超过180天
5.远程登录
- 限制直接root登录,应先普通权限现切换到超级管理员账号
- /etc/passwd中,账号信息的shell位/sbin/nologin的为禁止远程登录;
- 若允许,则改成可以登录的shell即可,如/bin/bash
- 使用IP协议登录的设各,应需要配置SSH等加密协议
6.安全补丁
- 查看Linux的内核版本,并及时更新最新版的补丁
- [root@mysql01 ~]# uname -a
- Linux mysql01 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
- [root@mysql01 ~]# cat /etc/redhat-release
- CentOS Linux release 7.8.2003 (Core)
- [root@mysql01 ~]#
7.系统Banner设置
- 修改系统Banner,避免泄露操作系统名称,版本号,主机名称等指纹信息,并且给出登录告警信息
8.FTP设置
- 禁止root登录
- 在ftp access文件中添加root,拒绝root账号登录
- 禁止匿名ftp登录:以vsftp为例,修改vsftpd.conf: anonymous_enable=NO
- 修改FTP的Banner信息
9.删除潜在危险文件
- .rhosts,.netrc,hosts.equiv等文件存在威胁,如果没有应用,应该删除掉
- 执行:find / -name .netrc,检查系统是否有.netrc文件
- 执行:find / -name .rhosts,检查系统是否有.rhosts文件
- [root@mysql01 ~]# find / -name .netrc
- [root@mysql01 ~]# find / -name .rhosts
- [root@mysql01 ~]#
- 如果没有应用,则删除以下文件:
- My .rhost .rhost.bak
- My .netr .netr.bak
10.其他
- 关闭不必要的服务和端口
- 查看所有开启的服务:
- #ps -ef
- #chkconfig --list
- #cat /etc/xinetd.conf