阿里雲ECS每天一件事D2:配置防火牆


在linux中配置防火牆是一件比較有風險的事情,尤其是在ECS中,一個不當心的操作,可能就會需要重置服務器。

包括阿里雲的官方建議,不要配置防火牆,沒有必要什么的吧啦吧啦……

(http://bbs.aliyun.com/read/144977.html?spm=5176.7114037.1996646101.1.b6lbJx)

但是如果真的無此必要,又何必存在這個軟件?又為何蠻多IDC將硬件防火牆作為一個噱頭來叫賣?

如果我想在公網關閉db端口,僅在內網可訪問呢?

當然如上有些吹毛求疵,但是至少我個人覺得,在服務器上開啟防火牆還是很有必要的。

1.更新防火牆軟件、檢查當前狀態

yum update iptables
/etc/init.d/iptables status

上圖表示防火牆運行中,使用命令

/etc/init.d/iptables stop
或
service iptables stop

關閉防火牆,確保狀態如下圖所示:

設置系統服務,禁止iptables自動啟動

chkconfig iptables off
chkconfig --list iptables

如上圖標示,在所有運行級別上均關閉防火牆自動啟動。

如此一來,即使設置出錯,至少還可以重啟服務器來關閉防火牆。

清除iptables的內置規則和自定義規則

iptabls -F
iptabls -X

2.iptables內置filter、nat和mangle三張表,首先設定默認的通用規則

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP

注意,第一條規則鏈一定要先添加,否則,當執行完第二條命令后,你的ssh就會斷開,之前的設置自然也不會保存。該句的意思是,過濾所有的進入(INPUT)數據,並丟棄(DROP)。

下面的兩句類似,OUPUT全部接受,FORWARD丟棄

3.設置filter表規則,如果不使用-T 參數指定表,則默認為filter表

如果要僅允許指定的ip地址接入ssh,則使用

iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT

如果是一個網段,上面的192.168.0.3地址,可換為192.168.0.0/24類似的網段地址。

請注意,如果上面設置了OUTPUT的規則也為DROP,則務必也設置對應的規則,允許ssh數據流出

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

添加其他常用規則

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 

設置了如上的基本規則之后,則可以保存配置文件,啟動防火牆服務,來測試配置是否成功

/etc/init.d/iptables save
/etc/init.d/iptables restart
/etc/init.d/iptables status

4.總結

4.1.配置防火牆一定要很小心,如果操作不當,可能直接無法遠程連接,對於硬件服務器只要去機器面前操作即可,如果是阿里雲的,就只能重啟或者重置了,一定要當心

4.2.配置防火牆的目的就是為了屏蔽端口,如果全部INPUT都ACCEPT,還不如不設置

4.3.當iptables stop之后,默認修改規則並save后,會覆蓋之前的規則,因此可以在iptables運行的時候,修改並保存配置,或者iptables-save > /etc/iptables.rules保存到默認規則中

4.4.參考地址:

http://www.liusuping.com/ubuntu-linux/iptables-firewall-setting.html

http://www.cnblogs.com/wangkangluo1/archive/2012/04/19/2457072.html

如果覺得命令麻煩,可以安裝如下的組件,使用setup命令配置:

yum install setuptool ntsysv system-config-network system-config-keyboard system-config-network-tui system-config-firewall system-config-firewall-tui

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM