安全基线检查的常见思路
Linux
账号管理
1、检查密码错误过多 锁定设置
查看配置文件:more /etc/pam.d/password-auth,用户连续认证失败次数设置为5即合规,否则不合规
2、检查密码有效期 设置
查看文件:more /etc/login.defs,用户的密码最长使用天数不大于90,用户的密码到期提前提醒天数为7
3、检查密码复杂度 设置
查看文件:more /etc/security/pwquality.conf至少包含数字、小写字母、大写字母、特殊字符中的三项,且密码长度>=8
4、检查密码重用是否有限制
查看文件:cat /etc/pam.d/system-auth ,有remember参数且参数的值大于等于5即合规,否则不合规
5、检查是否存在除root之外UID为0的用户
6、检查是否存在空密码的帐户
服务管理
1、检查是否禁止SSH空密码用户登录
查看文件:more /etc/ssh/sshd_config的PermitEmptyPasswords配置情况,其值设置为no即合规,否则不合规
2、设置ssh多次登录失败后锁定用户
查看文件:more /etc/pam.d/sshd中,存在deny小于等于5,unlock_time大于等于300,否则不合规
3、限制root用户远程登录
查看文件:more /etc/ssh/sshd_config的PermitRootLogin值,如果值为no且该行没有被注释即合规,否则不合规
4、检查ssh使用的端口
查看文件:more /etc/ssh/sshd_config的Port参数,值不是默认值(22)且该行没有被注释即合规,否则不合规
5、设置登录超时自动注销
查看文件:more /etc/profile 的export TMOUT参数值,其值小于等于180即合规,否则不合规
权限管理
umask值:当前用户默认值需要减掉的权限
文件夹默认:777
文件默认:666
1、检查用户umask值
查看文件:more /etc/profile的umask值,文件末尾存在umask 027,则合规,否则为不合规
2、检查重要目录和文件的权限设置
查看
ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/hosts.allow /etc/hosts.allow /etc/services /etc/ssh/sshd_config
/etc/passwd文件的权限<=644
/etc/shadow文件的权限<=600
/etc/group文件的权限<=644
/etc/gshadow文件的权限<=600
/etc/hosts.deny文件的权限<=644
/etc/hosts.allow文件的权限<=644
/etc/services文件的权限<=644
/etc/ssh/sshd_config文件的权限<=600
以上条件同时满足则合规,否则不合规。
3、限制可以su为root的用户
防止其他用户知道了root密码,在普通用户通过su 获得高权限
查看文件:more /etc/pam.d/su,存在auth required pam_wheel.so use_uid且未被注释即合规,否则不合规
日志管理
系统中的程序会把自己的日志文件交由rsyslog管理,其规定了对应程序存储日志的地址,和存储优先级(如/var/log/messages 存放的是系统的日志信息,它记录了各种事件
1、检查rsyslog服务是否启用且对所有登录事件都记录
查看文件:more /etc/rsyslog.conf的authpriv值,如果authpriv值为authpriv.* /var/log/secure即合规,否则不合规
2、检查是否启用记录定时任务行为日志功能
查看文件:more /etc/rsyslog.conf的cron值,如果cron值为cron.* 即合规,否则不合规
3、检查是否将 /var/log/messages 文件设置为只可追加
查看文件:lsattr /var/log/messages ,如果其文件属性第六位为a即合规,否则不合规
4、检查SSHLogLevel设置为INFO
查看文件:more vi /etc/ssh/sshd_config 的LogLevel级别,如果其为INFO且该行未被注释即合规,否则不合规