目录
账号安全基本措施 -系统账号清理
将非登录用户的Shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名
锁定长期不使用的账号 usermod -L用户名passwd-S用户名 passwd- l 用户名 删除无用的账号 userdel[-r] 用户名
账号文件锁定和解锁
chattr锁定文件+i 可以锁定多个文件
chattr锁定文件-i 可以解锁文件
-------i--------就是锁定状态
----------------就是解锁状态
设置密码有效期
进入后gg25到25行把PASS_MAX_DAYS99999改成30表示密码有效期30天
改密码最大有效期: 1、/etc/login.defs 25行最大密码有效期只对新建的用户有效,对已有的用户无效
2、chage-M 30 用户名 对已用用户的生效
3、chage -d 0 用户名
强制在下次登录成功时修改密码
history
对历史输入过的命令进行记录
乱输入也会记录
history -c
临时清除历史记录的命令但重启会恢复
永久修改history
vim /etc/profile 里永久修改
进入使用搜索模式找histsize(历史记录)
把后面的数字改成想要只保存几条最近命令这里是2所有后面再输入history就只显示最近两条命令
vim.bashrc
默认都是插入在行尾
大G小o行尾插入
echo " " > ~/.bash_history清空历史记录文件
当执行 echo " " > ~/.bash_history
命令时,它会将一个空格字符写入到当前用户的 ~/.bash_history
文件中,并覆盖掉原有的历史记录。由于一个空格字符并不是有效的 Linux 命令,因此执行该命令后,原有的命令历史记录实际上已经被删除或清除了。
vim.bash_logout(关机启动)
echo " " > ~/.bash_history清空历史记录文件
也是行尾插入
终端自动注销
一段时间不操作xshell自动断开连接
进入后直接在行尾输入TMOUT=600(单位是秒)
保存退出
出来后都要source一下修改的目录
source /etc/profile
之后就会每间隔600秒自动注销一次
限制使用su命令的用户
将允许使用su命令的用户加入wheel组
启用pam wheel认证模块
[root@localhost ~]# gpasswd -a tsengyia wheel
tsengyia
正在将用户“tsengyia”加入到“wheel”组中
wheel !
wheel 组是一个特殊的组,它通常被用于控制系统管理员 (root) 权限的访问。具体来说,wheel 组可以被用来授权一·些非特权用户访问一些只有管理员才能访问的系统命今或文件,这些用户可以使用 sudo 命令以 root 用户身份执行这些命令或访问这些文件。默认情况下 wheel 组是没有任何成员的,管理员需要手动将用户添加到该组中并配置相应的 sudo 访问规则,以授权这些用户执行特定的命令或访问特定的文件。需要注意的是,在使用 wheel 组授权用户时,管理员应该仔细考虑授权的范围和权限,以免不必要的安全风险。同时,管理员还应该遵循最小权限原则,只授权用户执行必要的任务所需的最小权限,以减少系统遭受攻击的风险。
安全日志的路径
tail -f /var/og/secure
这个命令的作用是在终端实时打印 /var/log/secure
日志文件中的新内容。
Linux中的PAM安全认证
su命令的安全隐患 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root) 的登录密码,带来安全风险
为了加强su命令的使用控制,可借助于PAM认证模块只允许极个别用户使用su命令进行切换PAM(Pluggable Authentication Modules)可插拔式认证模块
是一种高效而且灵活便利的用户级别的认证方式
也是当前Linux服务器普遍使用的认证方式 8/23
pam模块相当于可插拔一样打开即用关闭即失效
PAM 认证模块类型
模块分为四个不同的类型:
认证模块: 用于验证用户身份,例如基于密码的认证方式
授权模块:用于控制用户对系统资源的访问权限,例如文件权限、进程权限等。
账户管理模块:用于管理用户账户信息,例如密码过期策略、账户锁定策略等.
会话管理模块:用于管理用户会话,例如记录用户会话信息、强制注销用户会话等。
PAM认证原理 一般遵循的顺序 Service (服务)-------PAM (配置文件)---------pam_*.so
首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security(就是安全认证文件)下)进行安全认证
用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
不同的应用程序所对应的PAM模块是不同的
[rootelocalhost ky29]# vim /etc/pam.d/su
进入后将required前面的auth前的#去掉
保存退出
第一列的意思是认证类型第二列是控制类型第三列是安全认证模块
Control:( 控制位) required :一票否决,表示本模块必须返回成功才能通过认证,但是如果该模块返回失败,失败结果也不会立即通知用户,而是要等到同一type中的所有模块全部执行完毕,再将失败结果返回给应用程序,即为必要条件
requisite :一票否决,该模块必须返回成功才能通过认证,但是一旦该模块返回失败将不再执行同一type内的任何模块,而是直接将控制权返回给应用程序。是一个必要条件
sufficient :一票通过,表明本模块返回成功则通过身份认证的要求,不必再执行同一type内的其它模块,但如果本模块返回失败可忽略,即为充分条件,优先于前面的
PAM验证流程如下
sudo
使用sudo机制提升权限
su命令的缺点 sudo命令的用途及用法
用途: 以其他用户身份(如root) 执行授权的命令
用法 sudo 授权命令
sudo /etc/sudoers
进入后在底行模式输入set nu给赋予行号
gg+行号92进入92行
这里就是root的权限可以看见全是all就是全部权限开放
如果想给列如dn用户赋予root权限
在尾行插入dn ALL=(root) /sbin/ifconfig,/bin/passwd
记住需要强制保存才能生效
这个是即时生效的不需要source
这是给予dn的权限
这是给dn的限制禁止他用的命令禁止你使用reboot重启禁止关闭计算机禁止使用init命令禁止rm删除命令
开关机的安全控制
grub2 - setsetpassword
这时在开机页面按e进入编辑就需要输入密码
输入root用户再输入面才能进入
通过sudo添加虚拟网卡
禁止用户通过sodu方式获得重启和删除权限