Linux系统账号安全
系统安全文章目录系统安全账号安全控制账号安全基本措施系统账号清理密码安全控制命令历史限制终端自动注销su命令切换用户Linux中的PAM安全认证su命令的安全隐患PAM可插拔式认证模块PAM安全认证原理PAM安全认证流程账号安全控制账号安全基本措施系统账号清理将非登录用户的shell设置为/sbin/nologin禁止用户登录usermod -s /sbin/nologin 用户名usermod
·
系统安全
文章目录
账号安全控制
账号安全基本措施
系统账号清理
- 将非登录用户的shell设置为/sbin/nologin禁止用户登录
- usermod -s /sbin/nologin 用户名
- usermod -s /bin/false 用户名
- 锁定长期不使用的账号
- usermod -L 用户名
- passwd -S 用户名
- 删除无用账号
- userdel -r 用户名
- 锁定账号文件
- chattr +i /etc/passwd /etc/shadow ##锁定
- lsattr /etc/passwd /etc/shadow ##查看
- chattr -i /etc/passwd /etc/shadow ##解锁
密码安全控制
- 设置密码有效期
- 要求用户下次登陆时修改密码
chage -M 30 pll ##修改密码有效期为30天,适用于已有用户。
cat /etc/shadow | grep pll ##查看有效期
vi /etc/login.defs ##进入密码配置文件
命令历史限制
- 减少记录的目录条数
-
-
登陆时自动清空历史命令
vim ~/.bashrc ##进入开机启动配置文件 echo '' > ~/.bashrc ##自动清空历史命令
终端自动注销
-
限制500s后自动注销
vim /etc/profile export TMOUT=500 ##设置注销时间为500s source /etc/profile ##重新加载配置文件
su命令切换用户
-
用途及用法
-
用途:Substitute User ,切换用户
-
格式
su - 目标用户
-
-
密码验证
- root -->任意用户,不验证密码
- 普通用户–>其他用户,验证目标用户的密码
su -root whoami ##查看当前用户名
-
限制使用su命令的用户
- 将允许使用su命令的用户加入到wheel组
- 启用pam_wheel认证模块
- 查看su切换用户的操作记录
vim /etc/pam.d/su vim /var/log/secure ##查看日志文件 开启第2行和第6行
Linux中的PAM安全认证
su命令的安全隐患
- 默认情况下,任何用户都运行使用su命令,有机会反复尝试其他用户(root)密码
PAM可插拔式认证模块
-
是一种高效而且灵活便利的用户级别的认证方式
-
也是当前Linux服务器普遍使用的认证方式
PAM安全认证原理
-
一般遵循的顺序
.Service(服务)→PAM(配置文件)→pam *.so
-
首先要确定哪一项服务,然后加载相应的PAM配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证
-
用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
-
不同的应用程序所对应的PAM模块是不同的
-
如果想要查看某个程序是否支持PAM认证,可以使用ls命令,进行查看/etc/pam.d/
每一列的含义
第一列代表PAM认证模块类型 | auth | 对用户身份进行识别,如提示输入面膜,判断是否为root |
account | 对用户身份进行识别,如提示输入面膜,判断是否为root | |
password | 对用户身份进行识别,如提示输入面膜,判断是否为root | |
session | 对用户身份进行识别,如提示输入面膜,判断是否为root | |
第二列代表PAM看着标记 | required | 表示需要返回一个成功值,如果返回失败,不会立即将失败结果返回,而是继续进行同类型的下一步验证,所有此类型的模块都执行完成后,再返回失败 |
requisite | 与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败 | |
sufficient | 如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值 | |
optional | 不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型) | |
include | 表示在验证过程中调用其他的 PAM 配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth (主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项 | |
第三列代表PAM模块 | 默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径 | |
同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数 | ||
第四列代表PAM模块参数 | 根据所使用的模块进行添加 传递给模块的参数,参数可以有多个,之间用空格分隔开 |
PAM安全认证流程
更多推荐
已为社区贡献1条内容
所有评论(0)