一、账号安全控制
1.1系统账号清理
将用户设置为无法登陆
锁定账户
删除账户
设定账户密码,本质锁定
锁定配置文件-chattr:
-a 让文件或目录仅供附加用途。只能追加
-i 不得任意更动文件或目录。
1.2密码安全控制
chage
1.3历史命令
history:查看历史命令,默认一千条
history -c 清空历史命令
二、切换用户
2.1用户切换su命令
su命令可以切换用户身份,并且以指定用户的身份执行命令。
pam_rootok.so root不需要密码
pam_wheel.so 只有wheel组才可以切换
$ su root 切换至root用户
wohami 显示当前登录的用户
2.2查看su命令的操作日志,绝对路径:/var/log/secure
这里可以用less或tail查看,这里推荐tail
2.3用户提权 sudo
命令格式 sudo [选项] 命令
选项 | 功能 |
-V | 显示版本编号 |
-l | 显示出自己的权限 |
-k | 将会强制使用者在下一次执行sudo时需要输入密码(无论多久) |
-p | 可以更改问密码的提示语,其中%u会代换为使用者的账号名称,%h会显示主机名称 |
-u 用户名 | 指定用户的权限 |
-s | 执行环境变数中的SHELL所指定的shell |
2.3.1编辑配置文件的绝对路径
vim /etc/sudoers
2.3.2配置详解
1.root字段:用户名或UID,%组名或%GID
2.第一个ALL字段:IP地址或主机名,ALL代表任意主机
3.第二个ALL字段:用户字段,用户名或UID,ALL代表任意用户
4.第三个ALL字段:命令字段(绝对路径)可以是,命令名(command name),文件夹里的命令(directory),可以编辑sudoers这个文件(sudoedit),变相变成管理员。
2.3.4sudo 子目录
如果将所有提权都放在配置文件/etc/sudoers下不便于管理,可以通过在/etc/soduers.d/下创建子目录,可以更好地管理sudo的授权规则
三、PAM安全认证流程
PAM提供了灵活和可定制的用户身份验证框架,使系统管理员能够根据需要配置和管理身份验证方式。
3.1PAM相关文件
模块文件目录:/lib64/security/*.so
特定模块相关的设置文件:/etc/security/
man 8 +模块名:查看帮助
3.2PAM工作原理
PAM认证遵循顺序 Service(服务)---PAM(配置文件)---pam_*.so
这里查看su的PAM配置文件做实例,cat /etc/pam.d/su
3.2.1第一模块类型
1.auth:账号的认证和授权,用户名
2.Account:账户的有效性,与账户管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例:root用户只能从控制台登录)
3.Password:用户修改密码时密码复杂度检查机制等功能
4.Session:用户会话期间的控制,如:最多打开的文件数,最多的进程数等
5.-type:表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用
3.2.2第二模块类型Contrl Flags,PAM验证类型的返回结果
1.required验证失败时依然继续,但返回Fail
2.requisite验证失败则立即结束整个验证过程,返回Fail
3.sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
4.optional不用于验证,只显示信息(通常用于session类型)
3.2.3第三列要调用的功能或参数
PAM验证
3.2.4shell模块
功能 | 检查有效shell |
帮助命令格式 | man pam shells |
案例 | 不允许使用/bin/csh的用户本地登录 |
模块 | pam_shells.so只允许规定的shell类型通过,是在/etc/shells文件中存在的类型通过 |
四、*limit
ulimit -a:查看全部内核
vim /etc/sysctl.conf:专门用来修改内核参数的
内核参数:
只读:只用于输出信息
五、grub加密
/etc/grub.d-目录
00_header | 设置grub默认参数 |
10_linux | 系统中存在多个linux版本 |
20_ppc_terminfo | 设置tty控制台 |
30_os_prober | 设置其他分区中的系统(硬盘中有多个操作系统时设置) |
40_custom和41_custom | 用户自定义的配置 |
5.1GRUB 2 加密
由于GRUB 2负责引导linux系统,其作为系统中的第一道屏障的安全性非常重要,对GRUB 2进行加密可以实现安全性。
GRUB 2密码支持以下两种格式:
明文密码:密码数据没有经过加密,安全性差
PBKDF2加密密码:密码经过PBKDF2哈希算法进行加密,在文件中存储的是加密后的密码数据,安全性较高。