公司的產(chǎn)品一直運(yùn)行在云服務(wù)器上,從而有幸接觸過aws的ec2,盛大的云服務(wù)器,最近準(zhǔn)備有使用阿里云的彈性計(jì)算(云服務(wù)器)。前兩種云服務(wù)器在安全策略這塊做的比較好,提供簡單明了的配置界面,而且給了默認(rèn)的安全策略,反觀阿里云服務(wù)器,安全策略需要自己去配置,甚至centos機(jī)器上都沒有預(yù)裝iptables(起碼我們申請(qǐng)兩臺(tái)上都沒有),算好可以使用yum來安裝,安裝命令如下: yum install -y iptables iptables安裝好后就可以來配置規(guī)則了。由于作為web服務(wù)器來使用,所以對(duì)外要開放 80 端口,另外肯定要通過ssh進(jìn)行服務(wù)器管理,22 端口也要對(duì)外開放,當(dāng)然最好是把ssh服務(wù)的默認(rèn)端口改掉,在公網(wǎng)上會(huì)有很多人試圖破解密碼的,如果修改端口,記得要把該端口對(duì)外開發(fā),否則連不上就悲劇了。下面提供配置規(guī)則的詳細(xì)說明: 第一步:清空所有規(guī)則當(dāng)Chain INPUT (policy DROP)時(shí)執(zhí)行/sbin/iptables -F后,你將和服務(wù)器斷開連接所有在清空所有規(guī)則前把policy DROP該為INPUT,防止悲劇發(fā)生,小心小心再小心/sbin/iptables -P INPUT ACCEPT清空所有規(guī)則/sbin/iptables -F/sbin/iptables -X計(jì)數(shù)器置0/sbin/iptables -Z第二步:設(shè)置規(guī)則允許來自于lo接口的數(shù)據(jù)包,如果沒有此規(guī)則,你將不能通過127.0.0.1訪問本地服務(wù),例如ping 127.0.0.1/sbin/iptables -A INPUT -i lo -j ACCEPT 開放TCP協(xié)議22端口,以便能ssh,如果你是在有固定ip的場所,可以使用 -s 來限定客戶端的ip/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT開放TCP協(xié)議80端口供web服務(wù)/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT10.241.121.15是另外一臺(tái)服務(wù)器的內(nèi)網(wǎng)ip,由于之間有通信,接受所有來自10.241.121.15的TCP請(qǐng)求/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這條規(guī)則參看:http://www./iptables-localhost-not-access-internet.html/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT屏蔽上述規(guī)則以為的所有請(qǐng)求,不可缺少,否則防火墻沒有任何過濾的功能/sbin/iptables -P INPUT DROP可以使用 iptables -L -n 查看規(guī)則是否生效 至此防火墻就算配置好,但是這是臨時(shí)的,當(dāng)重啟iptables或重啟機(jī)器,上述配置就會(huì)被清空,要想永久生效,還需要如下操作: /etc/init.d/iptables save 或service iptables save執(zhí)行上述命令可以在文件 /etc/sysconfig/iptables 中看到配置 以下提供一個(gè)干凈的配置腳本: /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 最后執(zhí)行 service iptables save ,先確保ssh連接沒有問題,防止規(guī)則錯(cuò)誤,導(dǎo)致無法連上服務(wù)器,因?yàn)闆]有save,重啟服務(wù)器規(guī)則都失效,否則就只有去機(jī)房才能修改規(guī)則了。也可以參考:ubuntu iptables 配置腳本來寫一個(gè)腳本。 最后再次提醒,在清空規(guī)則之前一定要小心,確保Chain INPUT (policy ACCEPT)。 |
|