当前位置:   article > 正文

Linux系统安全及其应用

Linux系统安全及其应用

一、用户账号安全管理

1.1 系统账号的清理

将不需要登录的用户的登录shell设置为/sbin/nologin。

usermod -s /sbin/nologin 用户  	//需要管理员权限
  • 1

1.2 对用户账号的操作

1.2.1 锁定和解锁用户
usermod -L 用户	//锁定用户
passwd -l 用户	//锁定用户

usermod -U 用户	//解锁用户	
passwd -u 用户	//解锁用户
  • 1
  • 2
  • 3
  • 4
  • 5
1.2.2 删除无用账号
userdel -r 用户	//删除用户及家目录
  • 1

1.3 对重要文件进行锁定

如:passwd shadow fstab ifcfg-ens33等文件

lsattr 文件	//查看文件状态锁定(全- 表示没有状态,有i表示被锁定)
chattr +i 文件	//锁定文件,可多个
chattr -i 文件	//解锁文件
  • 1
  • 2
  • 3

1.4 密码安全控制

1.4.1 新建用户

/etc/login.defs 文件中修改新建用户配置

在第25行,可以改变密码有效期,只对新建用户有效

在这里插入图片描述

1.4.2 已有用户
chage -M 30 用户	//改变已有用户密码有效期为30天
chage -d 0 用户	//使用户密码失效,下次登录时需要重设密码
  • 1
  • 2

二、历史命令管理

2.1 历史命令限制

history			//查看历史命令
history -c		//临时清空历史命令
  • 1
  • 2

永久限制历史命令数量:编辑 /etc/profile进行全局配置,第46行,HISTSIZE 设置为60-80条,保存退出并source,使立即生效

在这里插入图片描述

2.2 自动清空历史命令

vim ~/.bash_logout
echo "" > ~/.bash_history		//注销时自动清空历史命令 

vim ~/.bashrc
echo "" > ~/.bash_history		//登录时自动清空历史命令
  • 1
  • 2
  • 3
  • 4
  • 5

三、设置终端登录的安全管理

3.1 设置终端登录超时

vim /etc/profile ,键入行

TMOUT=600
  • 1

(默认单位:秒):10分钟无操作,终端自动断开。

3.2 禁止普通用户登录

root用户 touch /etc/nologin,可禁止普通用户登录

root用户 rm -rf /etc/nologin,恢复普通用户登录

四、对用户切换进行限制

4.1 su命令

su 用户名:在终端中切换已知密码的用户,root用户切换到普通用户默认不需要密码,普通用户发起的切换需要目标账户的密码。su切换用户不会改变环境变量,用的还是之前用户的shell,是不完全切换。

su - 用户名:登录式切换,读取目标用户的配置文件,切换到家目录。

如果在root用户下,su相当于刷新;如果是普通用户,就是切换回root。

4.2 限制普通用户使用su

4.2.1 wheel组

wheel :wheel组,这个在组文件中查不到,属于特殊组,用来控制系统管理员的权限。专为管理员服务。

如果普通用户加入到wheel组,就能拥有管理员才能执行的一些权限。需要用sudo命令执行wheel组的特殊权限。

vim /etc/pam.d/su    //进入存放wheel组和默认root切换权限的配置
  • 1

在这里插入图片描述

解除注释,保存退出后,可以发现除了wheel组用户和root用户,其他用户都不能切换用户。

wheel组默认是空的,没有任何成员,需要管理员账号手动添加。

gpasswd -a 用户 wheel
  • 1

将用户添加到wheel组,用户即可获得切换用户的权限。

wheel组的权限很大,配置的时候要以最小权限的原则来进行配置。

4.2.2 PAM安全认证

PAM安全认证:Linux系统身份认证的一个架构,提供了一种标准的身份认证的接口,允许管理员定制化地管理认证方式和方法。

PAM认证是一个可插拔式的模块。所谓可插拔,是因为PAM认证的配置文件里,启用和停用只需要改变相应命令行开头的#号即可。

PAM的认证类型

  • 认证模块:验证用户的身份,基于密码的认证。
  • 授权模块:控制用户对系统资源的访问,文件访问、进程权限等。
  • 账户管理模块:管理用户账户的信息,密码过期策略,账户锁定策略等等。
  • 会话管理模块:管理用户会话,注销用户等。

PAM认证:确定服务Service----> 加载/etc/pam.d下的PAM配置文件 ---->调用/lib64/security下的认证文件进行认证。

PAM安全认证流程:

在这里插入图片描述

控制位:

required:只有成功才能通过认证,验证失败也不会立刻结束,只有所有的要素验证完整才会最终返回结果。必要条件。

requisite:只有成功才能通过认证,但是一旦失败,其他要素不再验证,立刻结束。必要条件。

sufficient:一票通过,成功了之后就是满足条件,但是失败了也可忽略。成功了执行验证成功的结果,失败则返回验证失败的结果,是最终的结果。充分条件。

optional:选项,反馈给用户的提示或结果。

4.2.1中提到的su命令配置就是在/etc/pam.d目录下的su文件中进行配置。/etc/pam.d 文件夹中的每个文件对应着一个应用程序或服务,用于指定该程序或服务的身份验证和授权规则。

五、授权用户管理

5.1 sudo命令配置

sudo:相当于给普通用户赋权

配置sudo需要对/etc/sudoers进行编辑

vim /etc/sudoers	//该文档是只读文档,需要wq!强制保存退出
visudo		//快捷打开/etc/sudoers
  • 1
  • 2

进入配置,注释掉图中两行

在这里插入图片描述

再到100行,下行插入

test2	ALL=(root)	/usr/bin/passwd 	//(多个赋权“,”隔开)
用户名	主机名=(用户)   命令
  • 1
  • 2

为test2用户赋权可以调用passwd命令,命令前加NOPASSWD可免密码sudo

test2用户使用授权命令:

sudo passwd test2
  • 1

test2可以给所有用户设置密码(包括root),这种行为很危险。所以sudo的配置一般仅给予需要的最小权限。

注意:第一次执行需要验证密码,默认超时时长为5分钟,在此期间不再重复验证密码

5.2 使用别名批量设置普通用户权限

还是在/etc/sudoers 文件里编辑:

Host_Alias MYHOSTS = localhost 		 //设置主机名,可不设,用ALL匹配
User_Alias MYUSERS = test1,test2	//设置限制的用户,可批量
Cmnd_Alias MYCMNDS = /usr/sbin/*,!/usr/sbin/reboot,!/usr/sbin/poweroff,!/usr/sbin/init,!/usr/bin/rm  		//批量设置命令
// 注意:所有别名必须是全部大写
MYUSERS MYHOSTS=MYCMNDS		//启用配置
  • 1
  • 2
  • 3
  • 4
  • 5

命令授权部分,定义了主机localhost,开放给test1和test2这两个用户/sbin下面所有的命令( *表示全部),除了(!表示取反,即不给权限)重启,关机,改变运行级别和删除。

六、其他

6.1 开关机安全控制

grub2 -setpassword :给grub菜单设置密码,要修改菜单需要此密码

6.2 弱口令扫描工具

弱口令扫描工具:检测过于简单的密码

使用john-1.8.0 工具

yum -y install gcc gcc-c++ make
//安装依赖环境
cd /opt/john-1.8.0/src
//工具解压在/opt目录下
make clean linux-x86-64
cp /etc/shadow /opt/shadow.txt
//复制密码文件到/opt下,
cd ../run
./john /opt/shadow.txt
//扫描密码
./john --show /opt/shadow.txt
//查看扫描情况
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

七、总结

你会做哪些系统加固?

  1. 锁定重要文件
  2. 修改history,命令历史记录
  3. 禁止普通用户切换
  4. 设置sudo权限,给普通用户
  5. 设置grub菜单加密
  6. 把一些默认的端口号改掉
  7. 内核参数调整:vim /etc/sysctl.conf,内核参数的配置文件。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/812900
推荐阅读
相关标签
  

闽ICP备14008679号