.一、账号安全基本措施
1.1 系统账号清理
(1)将非登录用户的shell设为/sbin/nologin
命令:
- user -s /sbin/nologin 用户名
(2)锁定长期不使用的账号
- passwd -l 用户名 (锁定用户密码)
- usermod -L 用户名 (锁定用户)
(3)删除无用账号
- userdel -r 用户名
(4)锁定账号文件
- chattr +i /etc/passwd (锁定文件passwd)
- chattr -i /etc/passwd (解锁文件passwd)
- lsattr /etc/passwd (查看passwd文件状态)
1.2 密码安全控制
(1)设置密码有效期
- 通过修改密码配置文件/etc/login.defs,改变账号创建时的密码最大有效期(只针对新建用户有效)
新建用户test的密码最大有效期为30天
- 针对现有用户修改密码有效期,使用命令:chage
-M:指定密码保持有效的最大天数
(2)强制用户下次登录时修改密码
可以看到第3个字段被改为0,强制用户下次登陆时需要修改密码
可以查看到再次登录是需要修改密码的,此时修改的密码会有要求,要求需大于8个字符
1.3 命令的历史限制
(1)history -c 临时修改
(2)修改配置文件/etc/profile
[root@localhost ~]# vim /etc/profile ##进入修改配置文件
46 HISTSIZE=20 ##将第46行的历史记录条数进行修改;20表示只记录20条历史记录
1.4 设置登录超时时间(主要针对远程连接工具)
[root@localhost ~]# vim /etc/profile ##进入配置文件
TMOUT=600 ##低行添加,表示600秒无操作就自动登出
[root@localhost ~]# source /etc/profile ##刷新
二、使用su命令切换
用途:切换用户
格式:su - 目标用户
2.1 wheel组
概念:wheel组是一个特殊的组,用于控制用户的访问权限,加入wheel组后,就可以和管理员用户一样使用一些敏感命令,wheel组默认是空的,需要手动添加
sudo命令:敏感命令前加sudo,就可以和管理员一样执行管理员才可以执行的命令,但是这个用户必须是加入wheel组的
[root@localhost ~]# vim /etc/pam.d/su ##进入配置文件
6 auth required pam_wheel.so use_uid ##将第6行的注释删除,此行表示普通用户之间切换将会收到限制,除非加入wheel组
[root@localhost ~]# gpasswd -a test wheel ##将用户test加入wheel组
2.2 PAM安全验证
相当于身份认证的框架,提供一种标准的身份认证接口,管理员可以定制化配置各种认证
(1)认证原理(机制)
- 先查看配置文件
- su命令是否启动
- 用户UID在不在wheel组
- 在,正常切换/不在,切换失败
(2)PAM认证的构成
- 认证类型
- 控制类型
- PAM模型类型
- auth:用户身份认证
- account:账户的有效性
- password:用户修改密码时的机制校验
- seession:会话控制,控制最多打开文件数,能打开多少进程
- required:一票否决,只有认证成功才能进行下一步,如果认证失败,结果也不会立即通知用户,而是等所有步骤走完
- requisite:一票否决,只要返回失败,立刻反馈用户
- suffericient:一票通过,返回成功,就不会执行跟他相同模块内的认证,其他认证失败,也会忽略
- optional:不用验证,只显示信息,可选项
三、使用sudo机制提升权限
用途:以其他用户执行授权命令
用法格式:sudo 授权命令
例1:对zgc用户使用sudo命令做限制,限制只能使用特定命令
- 未限制之前:用户zgc使用sudo命令可删除/opt目录下的文件,所以需要对zgc用户进行限制
- 对zgc用户使用sudo命令进行限制
[root@localhost opt]# vim /etc/sudoers ##进入配置文件
99 #%wheel ALL=(ALL) ALL ##对第99行添加注释
102 # %wheel ALL=(ALL) NOPASSWD: ALL ##对第102行添加注释
zgc ALL=(root) /sbin/ifconfig,/bin/touch ##在低行添加表示用户zgc只能使用ifconfig和touch命令
- 限制之后:用户zgc使用sudo命令无法删除;同时可以使用允许使用的命令
例2:对zgc用户使用sudo命令做限制,限制哪些命令不能使用
[root@localhost ~]# vim /etc/sudoers ##进入配置文件
zgc ALL=(root) ALL ##在低行添加,此命令表示允许用户执行管理员所有能够使用的命令
- 配置完允许指定所有权限后:用户zgc可删除可创建文件可刷新
- 配置文件:
- 配置 完后:无法删除和创建
四、开关机安全控制
- 设置grub菜单密码: