Linux安全基线加固
Linux安全基线加固
账号管理
口令策略管理
检查操作步骤:
1.查看配置文件:more /etc/pam.d/password-auth
2.查看是否存在如下内容:auth required pam_tally2.so deny=5 onerr=failunlock_time=3G0 even_deny_root=5 root_unlock_time=600
基线符合性性判定依据:
用户连续认证失败次数设置为5即合规,否则不合规。
安全加固方案:
口令生存期
检查操作步骤:
查看文件:more /etc/login.defs,检查如下参数值是否满足要求:
PASS_MAX_DAYS 用户的密码最长使用天数不大于90
PASS_WARN_AGE 用户的密码到期提前提醒天数为7
基线符合性性判定依据:
PASS_MAX_DAYS不大于90,PASS_WARN_AGE等于7即合规,否则不合规。
安全加固方案:
口令复杂度
检查操作步骤:
执行命令: grep -E“^minlen|^minclass" /etc/security/pwquality.conf查看是否有返回结果。
基线符合性性判定依据:
有返回结果且返回结果等于或者大于minlen = 8,minclass =3 即合规否则不合规
安全加固方案:
检查密码重用是否受限制
检查操作步骤:
查看文件:cat /etc/pam.d/system-auth找到 password sufficient pam_unix.so 这行,检查末尾是否有 remember参数
基线符合性性判定依据:
有remember参数且参数的值大于等于5即合规,否则不合规
安全加固方案:
检查是否存在除root之外UID为0的用户
检查操作步骤:
执行命令 : awk -F:('$3 == 0){ print $1}' /etc/passwd 查看返回值。
基线符合性性判定依据:
返回值包括“root”以外的条目,则低于安全要求
安全加固方案:
禁止存在空密码的帐户
检查操作步骤:
执行以下命令查看系统中是否存在空口令账号#awk -F:'( $2 == "" ){ print $1} /etc/shadow
基线符合性性判定依据:
执行命令后没有返回值即合规,否则不合规。
安全加固方案:
登陆策略管理
检查是否禁止SSH空密码用户登录
检查操作步骤:
执行命令: more /etc/ssh/sshd config 查看 PermitEmptyPasswords 配置情况
基线符合性性判定依据:
PermitEmptyPasswords 的值设置为no即合规,否则不合规
安全加固方案:
设置登录超时自动注销
检查操作步骤:
执行命令: more /etc/profile 查看是否有export TMOUT=180
基线符合性性判定依据:
存在export TMOUT且他的值小于等于180即合规,否则不合规
安全加固方案:
检查默认umask值
检查操作步骤:
执行命令: more /etc/profile 查看该文件末尾是否设置umask值
基线符合性性判定依据:
/etc/profile文件末尾存在umask 027,则合规,否则为不合规
安全加固方案:
检查重要目录和文件的权限设置
检查操作步骤:
执行命令 : 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
以上条件同时满足则合规,否则不合规。
安全加固方案:
限制可以su为root的用户录
检查操作步骤:
执行命令: more /etc/pam.d/su 找到 auth required pam_wheel.souse_uid 查看该行是否存在且是否被注释
基线符合性性判定依据:
auth required pam_wheel.so use_uid 存在且未被注释即合规,否则不合规
安全加固方案:
检查是否启用记录定时任务行为日志功能
检查操作步骤:
执行命令 : more /etc/rsyslog.conf 查看 cron 的值
基线符合性性判定依据:
corn值为cron.* 即合规,否则不合规注: /var/log/cron为可变项
安全加固方案:
确保SSH LogLevel设置为INFO
检查操作步骤:
执行命令:more vi /etc/ssh/sshd_config 找到 LogLevel 查看设置的级别是否为INFO
基线符合性性判定依据:
LogLevel 的级别是INFO 且该行未被注释即合规,否则不合规
安全加固方案: