服务器的初始化
新的服务器到手,部署服务器的初始化。
1、配置ip地址 网关 dns解析(static)内网和外网
2、安装源,外网(在线即可)内网(只能用源码包编译安装)
3、磁盘分区,lvm raid磁盘阵列
4、系统权限配置和基础的安全加固
系统安全:
一、保护数据安全。客户信息,财务信息
2、互联网,网络业务服务,必须要通过工信部的资质审核。
3、保护品牌形象。信息安全是红线(千万不要碰)。
应用:
1、不需要或者不想登录的用户设置为nologin。
usermod -s nologin 用户 管理员权限
2、锁定用户:
usermod -L 用户
usermod -U 用户
passwd -l 用户
passwd -u 用户
3、删除无用账号
userdel -r 用户名 #连家目录一并删除
4、锁定重要的文件
passwd shadow fstab ifcfg-ens33
1)查看文件的状态
lsattr /etc/passwd
------------- /etc/passwd
没有状态 lsattr查看文件的状态
2)chattr +i /etc/passwd /etc/shadow #锁定文件状态
3)查看文件状态
lsattr /etc/passwd
------i------ /etc/passwd
文件被锁定了
4)chattr -i /etc/passwd /etc/shadow #解锁文件状态
二、密码安全控制
新建用户
vim /etc/login.defs #在这个文件下修改
已有用户不受影响
PASS_MAX_DAYS 30 设置后面新创的用户有效期为30天
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
已有用户
chage -M 30 用户名
如何强制用户在下一次登录的时候修改密码
chage -d 0 用户名
三、怎么清空所敲的命令
history -c 临时清空所敲的命令
[root@localhost ~]# vim /etc/profile
HISTSIZE=1000 #把1000修改为60-100之间
设置登录的超时时间
[root@localhost ~]# vim /etc/profile
TMOUT=600 #超过600秒不操作就自动退出登录
四、如何对用户切换进行限制
su 切换用户
su 用户名 不会更改环境变量,用的还是之前用户的shell,不完全切换
su - 用户名 使用用户自己的环境 完全切换
如果在root用户下,su相当于刷新。如果是普通用户就是切回root。
[root@localhost ~]# hostnamectl set-hostname test1 #修改主机名
限制用户使用su这个命令?
PAM安全认证:linux系统身份认证的架构,提供了一种标准的身份认证的接口,允许管理员可以自定义认证的方式和方法。
PAM认证是一个可插拔式的默认。(处于一个注释和非注释的状态)
PAM的认证类型:
认证模块: 验证用户的身份,基于密码的认证方式
授权模块: 控制用户对系统资源的访问,文件权限,进程的权限。
账号管理模块: 管理用户账号信息,密码过期策略,账户锁定策略。
会话管理模块: 管理用户会话,注销用户等。
passwd 用户名 有三次机会
1、失败 1、成功
2、失败
3、成功 失败
结束 失败次数过多结束 结束
required:一票否决,只有成功才能通过认证,认证失败,也不会立刻结束,只有所有的要素验证完整才会最终返回结果。必要条件
requisite:一票否决,只有成功才能通过,但是一旦失败,其他要素不再验证,立刻结束,必要条件。
sufficient:一票通过,成功了之后就是满足条件,但是失败了,也可忽略,成功了执行验证成功的结果,失败返回验证失败的结果,最终的结果。充分条件。
optional:选项 反馈给用户的提示或者结果。
控制位:必须要满足充分和必要条件才能通过。
wheel
wheel组:这个在组文件当中没有,隐藏,特殊组。用来控制系统管理员的权限的一个特殊组。
wheel组专门用来为root服务。
具体来说,如果普通用户加入到了wheel组,就可以拥有管理员才能够执行的一些权限。
但前面必须要加上sudo sudo之后可以使用wheel组的特殊权限。
wheel组默认是空的,没有任何成员,需要管理员账好手动添加。
配置sudo的规则,然后以sudo的方式,才能够运行特定的指令(管理员才能够执行的权限)
wheel组的权限很大,配置的时候要以最小权限的原则来配置。
谁在wheel组,谁才有权限
su
sudo 相当于给普通用户赋予管理员的权限(最小权限,管理员可以使用的命令。)
[root@test1 /]# vim /etc/sudoers
100 root ALL=(ALL) ALL
101 dn ALL=(root) /usr/bin/passwd,/usr/bin/mkdir,/usr/bin/touch #将指定用户可以使用的权限给予该用户
102 ## Allows members of the 'sys' group to run networking, software,
103 ## service management apps and more.
104 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
105
106 ## Allows people in group wheel to run all commands
107 #%wheel ALL=(ALL) ALL #这一行没有注释,需注释掉
108
109 ## Same thing without a password
110 # %wheel ALL=(ALL) NOPASSWD: ALL #这一行如没注释,也需注释掉
开关机安全控制:
grub菜单加密:grub2-setpassword
五、总结:
你会做哪些系统加固
1、锁定重要文件
2、修改history命令的历史记录
3、禁止普通用户切换用户
4、设置sudo权限,给普通用户
5、设置grub菜单加密
6、把一些默认的端口号,大家都知道的端口号改掉
7、内核参数修改
vim /etc/sysctl.conf
内核参数的配置文件