一、账号安全基本措施
1.系统账号清理
将非登录用户的Shel设为/sbin/nologin usermod -S /sbin/nologin
usermod -s /sbin/nologin lisi
usermod -s /sbin/nologin zhangsan
锁定长期不使用的账号
usermod -L 用户名 #锁定用户
passwd -l 用户名 #锁定用户
passwd -S 用户名 #查看用户状态
删除无用的账号
userdel [-r] 用户名
锁定账号文件passwd、shadow
chattr +i /etc/passwd /etc/shadow #锁定文件
Isattr /etc/passwd /etc/shadow #查看文件属性
chattr -i /etc/passwd /etc/shadow #解锁文件
2.密码安全控制
设置密码有效期 要求用户下次登陆时修改密码
vim /etc/login.defs #用于新建的用户
chage -M 10 lisi #用于已存在的用户
chage -d 0 lisi #下一次登录时需要密码
下一次登入lisi时,需要修改密码,且密码不能过于简单
3.命令历史限制
1)临时历史命令限制
history #查看命令历史记录
history -c #临时隐藏历史记录
vim /etc/profile #永久修改历史记录条数
source /etc/profile #重新加载文件
2)永久历史命令的限制
vim .bashrc #添加命令清除缓存
echo " "> ~/.bash_history
source .bashrc
3)终端自动注销
vim .bash_profile
export TMOUT=60 #添加一行自动注销时间
source .bash_profile
echo $TMOUT
二、用户切换与提权
1.切换用户——su命令
su 用户名
su - 用户名
从root用户切换到普通用户时不需要输入密码 从普通用户切换到root用户时需要输入密码
2.限制使用su命令的用户
将允许使用su命令的用户加入wheel组 启用pam_wheel认证模块
vim /etc/pan.d/su
开启第二行注释第六行是默认状态下,所有用户都可以使用su命令。 注释第二行开启第六行,只有wheel组内的用户才能使用su命令,root用户也无法切换。 注释第二行和第六行,所有用户都可以使用su命令,但是root切换时需要密码。 开启第二行和第六行,只有root用户和wheel组内的用户才可以使用su命令
gpasswd -a 用户 wheel ##添加用户到wheel组中
grep wheel /etc/group ##查看wheel组成员
cat /var/log/secure ##查看su操作记录
三.PAM安全认证
1.PAM及其作用
PAM是Linux系统可插拔认证模块
调用认证文件在/lib64/security下(大概有46个)
2.PAM认证原理
PAM认证顺序:Service(服务)—>PAM(配置文件)—>pam_*.so PAM首先确定服务,然后加载相应的PAM配置文件,最后调用PAM认证模块进行安全认证 用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。 不同的应用程序所对应的PAM 模块也是不同的。 ls /etc/pam.d | grep su ##查看su是否支持PAM模块认证
3.PAM认证的构成
每一行都是一个独立的认证和过程,它们按从上往下的顺序依次由PAM模块调用 每行都有三个分区:认证类型、控制类型、PAM模块、PAM模块参数
cat system-auth
4.PAM控制类型
required 验证失败时仍然继续,但返回Fail(不会立刻返回失败) requisite验证失败则立即结束整个验证过程,返回Fai(会立即返回失败) sufficient验证成功则立即返回,不再继续,否则忽略结果并继续 optional 不用于验证,只显示信息 (通常用于session类型)
四.提升执行权限——sudo命令
作用:提升执行权限(使用其他用户的身份执行) 用法:sudo 授权命令
1.配置sudo授权
使用 visudo 或者 vim /etc/sudoers (440 只能读)
记录格式:用户 主机名列表=命令程序列表(可以使用通配符* 和取反符号!)
visudo
2.授权格式
用户 主机名=命令程序列表
用户 主机名=(用户)命令程序列表
|