伺服器的安全性的重要性,可以關係到負責人的飯碗,而防火牆對於伺服器的安全性相當重要,但是防火牆的設定需要小心,尤其是初學者,很容易弄錯,一旦弄錯,很容易連不上網路,要自己去機房重新設定防火牆。如果不熟悉配置,一個是怕許可權太嚴格,容易導致自己都不能訪問,上面的程式也很可能不能正常訪問網路,另一個是怕使用權限設定的太松,安全性不夠,容易被侵入。
所以初學者很需要一個簡單的防火牆模板,經過簡單修改,就能滿足一般的安全要求,不用走多個彎路。
於是我參考鳥哥的私房菜,經過修改,寫出以下防火牆的模板,協助初學者入門,鞏固防火牆。
指令碼內容如下,儲存指令碼內容為iptables.sh,然後直接執行,還要加入/etc/rc.local下,隨機啟動執行防火牆配置(以上工作前提是防火牆服務有開啟)。
IF="eth0"
#清除規則
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
# 預定義策略
/sbin/iptables -A INPUT -s 127.0.0.1 -j ACCEPT # 允許迴環介面可以被訪問
/sbin/iptables -P INPUT DROP # 預設是拒絕訪問
/sbin/iptables -P OUTPUT ACCEPT # 允許本機訪問其他機器,無限制
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p icmp -j ACCEPT # 允許ping
#允許的本機服務
/sbin/iptables -A INPUT -p TCP -i $IF --dport 22 -j ACCEPT # SSH
# /sbin/iptables -A INPUT -p TCP -i $IF --dport 3306 -j ACCEPT # mysql
# /sbin/iptables -A INPUT -p TCP -i $IF --dport 80 -j ACCEPT # web
# 黑名單
#/sbin/iptables -A INPUT -s 1.1.1.0/24 -j DROP
#/sbin/iptables -A INPUT -s 1.1.1.0 -j DROP
# 信任的網路和IP
/sbin/iptables -A INPUT -s 1.1.1.1/24 -j ACCEPT # 信任的網路
/sbin/iptables -A INPUT -s 1.1.1.1 -j ACCEPT # 信任的ip
指令碼簡短,使用者,只要根據自己的情況,修改信任的網路和IP,還有允許的本機服務,本指令碼可以滿足一般的安全要求。
更多內容參考:http://vbird.dic.ksu.edu.tw/linux_server/0250simple_firewall/0250simple_firewall-centos4.php