关于账户安全加固

关于Linux的不同版本操作系统,可能会存在差异(以下使用CentOS7)。

1. 设置系统账户

屏蔽系统账户

为防止通过常规方式登录系统,需要对用于服务或后台的系统账户(这类账户不需要登录功能)的Shell进行设置,以便无法通过SSH或本地终端登录系统。

#设置系统账户的Shell修改为/sbin/nologin 
usermod -L -s /sbin/nologin systemaccount  #systemaccount为系统账户 

#查看当前账户的Shell 
cat /etc/passwd | grep “systemaccount”  #systemaccount为具体用户名

系统账户的id在0-999之间,root用户id为0。

2.设置口令

设置口令复杂度

通过配置/etc/pam.d/password-auth和/etc/pam.d/system-auth文件中pam_pwquality.so和pam_pwhistory.so模块实现。

pam_pwquality.so配置项说明

配置项说明
minlen=x口令长度至少包含x个字符
minclass=x口令至少包含大写字母、小写字母、数字和特殊字符中的任意x种
ucredit=x口令包含任意x个大写字母
lcredit=x口令包含任意x个小写字母
dcredit=x口令包含任意x个数字
ocredit=x口令包含任意x个特殊字符
retry=x每次修改最多可以尝试x次
enforce_for_root本设置对root账户同样有效
usercheck=1确保口令中不包含账号字符串
try_first_pass使用第一次输入的密码尝试认证
local_users_only仅对本地用户执行检查

控制标志说明

控制标志说明
required该模块认证成功过程继续;若认证失败仍会处理余下模块
requisite该模块认证成功过程继续;若认证失败会终止处理余下模块
sufficient该模块的成功结果足以认证过程成功,忽略剩下的模块。如果失败,继续处理剩下的模块,不影响最终结果
optional成功与否不会影响最终结果

设置口令有效期

通过配置/etc/login.defs文件实现。

配置项说明
PASS_MAX_DAYS口令最大有效期
PASS_MIN_DAYS两次修改口令最小间隔
PASS_WARN_AGE口令过期前开始提示天数

设置口令加密算法

通过配置改/etc/pam.d/password-auth和/etc/pam.d/system-auth 文件实现。

3.设置su命令

限制su命令

通过配置/etc/pam.d/su文件实现。

仅允许wheel组成员能su命令切换到root用户

加固su命令

防止切换用户将当前用户变量带入其他环境

通过设置/etc/login.defs文件实现。

ALWAYS_SET_PATH=yes/no

4.设置登录

禁止root本地登录

设置/etc/pam.d/system-auth文件,在account模块添加pam_access.so模块,且在sufficient控制行之前加载。

#检查是否设置了对root用户登录tty的限制 
grep "^-:root" /etc/security/access.conf

多次登录失败设置

通过设置/etc/pam.d/password-auth和/etc/pam.d/system-auth文件实现

配置项说明
authfai捕获用户登录失败的事件
deny=x用户连续登录失败次数超过x次即被锁定
unlock_time=x普通用户自动解锁时间为x秒
even_deny_root同样限制 root 账户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值