蓝帆天诚
ssh安全设置
日期:2023年04月20日
1、 密码复杂度 centos7
cp /etc/pam.d/system-auth /etc/pam.d/system-authbak
vi /etc/pam.d/system-auth文件
找到 password requisite pam_cracklib.so这么一行注释替换成如下:
password requisite pam_pwquality.so try_first_pass local_users_only retry=5 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
参数含义:
retry=5 定义登录/修改密码失败时,可以重试的次数;
minlen=12 密码最小长度为8个字符。
lcredit=-1 密码应包含的小写字母的至少一个
ucredit=-1 密码应包含的大写字母至少一个
dcredit=-1 将密码包含的数字至少为一个
ocredit=-1 设置其他符号的最小数量,例如@,#、! $%等,至少要有一个
enforce_for_root 确保即使是root用户设置密码,也应强制执行复杂性策略。
2、用户密码的有效期:
vi /etc/login.defs
PASS_MAX_DAYS (密码可以使用的最大天数。)
PASS_MIN_DAYS (密码更改之间允许的最小天数。一般不要设置)
PASS_MIN_LEN (可接受的最小密码长度。)
PASS_WARN_AGE (密码过期前发出警告的天数。)
默认:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
3、设置登录会话超时
10分钟无操作,自动退出会话
vi /etc/profile
TMOUT=600 #600秒超时
source /etc/profile
4、一体机ssh锁定10分钟取消
清空登录失败次数
一旦用户失败登录尝试次数达到3次,该帐户立刻被锁定,除非root用户解锁。root用户下使用如下命令解锁用户:
# pam_tally2 -u username --reset
查看用户登录失败信息:
# pam_tally2 -u username
取消10次错误限制---不建议注释,建议时间改短,这样失败次数还有些安全效果。
使用 sshd 身份验证仅输入错误密码一次后用户帐户被锁定(文档 ID 1989029.1)
# vi /etc/pam.d/sshd
--找到并注释掉下面这一行内容:
# auth required pam_tally2.so deny=5 onerr=fail lock_time=600 serialize
vi /etc/pam.d/login
--找到并注释掉下面这一行内容:建议lock_time=5 锁定5秒
#auth required pam_tally2.so deny=5 onerr=fail lock_time=600 serialize
5、SSH登录Linux多次连续错误密码导致用户锁定
方法一:root用户未被锁定时
执行如下命令,查看系统全局PAM配置文件。
cat /etc/pam.d/system-auth
执行如下命令,查看本地终端对应的PAM配置文件。
cat /etc/pam.d/login
执行如下命令,查看SSH服务对应的PAM配置文件。
cat /etc/pam.d/sshd
通过vi或vim命令编辑以上对应文件内容,注释、修改或删除以上文件中出现的如下代码。
提示:此处以注释为例。(/etc/pam.d/login和/etc/pam.d/sshd 里面对应的内容)
#auth required pam_tally2.so deny=3 unlock_time=5 #注释后
#auth required pam_tally.so onerr=fail no_magic_root #注释后
#auth requeired pam_tally2.so deny=5 lock_time=30 unlock_time=10 even_deny_root root_unlock_time=10 #注释后
注:
pam_tally2与pam_tally模块都可以用于账户锁定策略控制。两者的区别是前者增加了自动解锁时间的功能(unlock_time)。
even_deny_root指限制root用户。
deny指设置普通用户和root用户连续错误登录的最大次数,超过最大次数,则锁定该用户。
unlock_time指设定普通用户锁定后,多少时间后解锁,单位是秒。
root_unlock_time指设定root用户锁定后,多少时间后解锁,单位是秒。
方法二:root用户被锁定时
参考管理终端,通过单用户模式登录。在单用户模式下,依次执行如下命令,手动解锁root用户。
pam_tally2 -u root #查看root用户登录密码连续输入错误次数。
pam_tally2 -u root -r #清除root用户密码连续输入错误次数。
authconfig --disableldap --update #更新PAM安全认证记录。
cp /etc/pam.d/system-auth /etc/pam.d/system-authbak
vi /etc/pam.d/system-auth文件
找到 password requisite pam_cracklib.so这么一行注释替换成如下:
password requisite pam_pwquality.so try_first_pass local_users_only retry=5 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
参数含义:
retry=5 定义登录/修改密码失败时,可以重试的次数;
minlen=12 密码最小长度为8个字符。
lcredit=-1 密码应包含的小写字母的至少一个
ucredit=-1 密码应包含的大写字母至少一个
dcredit=-1 将密码包含的数字至少为一个
ocredit=-1 设置其他符号的最小数量,例如@,#、! $%等,至少要有一个
enforce_for_root 确保即使是root用户设置密码,也应强制执行复杂性策略。
2、用户密码的有效期:
vi /etc/login.defs
PASS_MAX_DAYS (密码可以使用的最大天数。)
PASS_MIN_DAYS (密码更改之间允许的最小天数。一般不要设置)
PASS_MIN_LEN (可接受的最小密码长度。)
PASS_WARN_AGE (密码过期前发出警告的天数。)
默认:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
3、设置登录会话超时
10分钟无操作,自动退出会话
vi /etc/profile
TMOUT=600 #600秒超时
source /etc/profile
4、一体机ssh锁定10分钟取消
清空登录失败次数
一旦用户失败登录尝试次数达到3次,该帐户立刻被锁定,除非root用户解锁。root用户下使用如下命令解锁用户:
# pam_tally2 -u username --reset
查看用户登录失败信息:
# pam_tally2 -u username
取消10次错误限制---不建议注释,建议时间改短,这样失败次数还有些安全效果。
使用 sshd 身份验证仅输入错误密码一次后用户帐户被锁定(文档 ID 1989029.1)
# vi /etc/pam.d/sshd
--找到并注释掉下面这一行内容:
# auth required pam_tally2.so deny=5 onerr=fail lock_time=600 serialize
vi /etc/pam.d/login
--找到并注释掉下面这一行内容:建议lock_time=5 锁定5秒
#auth required pam_tally2.so deny=5 onerr=fail lock_time=600 serialize
5、SSH登录Linux多次连续错误密码导致用户锁定
方法一:root用户未被锁定时
执行如下命令,查看系统全局PAM配置文件。
cat /etc/pam.d/system-auth
执行如下命令,查看本地终端对应的PAM配置文件。
cat /etc/pam.d/login
执行如下命令,查看SSH服务对应的PAM配置文件。
cat /etc/pam.d/sshd
通过vi或vim命令编辑以上对应文件内容,注释、修改或删除以上文件中出现的如下代码。
提示:此处以注释为例。(/etc/pam.d/login和/etc/pam.d/sshd 里面对应的内容)
#auth required pam_tally2.so deny=3 unlock_time=5 #注释后
#auth required pam_tally.so onerr=fail no_magic_root #注释后
#auth requeired pam_tally2.so deny=5 lock_time=30 unlock_time=10 even_deny_root root_unlock_time=10 #注释后
注:
pam_tally2与pam_tally模块都可以用于账户锁定策略控制。两者的区别是前者增加了自动解锁时间的功能(unlock_time)。
even_deny_root指限制root用户。
deny指设置普通用户和root用户连续错误登录的最大次数,超过最大次数,则锁定该用户。
unlock_time指设定普通用户锁定后,多少时间后解锁,单位是秒。
root_unlock_time指设定root用户锁定后,多少时间后解锁,单位是秒。
方法二:root用户被锁定时
参考管理终端,通过单用户模式登录。在单用户模式下,依次执行如下命令,手动解锁root用户。
pam_tally2 -u root #查看root用户登录密码连续输入错误次数。
pam_tally2 -u root -r #清除root用户密码连续输入错误次数。
authconfig --disableldap --update #更新PAM安全认证记录。
上一篇:pdb创建及常用命令
下一篇:没有了