1. 身份鉴别:确保root是唯一的UID为0的账户,除root以外其他UID为0的用户都应该删除,或者为其分配新的UID
除root以外其他UID为0的用户都应该删除,或者为其分配新的UID
查看命令:
cat /etc/passwd | awk -F: '($3 == 0) { print $1 }'|grep -v '^root$'
2. 身份鉴别:密码复杂度检查,检查密码长度和密码是否使用多种字符类型
编辑/etc/security/pwquality.conf
,把minlen(密码最小长度)设置为9-32位,把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如: minlen=10 minclass=3
3.
身份鉴别:检查密码重用是否受限制,强制用户不使用最近使用的密码,降低猜测密码攻击风险
在/etc/pam.d/password-auth
和/etc/pam.d/system-auth
中password sufficient pam_unix.so
这行的末尾配置remember参数为5-24之间,原来的内容不用更改, 只在末尾加了remember=5
。
4.服务配置:确保ssh loglevel
设置为info,记录登录和注销活动
编辑 /etc/ssh/sshd_config
文件以按如下方式设置参数(取消注释): LogLevel INFO
5.
服务配置:确保SSH MaxAuthTries
设置为3到6之间,设置较低的Max AuthTrimes
参数将降低SSH服务器被暴力攻击成功的风险
在/etc/ssh/sshd_config
中取消MaxAuthTries
注释符号#,设置最大密码尝试失败次数3-6,建议为4:MaxAuthTries 4
6.
服务配置:禁止ssh空密码账户登录
编辑文件/etc/ssh/sshd_config
,将PermitEmptyPasswords
配置为no:PermitEmptyPasswords no
7.
服务配置:设置ssh空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险
编辑/etc/ssh/sshd_config
,将ClientAliveInterval
设置为300到900,即5-15分钟,将ClientAliveCountMax
设置为0-3。
8.安全审计:确保rsyslog服务已启用,记录日志以供审计
ps -ef|grep -v grep|grep rsyslog
运行以下命令启用rsyslog服务:
systemctl enable rsyslog
systemctl start rsyslog
9.查看可以日志记录
命令:lastlog
查看最近 登录的ip地址列表中是否存在可疑ip
|
10.防火墙
查看状态
systemctl status firewalld
# 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop
查询、开放、关闭端口
# 查询端口是否开放 firewall-cmd --query-port=8080/tcp # 开放80端口 firewall-cmd --permanent --add-port=80/tcp # 移除端口 firewall-cmd --permanent --remove-port=8080/tcp
11.高危漏洞
查看可以升级的软件
yum check-update
更新软件
yum upgrade