更新记录
日期 | 版本号 | 内容 |
---|---|---|
9/2/2024 | Ver 1.0 | 建档,增加序号便于查找 |
1. 账号管理与授权
1.1 检查是否存在空密码账户
配置描述 | 检查是否存在空密码账户,非法用户可通过该账户直接登陆系统 |
---|---|
检查方法 | awk -F: ‘($2==){print $1}’ /etc/shadow |
操作步骤 | cp -p /etc/passwd /etc/passwd_bak cp -p /etc/shadow /etcshadow_bak passwd username(为用户设置密码) |
回退操作 | cp /etc/passwd_bak /etc/passwd cp /etc/shadow_bak /etc/shadow |
操作风险 | 低风险 |
是否可选 | 必选 |
1.2 删除和锁定无关账户
配置描述 | 删除和锁定无关帐户,定期清理无用账户,避免为攻击者提供访问通路,确保系统访问权限的最小化 |
---|---|
检查方法 | more /etc/passwd /etc/shadow 查看是否存在一下可能无用的账户: listen、gdm、webservd、nobody、nobody4、noaccess、lp、uucp 确认以上账户可以锁定 |
操作步骤 | cp -p /etc/passwd{,.bak}} cp -p /etc/shadow{,.bak} vim /etc/shadow 在需要锁定的用户后加入LK, 如: UserLK:111shdwsdsasfdsfawer:14172:0:99999:7::: 将/etc/passwd文件中的shell设置为/sbin/nologin |
回退操作 | cp /etc/passwd_bak /etc/passwd cp /etc/shadow_bak /etc/shadow |
操作风险 | 被锁定账户无法登陆系统 |
是否可选 | 必选 |
1.3 不重复使用近期口令
配置描述 | 配置设备,使用户不能重复使用最近5次(含5次)内已使用的密码 |
---|---|
检查方法 | cat /etc/pam.d/system-auth 检查password required pam_unix.so所在行是否存在 remember=5 ls /etc/security/opasswd 检查是否存在/etc/security/opasswd文件 |
操作步骤 | cp -p /etc/pam.d/system-auth{,.bak} touch /etc/security/opasswd chown root:root /etc/security/opasswd chmod 600 /etc/security/opasswd vim /etc/pam.d/system-auth 在password required pam_unix.so所在行增加remember=5 |
回退操作 | cp /etc/pam.d/system-auth_bak /etc/pam.d/system-auth |
操作风险 | /etc/pam.d/system-auth文件设置不当将导致系统登陆认证不成功。配置生效需重启服务器 |
是否可选 | 必须选 |
1.4 按用户角色分配不同权限的账号
配置描述 | 按照用户角色分配不同权限,确保用户权限最小化,避免越权操作 |
---|---|
检查方法 | more /etc/passwd /etc/shadow 查看系统中存在的用户, 确认每个账户的home路径及启动shell 与管理员确认需要锁定的账户 |
操作步骤 | cp -p /etc/passwd{,.bak} cp -p /etc/shadow {,.bak} 修改home路径和shell |
回退操作 | cp /etc/passwd_bak /etc/passwd cp /etc/shadow_bak /etc/shadow |
操作风险 | 更改用户权限可能导致某些应用无法正常运行 |
是否可选 | 必选 |
1.5 设置口令策略满足复杂度要求和口令有效期
配置描述 | 设置口令策略满足复杂度要求和口令生存周期,确保口令具有足够的复杂性,可抵抗穷举攻击 |
---|---|
检查方法 | more /etc/login.defs 检查PASS_MAX_DAYS、PASS_MIN_LEN、PASS_MIN_DAYS PASS_WARN_AGE参数 |
操作步骤 | cp -p /etc/login.defs{,.bak} vim /etc/login.defs PASS_MIN_LEN = 8 PASS_MAX_DAYS = 90 |
回退操作 | cp /etc/login.defs_bak /etc/login.defs |
操作风险 | 可能导致非root用户修改密码时多次不成功 |
是否可选 | 必选 |
1.6 禁用UID为0的用户
配置描述 | 检查是否存在除root之外UID为0的用户 |
---|---|
检查方法 | awk -F: ‘($3==){print $1}’ /etc/passwd 返回值应只有root |
操作步骤 | cp -p /etc/passwd {,.bak} cp -p /etc/shadow{,.bak} cp -p /etc/group{,.bak} userdel username(除root以外uid为0的用户) |
回退操作 | cp /etc/passwd_bak /etc/passwd cp /etc/shadow_bak /etc/shadow cp /etc/group_bak /etc/group |
操作风险 | 可能造成某些应用运行异常,需要确认找到UID为0的非root用户用途 |
是否可选 | 必选 |
1.7 禁止超级管理员远程登录
配置描述 | 禁止超级管理员账户远程登录,远程登录会增加信息泄露风险, 攻击者可利用远程登录客户端的漏洞获取超级管理员权限, 威胁系统安全,如采用telnet协议登录,则安全威胁更为严重 |
---|---|
检查方法 | telnet: more /etc/pam.d/login 检查是否有下列行: 默认情况root是不能telnet连接主机的,检查下列行未被注释: auth required pam_securetty.so 或者 more /etc/securetty 检查是否有下列行且且未被注释: console SSH: more /etc/ssh/sshd_config 检查下列行设置是否为no且未被注释 PermitRootLogin no 检查图形界面登录 more /etc/X11/gdm/gdm.conf 检查下列行是否设置为 false AllowRoot=false AllowRemoteRoot=false |
操作步骤 | cp -p /etc/pam.d/login{,.bak} cp -p /etc/securetty{,.bak} cp -p /etc/ssh/sshd_config{,.bak} cp -p /etc/X11/gdm/gdm.conf {,.bak} 新建一个普通用户并设置高强度密码 useradd username passwd username 禁止root远程telnet登录 vim /etc/pam.d/login 去掉auth required pam_securetty so前面的注释 或 vim /etc/securetty 添加一行console 禁止root用户远程ssh登录系统 vim /etc/ssh/sshd_confi 修改PermitRootLogin设置为no 同时保证该行不被注释并重启ssh服务 禁止root图形界面登录 vim /etc/X11/gdm/ |