如何优化Linux系统的安全和内核
如何优化Linux系统的安全和内核
一、入口安全优化
毫无疑问,我们拿到以后登录做的*一件事便于入口的安全优化,相信做运维的基本都可以理解:较小的权限就是较大的安全。主要优化ssh入口。比如:
(1)ssh配置优化。
修改之前,需要将/etc/ssh/sshd_config备份一个,比如/etc/ssh/sshd_config.old, 主要优化如下参数:
主要目的更改ssh远程端口、禁用root远程登录(本地还是可以root登录的)、禁用dns、防止ssh超时、解决ssh慢,当然也可以启用密钥登录,这个根据公司需求。
注意:修改以后需重启ssh生效,另外需要iptables放行较新ssh端口。
(2)iptables优化。
原则:用到哪些放行哪些,不用的一律禁止。
举下简单的按理:敏感服务比如mysql这种3306控制,默认禁止远程,确实有必要可以放行自己指定IP连接或者通过vpn拨号做跳板连接,不可直接放置于公网;如单位有自己的公网IP或固定IP,那只允许自己的公网IP进行连接ssh或者指定服务端口就更好了。
二、用户权限以及系统安全优化。
(1)非root用户添加以及sudo权限控制。
通过groupadd以及useradd建立普通用户以后,需要配置对应的sudo权限,授权不同登录人员的可执行命令权限。此时建议普通用户禁止sudo su -切换root的权限。
一般是root都在管理人员手中,而运维或者开发都划分其他对应权限,但建议都不能切换root,同时取消useradd、userdel、passwd以及chattr命令的授权。
(2)用户配置文件锁定。
针对/etc/passwd 、/etc/shadow、/etc/group和/etc/gshadow进行chattr +i保护,进一步提供系统用户管理安全。
操作办法:
需要进行用户管理的时候,以root身份进行chattr -i取消保护即可。
(3)服务控制。
默认无关服务都禁止运行并chkconfig xxx off,只保留有用服务。这种如果是云计算厂商提供的,一般都是优化过。如果是自己安装的虚拟机或者托管的机器,那就需要优化下,默认只保留network、sshd、iptables、crond、以及rsyslog等必要服务,一些无关紧要的服务就可以off掉了。
(4)主机名更改以及selinux优化。
ssh登录以后,势必会看到主机名,这个主机名建议根据业务需要进行命名,这个命名同时也方便于我们后续的监控自动添加以及saltstack等批量化管理有帮助。
另外部分厂商提供的服务器selinux不一致,有很多开启的,建议关闭,否则影响个别正常使用,比如安装zabbix-agent以后会提示权限失败。操作方法:
修改/etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled后重启机器即可。
三、内核参数优化。
(1) 文件描述符参数优化。
默认ulinit -n看到的是1024,这种如果系统文件开销量非常大,那么就会遇到各种报错比如:
localhost kernel: VFS: file-max limit 65535 reached或者too many open files 等等,那就是文件句柄打开数量已经超过系统限制,就需要优化了。
这个参数我们优化文件如下:
vim /etc/security/limits.conf
好了,退出当前终端以后重新登录可以看到ulinit -n已经改成了65535
(2)内核参数优化。
具体优化的文件为/etc/sysctl.conf,后尾追加优化参数:
设置完以后执行命令sysctl -p使得配置新配置的内核参数生效。这个内核对系统本身安全以及高并发都非常的有效。
核心优化基本就这么多,其他的优化诸如dns修改、yum源以及字符集之类的,一般用户本地虚拟机机器或者托管的机器拿到做优化,像阿里ECS、aws的EC2等,基本都没必要做这些了。
更多培训课程,学习资讯,课程优惠等学校信息,请进入 大连达内教育大连PHP培训大连Python培训 网站详细了解,免费咨询电话:400-998-6158