1、修改ssh默认端口
默认是20 ,22一般,我们修改成4位数的 比如7873
vim /etc/ssh/sshd_config
修改
Port 787
2、SSHD 强制使用V2安全协议
温馨提示:此方案可以增强对SSH通信的保护,避免敏感数据泄露。
风险描述:未使用安全套接字加密远程管理ssh
解决方案:
1、在【/etc/ssh/sshd_config】文件中添加或修改Protocol 2
2、随后执行命令systemctl restart sshd重启进程
3、禁止SSH空密码用户登录
vim /etc/ssh/sshd_config
修改
PermitEmptyPasswords no
4、确保SSH MaxAuthTries 设置为3-6之间
由于我们这里攻击量较大,所以我设置为3,大家看情况而而定,顾名思义,超过3次错误不可链接
vim /etc/ssh/sshd_config
修改
MaxAuthTries 3
5、设置SSH空闲超时退出时间以及最大连接数
温馨提示:此方案可以增强 SSH 服务的安全性,修复后连接 SSH 长时间无操作会自动退出,防止被他人利用。
将ClientAliveInterval设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3
vim /etc/ssh/sshd_config
修改
ClientAliveInterval 600
ClientAliveCountMax 2
这里我设置的时间为600ms,最大超时连接数为2次
6、确保 SSH LogLevel 设置为 INFO
vim /etc/ssh/sshd_config
修改
LogLevel INFO
此项也是开启,把前面#去掉即可
7、限制密码重复使用次数
此方案通过限制登录密码重复使用次数,加强服务器访问控制保护。
配置文件备份 cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
在【/etc/pam.d/system-auth】文件【password sufficient】后面添加或修改 remember=3
8、SSH 密码修改最小间隔
此方案是设置 SSH 登录密码修改后,多少天之内无法再次修改。
【/etc/login.defs】 PASS_MIN_DAYS 应设置为大于等于 7
PASS_MIN_DAYS 7 需同时执行命令设置 root 密码失效时间 命令如下: chage --mindays 7 root
9、启用 SSH 登录超时配置
将 LoginGraceTime 参数设置为一个较小的数字将最大限度地降低对 SSH 服务器成功进行暴力破解的风险。它还将限制并发的未经身份验证的连接数量。
在【/etc/ssh/sshd_config】文件中设置【LoginGraceTime】为 60
10、检查重要文件是否存在suid和sgid权限
温馨提示:此方案去除了重要文件的特殊权限,可以防止入侵者利用这些文件进行权限提升。
风险描述
存在suid特权的文件:/usr/bin/chage、/usr/bin/gpasswd、/usr/bin/chfn、/usr/bin/chsh、/usr/bin/newgrp、/usr/sbin/usernetctl、/bin/mount、/bin/umount
存在sgid特权的文件:/usr/bin/wall、/usr/bin/write、/sbin/netreport
解决方案
使用 chmod u-s 【文件名】命令去除 suid 权限
使用 chmod g-s 【文件名】去除 sgid 权限
11、bootloader 配置权限检查
温馨提示:此方案可以加强服务器 grub 界面的防护,进一步阻止外部入侵服务器。
风险描述:
以下关键文件或目录权限错误:/boot/grub2/grub.cfg
当前权限: 644 : root
安全权限: 600 : root
解决方案:
根据风险描述提示的文件,对 grub 配置安全的权限
若是 grub2,则:chmod 600 /boot/grub2/grub.cfg、chown root /boot/grub2/grub.cfg
若是 grub,则:chmod 600 /boot/grub/grub.cfg、chown root /boot/grub/grub.cfg
11、检查是否设置无操作超时退出
温馨提示:此方案会使服务器命令行超过一定时间未操作自动关闭,可以加强服务器安全性。
风险描述:未配置命令行超时退出
解决方案:
在文件【/etc/profile】中添加 tmout=300,等保要求不大于 600 秒
执行命令 source /etc/profile 使配置生效
12、检查是否使用 PAM 认证模块禁止wheel组之外的用户 su 为 root
温馨提示:此方案通过禁止低权限用户切换到 root 用户,增强对服务器权限的保护。修复前需要确保业务没有切换 root 的需求,否则忽略此风险项。
风险描述:
在文件【/etc/pam.d/su】中添加 auth required pam_wheel.so
如需配置用户可以切换为 root,则将用户加入 wheel 组,使用命令添加wheel组【addgroup wheel】,再执行命令【gpasswd -a [用户] wheel】
13、用户 FTP 访问安全配置检查
温馨提示:此方案可以增强对FTP服务器的防护,降低服务器被入侵的风险
风险描述:当前pure-ftpd未配置安全访问,在【pure-ftpd.conf】文件中修改/添加Umask的值为177:077
解决方案:在【/www/server/pure-ftpd/etc/pure-ftpd.conf】在配置文件中修改Umask的值为177:077
14、SSH 密码复杂度检查
温馨提示:此方案加强服务器登录密码的复杂度,降低被爆破成功的风险。
风险描述:【/etc/security/pwquality.conf】文件中把minclass设置置为3或者4
解决方案:
1、【/etc/security/pwquality.conf】 把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如:
2、minclass=3