陈德馨

阿里云CentOS服务器安全设置方案

3868人参与 |分类: 运维时间|时间:2016年07月28日 23:23

在几年前,陈德馨上班的一家公司有用云服务器,从而有幸接触过亚马逊旗下云计算平台AWS的EC2,后来又帮客户代维护过盛大的云服务器,再到后来自己开始使用阿里云的弹性计算(云服务器)。从我自己的使用感觉来说,前两种云服务器在安全策略这块做的比较好,提供简单明了的配置界面,而且给了默认的安全策略,而阿里云的云服务器,安全策略需要自己去配置,甚至centos机器上都没有预装iptables。这让很多新手用户有自己在裸奔的感觉。所以,今天我今天想来说说阿里云CentOS服务器的安全设置。

一、开启云盾所有服务。

云盾是阿里巴巴集团多年来安全技术研究积累的成果,结合阿里云云计算平台强大的数据分析能力。可以为中小网站提供如安全漏洞检测、网页木马检测以及面向云服务器用户提供的主机入侵检测、防DDOS等一站式安全服务。而且,云盾产品是免费的,拥有阿里云云服务器即可免费开通云盾服务。

415-01.jpg

二、通过防火墙策略限制对外扫描行为

请您根据您的服务器操作系统,下载对应的脚本运行,运行后您的防火墙策略会封禁对外发包的行为,确保您的主机不会再出现恶意发包的情况,为您进行后续数据备份操作提供足够的时间。

Window2003的批处理文件下载地址:http://oss.aliyuncs.com/aliyunecs/windows2003_drop_port.bat

Window2008的批处理文件下载地址:http://oss.aliyuncs.com/aliyunecs/windows2008_drop_port.bat

Linux系统脚本:http://oss.aliyuncs.com/aliyunecs/linux_drop_port.sh

上述文件下载到机器内部直接执行即可。

三、设置iptables,限制访问

/sbin/iptables -P INPUT ACCEPT  

/sbin/iptables -F  

/sbin/iptables -X  

/sbin/iptables -Z 


/sbin/iptables -A INPUT -i lo -j ACCEPT   

/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT  

/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT  

/sbin/iptables -A INPUT -p tcp --dport 8080 -j ACCEPT  

/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT  

/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT  

/sbin/iptables -P INPUT DROP  

 service iptables save  

以上脚本,在每次重装完系统后执行一次即可,其配置会保存至/etc/sysconfig/iptables

由于作为web服务器来使用,所以对外要开放 80 端口,另外肯定要通过ssh进行服务器管理,22 端口也要对外开放,当然最好是把ssh服务的默认端口改掉,在公网上会有很多人试图破解密码的,如果修改端口,记得要把该端口对外开发,否则连不上就悲剧了。下面提供配置规则的详细说明:

第一步:清空所有规则


当Chain INPUT (policy DROP)时执行/sbin/iptables -F后,你将和服务器断开连接

所有在清空所有规则前把policy DROP该为INPUT,防止悲剧发生,小心小心再小心

/sbin/iptables -P INPUT ACCEPT

清空所有规则

/sbin/iptables -F

/sbin/iptables -X

计数器置0

/sbin/iptables -Z


第二步:设置规则


允许来自于lo接口的数据包,如果没有此规则,你将不能通过127.0.0.1访问本地服务,例如ping 127.0.0.1

/sbin/iptables -A INPUT -i lo -j ACCEPT 


开放TCP协议22端口,以便能ssh,如果你是在有固定ip的场所,可以使用 -s 来限定客户端的ip

/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT


开放TCP协议80端口供web服务

/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT


10.241.121.15是另外一台服务器的内网ip,由于之间有通信,接受所有来自10.241.121.15的TCP请求

/sbin/iptables -A INPUT -p tcp -s 10.241.121.15 -j ACCEPT


接受ping

/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT


这条规则参看:http://www.netingcn.com/iptables-localhost-not-access-internet.html

/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT


屏蔽上述规则以为的所有请求,不可缺少,否则防火墙没有任何过滤的功能

/sbin/iptables -P INPUT DROP


可以使用 iptables -L -n 查看规则是否生效

至此防火墙就算配置好,但是这是临时的,当重启iptables或重启机器,上述配置就会被清空,要想永久生效,还需要如下操作:

/etc/init.d/iptables save   

service iptables save


执行上述命令可以在文件 /etc/sysconfig/iptables 中看到配置

以下提供一个干净的配置脚本:

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -F

/sbin/iptables -X

/sbin/iptables -Z


/sbin/iptables -A INPUT -i lo -j ACCEPT 

/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT

/sbin/iptables -A INPUT -p tcp -s 10.241.121.15 -j ACCEPT

/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

/sbin/iptables -P INPUT DROP 

最后执行 ,先确保ssh连接没有问题,防止规则错误,导致无法连上服务器,因为没有save,重启服务器规则都失效,否则就只有去机房才能修改规则了。也可以参考:ubuntu iptables 配置脚本来写一个脚本。

最后执行 ,先确保ssh连接没有问题,防止规则错误,导致无法连上服务器,因为没有save,重启服务器规则都失效,否则就只有去机房才能修改规则了。也可以参考:ubuntu iptables 配置脚本来写一个脚本。

四、常用网络监控命令

1、netstat -tunl:查看所有正在监听的端口

415-02.jpg

其中123端口用于NTP服务。

2、netstat  -tunp:查看所有已连接的网络连接状态,并显示其PID及程序名称。

415-03.jpg

根据上述结果,可以根据需要kill掉相应进程。

如:

kill -9 1003

3、netstat -tunlp|grep 端口号

netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况,如查看22端口的情况。

415-04.jpg

4、netstat常用选项说明:

-t: tcp   
-u : udp
-l, --listening
       Show only listening sockets.  (These are omitted by default.)
-p, --program
       Show the PID and name of the program to which each socket belongs.
--numeric , -n
Show numerical addresses instead of trying to determine symbolic host, port or user names.

5、修改ssh的监听端口

1、修改 /etc/ssh/sshd_config

原有的port 22

改为port 44

2、重启服务

/etc/init.d/sshd restart

3、查看情况

415-05.jpg

好了,相信认真看过上面文章内容的朋友对阿里云CentOS服务器安全设置方面应该都有一定的了解和认识了。如果有什么好的经验欢迎大家分享和讨论,更欢迎大家给陈德馨博客投稿哦。

最后提供一下上面来自阿里云官方的安全设置策略打包文件。

阿里云安全设置策略打包  (解压密码:www.chendexin.com)

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 1 人评论,请发表您的观点。

  
    
1楼行走在路上   2016-07-29 00:45:04
博主这篇文章写的太实用了,前两天才刚刚购买了阿里云的云服务器,刚好不知道怎么弄呢,现在解决了我的困惑咯,感谢博主!
回复