系统安全:安装系统时要做的优化

 安装策略

安装系统这么简单的事还要你说吗?实际上安装好一个好用稳定的系统并不是那么容易,我们就从安装系统开始讲起。

l  按需要安装、不用不装

l  基础包要安装好:开发包、基本网络包、基本应用包

例如:

 

有的大公司,可能一下子要安装5000台服务器,仅安装系统的规划就要规则一个星期,因为一旦出了问题,工作量太大了,前期一定要想的周全,规划好。

分区

业务数据和系统最好是独立的磁盘,系统出问题了,我们直接重装系统,不会影响到数据,数据出问题了,我们可以进入到系统进行处理,如果混到一起,就不太好整了。

系统盘推荐raid1,数据盘推荐raid5、raid6。

网络

在网卡配置这一块,建议把UUID和MAC地址去掉,这样会规避到很多抗!

l  如果不删除,克隆的时候会出问题

l  如果不删除,MAC冲突问题

l  如果不删除,网卡绑定时也可能出现问题

l  如果不删除,做集群时LVS-DR可能会出现问题。

在centos6和7出现一个网络管理服务,如果不熟悉的话我们推荐将这个服务给它关闭了,这个服务就是networkmanager,如果不关闭掉它,很有可能会出现你设置了IP地址、DNS之后死活不生效!别问我怎么知道的。

systemctl disable NetworkManager 永久关闭网络管理命令
systemctl stop NetworkManager 临时关闭

主机名

主机名在设置的时候我们最好在/etc/hosts里面做一个本地解析,因为有很多服务默认会读取主机名。

127.0.0.1 HOSTNAME

假如你安装apache或是oracle数据库,如果没有这样的一个配置都会出现警告!而且有的时候可能会导致实例无法启动!!

不要把127.0.0.1替换成网卡的实际地址,如果写成实际的IP地址还要做一个路由,太麻烦。

selinux

推荐关闭掉,有的时候如果你打开,可能平时问题不大,可是一旦出了问题,可能查几天都找不到好的解决方法。

[root@kk ~]# getenforce
Disabled
[root@kk ~]# setenforce 0
setenforce: SELinux is disabled

iptables

iptables就不能关闭了,安全防护里面他很重要了!除了硬件防火墙之外,就指着它来防护了,上次给一个客户安装一个windows server2008,安装好之后出去吃了个饭回来就发现被人攻击了!!现在这个攻击太猖狂了,下面列举出我们公司web服务器的默认策略。

iptables -P INPUT ACCEPT
iptables -F
iptables -A INPUT -p tcp -m tcp --dport  80 -j ACCEPT
iptables -A INPUT -s 1.1.1.1 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 2.2.2.2 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth1 -j  ACCEPT
iptables -A INPUT -i lo -j ACCEPT

iptables
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP iptables -A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP

 可将以上内容放在脚本里面,然后通过自动化部署工具进行部署,完事之后别忘记通过iptables -save命令进行保存。

ssh

ssh的优化非常之重要,百分之九十的攻击都是通过sshd服务进来的。

1. 将sshd_config进行备份

2. 更新默认端口为1万以上的端口,可有效防止nmap之类的扫描工具扫描。

3.UseDNS no   GSSAPIAuthentication no 将这两项禁用,提高连接速度

4.禁止root登录

服务器如果就用密码方式登录,如果很多的话可以考虑通过密钥登录,但是通过密钥登录有一个缺点就是在使用scp的时候不太方便。

sudo

如果ssh不允许通过root登录,可以通过普通用户登录 ,然后sudo切换,sudo一定要配置。

常见配置:

vim /etc/sudoers
user ALL=(ALL)  NOPASSWD:ALL

YUM

推荐两个更新比较快的yum源,已经被centos官方检测过了,放心使用,这两个源并不是下载速度快,而是更新比较快。

EPEL源:https://fedoraproject.org/wiki/EPEL

repoforge:http://repoforge.org/use

安装好这个源之后,使用yum update将所有的软件更新一次。

定时自动更新服务器时间

centos7使用chrony最好,做为后台进程自动随时更新,具体设置参考博客。

精简开机自启动服务

线上服务器建议开启的服务:crond、network、syslog、sshd、iptables、sysstat、udev-post

期中sysstat用来显示系统状态的,而udev-post是用来做硬件的即插即用的。

删除不必要的用户和组

userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp

groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers

定时自动清理垃圾文件

/var/spool/mail   这个文件容易被占满

重要的安全策略

为了防止误操作,可以将下面这几个重要的文件加锁,除了防止黑客之外,还要防止测试人员,测试人员老是捣乱,想要更大的权限,可能就会造成误操作。

 chattr +i /etc/sudoers
 chattr +i /etc/shadow
 chattr +i /etc/passwd
chattr +i  boot/grub2/grub.cfg

[root@kk mail]# chattr +i /boot/grub2/grub.cfg
[root@kk mail]# lsattr /boot/grub2/grub.cfg
----i----------- /boot/grub2/grub.cfg

原文地址:https://www.cnblogs.com/yizhangheka/p/11551188.html