1、系统安全
1.1新服务器,部署服务器初始化
(1)配置ip地址、网关、DNS解析(static),内网外网的配置
(2)安装源,外网(在线即可),内网(没有光盘镜像只能用源码包编译安装)
(3)磁盘分区,lvm raid
(4)系统权限配置和基础的安全加固
1.2系统安全核心
1、保护数据安全,客户信息,财务信息
2、从事互联网、网络业务服务,必须要通过工信部的资质审核。
3、保护品牌形象,信息安全是红线
2、应用
2.1对文件用户的操作
2.1.1不需要或者不想登录的用户设置为nologin
命令:usermod -s nologin 用户名 (需要管理员权限)
2.1.2锁定用户
usermod -L 用户名 锁定
usermod -U 用户名 解锁
passwd -l 锁定
passwd -u 解锁
2.1.3删除无用账号
userdel -r 用户名
2.1.4锁定重要文件
如:passwd shadow fstab ifcfg-ens33
查看文件状态:lsattr
锁定文件:chattr +i /etc/passwd /etc/shadow
解锁文件:chattr -i /etc/passwd /etc/shadow
2.2密码安全控制:修改有效期
新建用户:vim /etc/login.defs (已有用户不受影响)
cat /etc/passwd查看修改成功
已有用户:chage -M 有效天数 用户名
强制用户在下一次登录的时候修改密码:chage -d 0 用户名
2.3限制命令的历史记录
history查看历史记录
history -c 临时清空,重启之后历史记录会再次显示
修改历史记录,改全局配置文件 vim /etc/profile,历史记录改为60-100条,保存退出之后source立即生效
设置登录的超时时间:
vim /etc/profile 手动加入 TMOUT=10,10秒没有操作自动退出
工作中设置为600秒,TMOUT=600
2.4如何对用户切换进行限制
2.4.1su命令
su 切换用户
su+用户名 :不会更改环境变量,用的还是之前用户的shell
su - 用户名:使用用户自己的环境
如果在root用户下,su相当于刷新
如果是普通用户就是切换回root
限制用户使用su命令
2.4.2PAM安全认证
PAM安全认证:Linux系统身份认证的架构,提供了一种标准的身份认证的接口,允许管理员可以自定义认证的方式和方法。
PAM认证是一个可插拔式的模式
PAM的认证类型:
认证模块:验证用户的身份,基于密码的认证方式
授权模块:控制用户对系统资源的访问,文件权限,进程的权限
账户管理模块:管理用户账户信息,密码过期策略,账户锁定策略
会话管理模块:管理用户会话,注销用户等
PAM安全认证流程
required:一票否决,只有成功才能通过认证,认证失败,也不会立刻结束,只有所有的要素认证完整才会最终返回结束, 。必要条件
requisite:一票否决,只有成功才能通过,但是一旦失败,其他要素不再认证,立刻结束。必要条件
sufficient:一票通过,成功了之后就是满足条件,但是失败了也可忽略,成功了执行验证成功的结果,失败返回验证失败的结果,最终的结果。充分条件
optional:选项,反馈给用户的提示或者结果
认证方式的控制位:必须要满足充分和必要条件才能通过
vim /etc/pam.d/su 进入配置文件,将auth前面的#号删掉,取消注释,可以被执行
2.4.3wheel(wheel组)
在组文件中没有,是隐藏的,特殊组,用来控制系统管理员的权限的一个特殊组
wheel组专门用来为root服务
具体来说,如果普通用户加入到了wheel组就可以拥有管理员才能执行的一些权限
前面必须要加上sudo,sudo之后就可以使用wheel组的特殊权限
wheel组默认是空的,没有任何成员,需要管理员账号手动添加
配置sudo的规则,然后以sudo的方式,才能够运行特定的指令(管理员才能执行的权限)
wheel组的权限很大,配置的时候要以最小权限的原则进行配置
加入wheel组命令:gpasswd -a 用户名 wheel
谁在这个组就可以切换
test2没有加入wheel组,无权限访问
2.4.4sudo
sudo相当于给普通用户赋予管理员的权限(最小权限,管理员可以使用的命令)
vim /etc/sudoers 进入配置文件,只能wq!强制保存退出
加#号注释
从101行开始插入,用户名dn,声明可用权限为添加密码(可添加多个权限,用,号隔开)
将dn加入到wheel中,可以直接添加密码
不加sudo权限不够,无法操作
2.4.5开关机安全控制
grub菜单加密
此界面按e进入grub菜单
命令:grub2-setpasswd 设置密码,重启进入虚拟机,需要输入密码才可进入grub菜单
2.4.5弱口令检测扫描工具
密码设置太简单会被提示修改
安装john解包,并安装依赖环境
进入src这个目录,编译环境
密码破解