系统安全及其应用
部署服务器的初始化步骤:
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)