以下配置修改后,重启ssh生效:
- //重启服务
- service sshd restart
1、设置SSH空闲超时退出时间
描述:设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险
PS:操作时建议做好记录或备份
编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0。 ClientAliveInterval 900 ClientAliveCountMax
2、设置用户权限配置文件的权限
设置用户权限配置文件的权限
执行以下5条命令
chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow
chmod 0644 /etc/group
chmod 0644 /etc/passwd
chmod 0400 /etc/shadow
chmod 0400 /etc/gshadow
访问控制配置文件的权限设置
运行以下4条命令:
chown root:root /etc/hosts.allow
chown root:root /etc/hosts.deny
chmod 644 /etc/hosts.deny
chmod 644 /etc/hosts.allow
3、确保SSH MaxAuthTries设置为3到6之间
描述:设置较低的Max AuthTrimes参数将降低SSH服务器被暴力攻击成功的风险。
在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6,建议为4: MaxAuthTries 4
4、检查密码重用是否受限制
描述:强制用户不重用最近使用的密码,降低密码猜测攻击风险
编辑/etc/pam.d/common-password,在"password [success=1 default=ignore] pam_unix.so"开头的这一行增加配置remember设置为5-24之间,建议为5,即在行末尾加上参数remember=5
Port 22960
LoginGraceTime 30 => 允许一次登录花费 30 秒;如果用户花费的时间超过 30 秒,就不允许他访问,必须重新登录
MaxAuthTries 3 => 把错误尝试的次数限制为 3 次,3 次之后拒绝登录尝试
PermitRootLogin no => 不允许任何人作为根用户登录,这会让黑客攻击更困难
5、设置密码失效时间
描述:设置密码失效时间,强制定期修改密码,减少密码被泄漏和猜测风险,使用非密码登陆方式(如密钥对)请忽略此项。
使用非密码登陆方式如密钥对,请忽略此项。在 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如 PASS_MAX_DAYS 90。需同时执行命令设置root密码失效时间: chage --maxdays 90 root。
6、设置密码修改最小间隔时间
描述:设置密码修改最小间隔时间,限制密码更改过于频繁
在 /etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7: PASS_MIN_DAYS 7 需同时执行命令为root用户设置: chage --mindays 7 root