CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制

原文链接: http://blog.51cto.com/14504925/2432827

一、账号安全措施

1、系统账号清理

将非登录用户的Shell设为/sbin/nologin
锁定长期不使用的账户
删除无用的账号
锁定账号文件passwd、shadow
常用命令有
查看当前状态:lsattr /etc/passwd /etc/shadow
锁定文件:chattr +i /etc/passwd /etc/shadow
解锁文件:chattr -i /etc/passwd /etc/shadow
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第1张图片

2、密码安全控制

设置密码有效期
要求用户下次登录时修改密码
常用命令
适用于新建用户:
进入vim /etc/login.defs
PASS_MAX_DAYS 30
适用于已有用户:
chage -M 30 lisi
强制在下次登录时更改密码:
chage -d 0 zhangsan
这条命令执行后,再次登录时,密码必须大于8位,而且不能为连续的字母或数字。
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第2张图片
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第3张图片
创建zhaoliu用户并设置密码
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第4张图片
查看zhaoliu的密码状态
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第5张图片
将;lisi用户设为下次登录修改密码,让wangwu账户的密码时限改为30天
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第6张图片
查看lisi和wangwu的密码状态
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第7张图片

3、命令历史、自动注销

减少记录的命令条数
vim /etc/profile
HISTSIZE=20
source /etc/profile
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第8张图片
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第9张图片
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第10张图片
注销时自动清除命令历史
vim ~/.bash_logout
history -c
clear
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第11张图片
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第12张图片
完成上述配置后当用户退出登录的bash环境后,所记录的历史命令将自动清空。
闲置600秒 后自动注销
vim ~/.bash_profile
export TMOUT=600
source /etc/profile
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第13张图片
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第14张图片
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第15张图片
当界面60秒不用时自动退出

二、用户切换与提权

1、su命令——切换用户

命令用法:su - 目标用户
密码验证:
root——》任意用户,不严重密码
普通用户——》其他用户,验证目标用户密码

限制使用su命令的用户

将允许使用su命令的用户加入wheel组
启用pam_wheel认证模块
常用命令
将用户加入wheel组
gpasswd -a lisi wheel
pam_wheel认证模块命令模式
vim /etc/pam.d/suCentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第16张图片
查看su操作记录
安全日志文件: /var/log/secure

su命令的安全隐患

默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root) 的登录密码,带来安全风险
为了加强su命令的使用控制,可以借助于PAM认证模块,只允许极个别用户使用su命令进行切换

PAM认证

PAM(Pluggable Authentication Modules)可插拔式认证模块, 它是一种高效而且灵活便利的用户级别的认证方式,它也是当前Linux服务器普遍使用的认证方式。
PAM认证一般遵循的顺序: Service (服务) - →>PAM (配置文件) - →pam_ .* .So。
PAM认证首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证。
用户访问服务器的时候,服务器的某-个服务程序把用 户的请求发送到PAM模块进行认证。
不同的应用程序所对应的PAM模块也是不同的。

PAM认证的构成

查看某个程序是否支持PAM认证,可以用Is命令进行查看,例如查看su是否支持PAM模块认证

Is /etc/pam.d | grep su

查看su的PAM配置文件: cat /etc/pam.d/su

每一-行都是一-个独立的认证过程
每一-行可以区分为三个字段
认证类型
控制类型
PAM模块及其参数

PAM安全认证流程

PAM验证流程图

CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第17张图片

控制类型也可以称作Control Flags,用于PAM验证类型的返回结果

1,required验证失败时任然继续,但返回Fail。
2,required验证失败则立即结束整个验证过程,返回Fail
3,sufficient验证成功则立即返回,不再继续,否则忽略结果并继续。
4,optional不用验证,只显示信息(通常用于session类型)
查看系统的安全配置
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第18张图片
进入/etc/pam.d/su开启pam_wheel_so模块
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第19张图片
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第20张图片
将lisi添加到wheel组
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第21张图片

2、使用sudo机制提升权限

sudo命令的用法机用途

用途:以其他用户身份执行授权的命令
用法:sudo 授权命令

配置sudo授权

visudo 或者vim /etc/sudoers
记录格式:用户 主机名列表= 命令程序列表
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第22张图片

常用的类别名有:/bin/rpm、/usr/bin/yum、User_Ailas、Host_Ailas

查看sudo操作记录

需启用Defaults logfile配置
默认日志文件:/var/log/sudo
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第23张图片
CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制_第24张图片

你可能感兴趣的:(CentOS 7 Linux常用命令(10)系统安全及应运(1)账号安全控制)