系统安全及其应用
部署服务器的初始化步骤:
 1、配置IP地址,网关,DNS解析
 2、安装源,外网(在线即可yum)
 内网(只能用源码包编译安装)
 3、磁盘分区 lvm raid
 4、系统权限配置和基础安全加固
系统安全
1、保护数据安全,客户信息,财务信息。
 2、互联网,网络业务服务,必须要通过工信部的资质审核。
 3、保护品牌形象。信息安全是红线。工资
应用:
1、不需要或者不想登录的用户设置为nologin。
 usermod -s nologin 用户 管理员权限
[root@localhost ~]# usermod -s  nologin    qqq   #qqq用户无法登录系统
[root@localhost ~]# usermod -s /bin/bash  qqq    #qqq用户可以登录系统
2、锁定用户:
 usermod -L 用户 #锁定用户
[root@localhost ~]# usermod -L qqq     锁定用户
[root@localhost ~]# passwd -S qqq      查看用户状态
qqq LK 2024-05-30 0 99999 7 -1 (密码已被锁定。)
 usermod -U 用户 #解锁
[root@localhost ~]# usermod -U qqq
[root@localhost ~]# passwd -S qqq
qqq PS 2024-05-30 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
 passwd -l 用户
[root@localhost ~]# passwd  -l  qqq       #锁定用户qqq的密码
锁定用户 qqq 的密码 。
passwd: 操作成功
 passwd -u
[root@localhost ~]# passwd -u qqq
解锁用户 qqq 的密码。
passwd: 操作成功
3、删除无用账号
 userdel -r 用户名
[root@localhost ~]# userdel -r qqq
4、锁定重要文件
 passwd shadow fstab ifcfg-ens33 (重要文件)
lsattr 文件 查看文件状态
[root@localhost ~]# lsattr /etc/passwd /etc/fstab 
---------------- /etc/passwd
---------------- /etc/fstab                #表示没有状态
锁定/解锁 文件:
[root@localhost ~]# chattr +i    /etc/passwd   多个文件       #锁定
----i----------- /etc/passwd    已经锁定
[root@localhost ~]# chattr -i    /etc/passwd   多个文件       #解锁
---------------- /etc/passwd
二、密码安全控制
1、新建用户:
/etc/login.defs 已有用户不受影响
25 PASS_MAX_DAYS   99999       
2、已有用户
[root@localhost ~]# # chage -M 30 用户名    #指定用户可登录天数
如何强制用户在下一次登录的时候修改密码
[root@localhost ~]# # chage -d 0 用户名    #此用户下次登录修改密码
三、限制命令的历史记录
1、修改历史记录
[root@localhost ~]# history -c               #临时清空
[root@localhost ~]# vim /etc/profile   46 HISTSIZE=8000                   #永久修改历史命令显示8000条
[root@localhost ~]# source /etc/profile         
2、修改登录时间
[root@localhost ~]# vim /etc/profile   加入一行   TMOUT=10                        #10秒中没有操作自动断开   工作中为10分钟(600秒)
[root@localhost ~]# source /etc/profile         
四、如何对用户切换进行限制:
su 切换用户
 su 用户名 不会更改环境变量,用的是之前用户的shell,不完全切换
 su - 用户名 使用 用户自己的环境
 如果在root用户下使用 su 仅限root用户 普通用户使用su是返回root用户
1、限制用户使用su命令?
PAM安全认证:Linux系统身份认证的架构,提供了一种标准的身份认证的接口,允许管理员自定义认证的方式和方法。
 PAM认证是一个可插拔式的模块。注释和非注释
2、PAM的认证类型:
**1、认证模块:**验证用户的身份,基于密码的认证方式
 2、授权模块:控制用户对系统资源的访问,文件权限,进程的权限
 3、账户管理模块:管理用户账户的信息,密码过期策略,账号锁定策略等等
 4、会话管理模块:管理用户会话,注销用户等等

 
3、认证方式的控制位,必须要满足充分条件和必要条件才能通过
required(必要条件):一票否决,只有成功才会通过认证,认证失败,也不会立即结束,只要所有的要素验证才会最终返回结果。
requisite(必要条件):一票否决,只有成功才能通过,但是一旦失败,其他要素不再验证,立刻结束。
suffi0cient(充分条件):一票通过,成功了之后就是满足条件,但是失败了,也可忽略,成功了执行验证成功的结果,失败返回验证失败的结果,失败范围验证失败的结果,最终的结果
optional:反馈给用户的提示或者结果
 控制位 必须要满足充分和必要条件才能通过。
4、wheel
wheel组,在组文件中没有,隐藏,特殊组。用来控制系统管理员的权限的一个特殊组。
 wheel组专门为root服务。
 具体说,如果普通用户加入到wheel组,就可以拥有管理员才能执行的一些权限
 前面必须加上sudo 才可以使用wheel组的特殊权限
 wheel组默认为空,没有任何成员,需要管理员账号手动添加
 配置sudo的规则,然后以sudo方式才能运行特定的指令(管理员才能执行的权限)
 wheel组的权限很大,配置的时候要以最小的权限的原则来进行配置
[root@localhost pam.d]# vim /etc/pam.d/命令名      #删除wheel注释
[root@localhost ~]# # gpasswd     -a      用户名   wheel    #将用户加入wheel组 gpasswd     -d     用户名   wheel    #将用户移除wheel组
哪个用户加入wheel哪个用户可以切换用户
开关机安全控制机制:
 grub菜单
[root@localhost etc]# grub2-setpassword 
最后总结:
 你会哪些系统加固?
 1、锁定重要文件
 2、修改history 命令的历史记录
 3、禁止普通用户切换目录
 4、设置sudo权限,普通用户
 5、设置grub菜单加密
 6、把一些默认端口号修改,大家都指定的端口号改掉
 7、内核参数 参数文件(/etc/sysctl.conf)
t@localhost etc]# grub2-setpassword
最后总结:
你会哪些系统加固?
1、锁定重要文件
2、修改history 命令的历史记录
3、禁止普通用户切换目录
4、设置sudo权限,普通用户
5、设置grub菜单加密
6、把一些默认端口号修改,大家都指定的端口号改掉
7、内核参数  参数文件(/etc/sysctl.conf)