首先,SSH的端口22自然是需要开放的,否则我们就无法登录服务器了。
一般来讲,CentOS的VPS经常作为用LAMP搭建的Web服务器,FTP服务器,Mail服务器等。
对于Web服务来说,需要开放80端口,如果是HTTPS/SSL协议的话,还需用开放443端口
对于Mail服务来说,由于涉及SMTP,POP3,IMAP协议,需要开放的端口如下:
SMTP:25SecureSMTP:465POP3:110SecurePOP3:995IMAP:143IMAPoverSSL:993
对于FTP服务来说,需要开放20,21两个端口
第一步:屏蔽最常见的攻击
缺省情况下,CentOS的iptables的设置是允许任何数据通过的。
我们首先要清空iptables中的所有的规则:
复制代码
iptables-F
然后我们加上阻止简单扫描和攻击的规则
复制代码
iptables-AINPUT-ptcp--tcp-flagsALLNONE-jDROP#NONE包(所有标识bit都没有设置)主要是扫描类的数据包
iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROP#防止sync-flood攻击
iptables-AINPUT-ptcp--tcp-flagsALLALL-jDROP#ALL包(所有的标注bit都被设置了)也是网络扫描的数据包
关于sync-flood,请参照wikipedia的解释。
第二步:为相应的服务开放对应的端口
首先我们应该接受本机localhost的任何请求,否则,数据库连接等将无法工作
1
iptables-AINPUT-ilo-jACCEPT
对于不同的服务需要开放不同的端口
复制代码
iptables-AINPUT-ptcp--dport22-jACCEPT#SSH
iptables-AINPUT-ptcp--dport80-jACCEPT#HTTP
iptables-AINPUT-ptcp--dport443-jACCEPT#HTTPS
iptables-AINPUT-ptcp--dport25-jACCEPT#SMTP
iptables-AINPUT-ptcp--dport465-jACCEPT#SecureSMTP
iptables-AINPUT-ptcp--dport110-jACCEPT#POP3
iptables-AINPUT-ptcp--dport995-jACCEPT#SecurePOP3
iptables-AINPUT-ptcp--dport143-jACCEPT#IMAP
iptables-AINPUT-ptcp--dport993-jACCEPT#SecureIMAP
第三步:加上通用的规则
首先要允许所有从服务器端发起的连接,由此返回的响应数据应该是允许的!比如VPS发起的yumupdate,必须要允许外部的update数据进来
复制代码
iptables-IINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
最后,设置缺省的策略:屏蔽任何进入的数据请求,允许所有从Server发出的请求
复制代码
iptables-POUTPUTACCEPT</p>
<p>iptables-PINPUTDROP
至此,规则设置完毕
第四步:保存设置
首先通过下面的命令查看一下我们的设置是否正确!
复制代码
iptable-L-n
确认没有问题后,执行下面的命令
复制代码
serviceiptablessave
执行上述命令后,相应的规则会写入/etc/sysconfig/iptables这个文件,你可以检查一下看看。










