账户管理 | |||||
安全检查项 | 安全基线要求 | 检测命令操作参考 | 安全判定依据 | 处理方式 | 备注 |
超级账户管理 | 保证系统中只有唯一的超级账户 root,只有 root 账户的 UID 为 0 | awk -F: '($3 == 0) { print $1 }' /etc/passwd | 如果返回值显示除 root 之外的其他账户,表明不符合安全要求。 | 除root账户之外的账户,删除此账户 userdel -r 用户名 | UID 为 0 的账户即系统超级管理员账户,拥有系统所有权限,默认情况下只有 root账户的 UID 为 0 |
空口令账户管理 | 系统中不能存在空口令账户 | awk -F: '($2 == "") { print $1 }' /etc/shadow | 如果返回值显示账户,即为空口令账户,表明不符合安全要求。 | 删除空口令账户:userdel -r 用户名 | |
无关账户管理 | 删除或禁用无关账户,提高系统账户安全 | cut -d: -f1 /etc/passwd | 1)管理员列出工作中用到的账户 2)将此账户列表不检测结果对比,查看是否存在不工作无关的账户,如果存在此类账户,表明不符合安全要求 | 删除无关账户:userdel -r 用户名 | 无关账户主要指测试账户、共享账户、长期不用账户(半年以上)等。 |
口令管理 | |||||
安全检查项 | 安全基线要求 | 检测命令操作参考 | 安全判定依据 | 处理方式 | 备注 |
口令最长使用期限 | 对亍采用静态口令认证技术的设备,口令生存期最长为 90 天 | cat /etc/login.defs | grep PASS_MAX_DAYS | 如果返回值大于90,表明不符合安全要求 | vi /etc/login.defs PASS_MAX_DAYS 90 | PASS_MAX_DAYS 默认值为 99999 |
口令更改最小间隔 | 设置口令更改最小间隔天数,防止口令频繁更改,推荐值为 1 天 | cat /etc/login.defs | grep PASS_MIN_DAYS | 如果返回值为 0,表明不符合安全要求 | vi /etc/login.defs PASS_MIN_DAYS 1 | PASS_MIN_DAYS 默认值为 0。 |
口令最小长度 | 对于采用静态口令认证技术的设备,口令最小长度不少于 8 位 | cat /etc/login.defs | grep PASS_MIN_LEN | 如果返回值小于 8,表明不符合安全要求 | vi /etc/login.defs PASS_MIN_LEN 8 | PASS_MIN_LEN 默认值为 5。 |
口令过期前警告天数 | 系统在口令过期前发出修改口令的警告信息给用户,推荐值为 14 天 | cat /etc/login.defs | grep PASS_WARN_AGE | 如果返回值小于14,表明不符合安全要求。 | vi /etc/login.defs PASS_WARN_AGE 14 | PASS_WARN_AGE 默认值为 7 |
认证授权 | |||||
安全检查项 | 安全基线要求 | 检测命令操作参考 | 安全判定依据 | 处理方式 | 备注 |
root 账户环境变量管理 | root 账户环境变量路径中不应该包含”.” | echo $PATH | sed 's|:|\n|g' | grep "\." | 如果返回值显示”.”,表明不符合安全要求。 | vi /etc/profile export PATH="$PATH:正确的环境变量 | |
重要文件权限设置 | /etc/passwd 的权限为-rw-r--r--, 即 644 /etc/shadow 的权限为----------, 即 000 /etc/group 的权限为-rw-r--r--, 即 644 /etc/services 的权限为-rw-r--r--,即 644 | ls -l /etc/passwd ls -l /etc/shadow ls -l /etc/group ls -l /etc/services | 如果返回值的权限大于安全基线要求中的权限,表明不符合安全要求。 | ||
重要文件夹权限设置 | /etc 的权限为 drwxr-xr-x, 即 755 /etc/security 的权限为 drwxr-xr-x,即 755 /etc/rc.d 的权限为 drwxr-xr-x, 即 755 | ls -ld /etc ls -ld /etc/security ls -ld /etc/rc.d | 如果返回值的权限大于安全基线要求中的权限,表明不符合安全要求。 | ||
umask安全管理 | 控制用户缺省权限,提高系统安全性 | cat /etc/profile | grep -i umask cat /etc/csh.cshrc | grep -i umask cat /etc/bashrc | grep -i umask | 检测上述文件中 umask 值的设定,默认情况下,系统管理员 umask=022,普通用户 umask=002,使用命令 umask 查看系统当前的 umask 值,如果返回值显示的umask 值权限大于默认权限,表明丌符合安全要求。 | 初始文件夹权限为 777,初始文件权限为 666; 2)如果 umask=022,则文件夹权限为 755,文件权限为 644; 3)如果 umask=002,则文件夹权限为 775,文件权限为 664; 4)如果需要进一步提高安全级别,可以将 umask 修改为 027 或 077。 | |
日志审计 | |||||
安全检查项 | 安全基线要求 | 检测命令操作参考 | 安全判定依据 | 处理方式 | 备注 |
syslog 日志审计 | 启用 syslog 系统日志审计功能,将身份认证有关的安全性信息发送到/var/log/secure 保存 | cat /etc/rsyslog.conf | grep authpriv.* | 返回值如果不为 authpriv.* /var/log/secure,表明不符合安全要求。 | vim /var/log/secure authpriv.* /var/log/secure | |
远程管理 | |||||
安全检查项 | 安全基线要求 | 检测命令操作参考 | 安全判定依据 | 处理方式 | 备注 |
程登录权限管理 | 限制 root 用户远程登录,如果远程执行管理员权限操作,先以普通用户远程登录后,切换到 root 执行相应操作 | cat /etc/ssh/sshd_config | grep PermitRootLogin | head -n 1 | 如果返回值显示 PermitRootLogin no,表明已经限制 root 通过 SSH 远程登录; 如果显示 PermitRootLogin yes,表明 root 可以用过 SSH 远程登录,不符合安全要求。 | vim /etc/ssh/sshd_config PermitRootLogin no systemctl restar ssh.service | |
远程登录方式管理 | 远程登录管理时使用安全的 SSH 协议,而不使用明文传输的 Telnet 协议 | 1)chkconfig --list | grep sshd 2)chkconfig --list | grep telnet | 检测操作参考 1)的返回值显示”sshd 3:on 5:on”, 检测操作参考 2)的返回值无显示或显示“telnet: off”, 表明 SSH 开启,Telnet 没有安装或服务兲闭,符合安全要求 | 1)卸载 telnet 程序:yum remove telnet 2)禁用 telnet 服务:vim /etc/services,使用#注释掉 telnet 23/tcp 这一行 | 检测操作参考 1)的返回值显示”sshd 3:on 5:on”, 检测操作参考 2)的返回值无显示或显示“telnet: off”, 表明 SSH 开启,Telnet 没有安装或服务关闭,符合安全要求 |
远程登录地址管理 | 限制通过 SSH 能够远程登录计算机的网段 | cat /etc/hosts.allow cat /etc/hosts.deny | 1)如果 cat /etc/hosts.allow 返回值显示 sshd:允许的网段:allow 2)如果 cat /etc/hosts.deny 返回值显示 sshd:ALL 表明符合安全要求。 | ||
系统服务 | |||||
SNMP 默认团体名管理 | 启用 SNMP 服务后,需要修改默认 SNMP Community String | cat /etc/snmp/snmpd.conf,找到# sec.name source community,其下一行 最后一个字段即为 Community String | 如果返回值显示 Community String 为 public,表明其为 SNMP 默认团体名,不符合安全要求。 | ||
启用 NTP(可选) | 启用网络时间协议 NTP,保持时间同步 | 1)service ntpd status 2)cat /etc/ntp.conf | grep server | 检测操作参考 1)的返回值显示”ntpd is running”, 检测操作参考 2)的返回值显示的 server 的 IP 地址或域名正确, 表明符合安全要求。 | ||
管理 xinetd based services(可选) | xinetd based services 启动设置为 off | chkconfig --list | 如果返回值显示如下: chargen-dgram: off chargen-stream: off cvs: off daytime-dgram: off daytime-stream: off discard-dgram: off discard-stream: off echo-dgram: off echo-stream: off rsync: off tcpmux-server: off telnet: off time-dgram: off time-stream: off 表明符合安全要求。 | ||
服务不端口安全管理 | 关闭不必要的服务不端口 | chkconfig --list | 1)系统管理员列出系统需要的服务列表; 2)将服务列表不命令运行结果做对比,如果发现系统服务外多余的不运维无关的服务,表明不符合安全要求。 | ||
其他 | |||||
删除潜在危险文件(可选) | .rhosts,.netrc 等文件都具有潜在的危险,需要删除或更名 | find / -name .rhosts find / -name .netrc | 如果返回值显示.rhosts 或.netrc 的路径,则文件存在,表明不符合安全要求。 | rm 返回文件名 | |
增加session超时自动退出 | 5分钟无操作自动退出登录 | cat /etc/profile |grep TMOUT | 有返回输出代表正常 | vim /etc/profile TMOUT=300 |
Centos操作系统安全基线检查
于 2022-07-08 10:57:20 首次发布