Linux服务器安全配置基线

2024-01-09 17:56:57

基线要求:

安全类别

检查项

检查要求

检查步骤

备注

账户及口令安全

1.1 检查是否设置口令生存周期

应配置口令生存周期,密码最长使用期限应小于等于90天,密码最短使用期限应非0。

执行:cat /etc/login.defs,检查是否配置了以下参数。
PASS_MAX_DAYS 配置项决定密码最长使用期限;
PASS_MIN_DAYS 配置项决定密码最短使用期限;
要求:PASS_MAX_DAYS为小于等于90。
           PASS_MIN_DAYS为非0。

针对程序帐号之类的不能完全使用上述策略的帐号口令应予以原因说明。

1.2 检查是否设置口令复杂度策略

最短密码长度8个字符,启用本机组策略中密码必须符合复杂性要求的策略。即密码至少包含以下四种类别的字符中的三种:
·英语大写字母 A, B, C, … Z
·英语小写字母 a, b, c, … z
·西方阿拉伯数字 0, 1, 2, … 9
·非字母数字字符,如标点符号,@, #, $, %, &, *等

1、执行:cat /etc/login.defs,检查是否配置了以下参数。
     PASS_MIN_LEN 配置项决定密码最小长度。
     要求:PASS_MIN_LEN为8。
2、执行:cat /etc/pam.d/system-auth,检查是否配置了以下参数。
password requisite pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
或者为pam_pwquality.so模块,最早之前使用的是 pam_cracklib.so ,后来改成 pam_pwquality.so 这个模块,但此模块完全兼容于 pam_cracklib.so
minlen 配置项决定了新密码最短长度。
ucredit 配置项限定了新密码中至少有多少个大写字符。
lcredit 配置项限定了新密码中至少有多少个小写字符。
dcredit 配置项限定了新密码中至少有多少个数字。
ocredit 配置项限定了新密码中至少有多少个其他字符。

针对程序帐号之类的不能完全使用上述策略的帐号口令应予以原因说明。

1.3 检查是否设置口令失效提示

应设置口令在失效前7天进行提示。

执行:cat /etc/login.defs,检查是否配置了以下参数。
PASS_WARN_AGE 配置项决定密码到期提醒时间。
要求:PASS_WARN_AGE为7。

针对程序帐号之类的不能完全使用上述策略的帐号口令应予以原因说明。

1.4 检查是否设置口令重复使用次数

不能复用近期使用过的5个密码

执行:cat /etc/pam.d/system-auth以及cat /etc/pam.d/passwd,检查是否配置了以下参数。
   password required pam_unix.so remember=5
   remember 指新密码不能和之前的5个密码相同。
要求:remember为5


 

1.5 检查是否存在空口令账号

应不存在空口令的账号。

执行:awk -F: '($2 == "") { print $1 }' /etc/shadow,检查是否有输出账号,若有输出则该账号为空口令账号。


 

1.6 检查除root账户以外是否存在uid为0的账户

uid为0的账户应只有root。

执行:awk -F: '($3 == 0) { print $1 }' /etc/passwd,检查是否输出条目是否只有root。


 

1.7 检查是否删除或锁定无用账户

应删除或锁定与设备运行、维护等工作无关的账号。需锁定daemon、bin、sys、nuucp、lpd、imnadm、ipsec、ldap、nobody、snapp、invscout、Adm、lp、sync、shutdown、halt、news、uucp、operator、games等系统默认账户

1、执行:cat /etc/shadow,检查无用账户。
2、执行:passwd -l username,锁定无用账户。
要求:锁定的用户为daemon、bin、sys、nuucp、lpd、imnadm、ipsec、ldap、nobody、snapp、invscout、Adm、lp、sync、shutdown、halt、news、uucp、operator、games等系统默认账户。
可通过passwd -S username查看用户状态。
3、执行:awk -F: '($2 == "*") { print $1 }' /etc/shadow,查看已锁定的账户。
4、执行:awk -F: '($2 == "!!") { print $1 }' /etc/shadow,查看密码已过期的账户,判断其是否需要删除。

若需系统默认账号登录系统,需管理员提供设置密码的原因。

1.8 检查是否有登录失败处理功能

应启用登录失败处理功能,在登录失败5次后,锁定账户10分钟,包括root账户。

1、执行:cat /etc/pam.d/system-auth以及cat /etc/pam.d/sshd,检查第一行是否配置了以下参数。
   auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 even_deny_root root_unlock_time=600
deny  表示最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。
onerr 表示出现异常时的处理。
unlock_time 表示认证被锁后,多长时间自动解锁用户。
even_deny_root 指root用户在认证出错时,一样被锁定。
root_unlock_time 指root用户在失败时,锁定多长时间。
要求:onerr 为fail
      deny 为5
      ulock_time 为600秒
      root_ulock_time 为600秒
2、执行 cat /etc/ssh/sshd_config,检查以下参数。
MaxAuthTries 决定进行SSH登录时的最大尝试次数。
要求:MaxAuthTries为5


 

1.9 检查是否禁用root用户远程ssh登录

文章来源:https://blog.csdn.net/weixin_44147924/article/details/132625884
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。