構建高安全電子商務網站之Linux服務器iptables規則列表全攻略
服務器的安全性,一直是網站的首要考慮的任務。針對安全性有多種多樣的解決方案。Linux服務器防火墻,最常用到的當然要數iptables防火墻。iptables是Linux上常用的防火墻軟件,規則也非常靈活,應該最廣泛。
對應要構建高安全電子商務網站,任何一臺服務器少不了的安全軟件,當然是iptables防火墻。規則靈活多變,功能應該之廣泛,這個也是Linux系統管理員首選。iptables表鏈中每條規則的順序很重要,如果首條是accept all,那末所有的數據包都會被允許通過firewall,因此應當適當的安排規則順序。通常的法則是:拒絕所有 允許少數。
實際應用總iptables規則應用在每一臺服務器,如下圖.
但是如果比較了解iptables防火墻的話,完全可以自己配置,而且可以達到甚至超過硬件防火墻的效果
本文要點:
1.實例介紹高安全電子商務網站iptables規則列表。
2.在實例基礎上細說,ptables的安裝、清除iptables規則、iptables只開放指定端口、iptables屏蔽指定ip、ip段及解封、刪除已添加的iptables規則等iptables的基本應用。
3.對關鍵端口的設置做具體介紹。特別是特殊的FTP,應該怎么樣設置iptables規則,同時支持ftp主動模式、ftp被動模式。
iptables規則實例:
電子商務網站iptables規則列表
========================================================================
# iptables conf /etc/sysconfig/iptables
# Created by http://jimmyli.blog.51cto.com/
# Last Updated 2010.10.17
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 22 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 21 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 80 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 873 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 3306 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 8080 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 30000:30030 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
========================================================================
電子商務網站iptables規則列表詳細說明:
1.使用方法,把以上的內容添加或替換掉 /etc/sysconfig/iptables 文件,vim /etc/sysconfig/iptables 編輯。
2.使規則生效。然后service iptables restart即可生效
3.上面的規則中,只開放了如下端口:22(ssh),21(FTP),80(web),3306(mysql),8000等端口,30000至30030是FTP被動模式的端口,其它的都是禁止。也可以根據自己實際情況進行修改即可使用。
提示:
這個iptables規則,同時支持ftp主動模式、ftp被動模式。對FTP特殊端口應用起到關鍵應用。
附上系統默認模板
========================================================================
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
~
~
========================================================================
Linux上iptables防火墻的基本應用解說
iptables是Linux上常用的防火墻軟件,下面vps偵探給大家說一下iptables的安裝、清除iptables規則、iptables只開放指定端口、iptables屏蔽指定ip、ip段及解封、刪除已添加的iptables規則等iptables的基本應用。
關于更多的iptables的使用方法可以執行:iptables --help或網上搜索一下iptables參數的說明。
1、安裝iptables防火墻
如果沒有安裝iptables需要先安裝,CentOS執行:
yum install iptables
Debian/Ubuntu執行:
apt-get install iptables
2、清除已有iptables規則
iptables -F
iptables -X
iptables -Z
3、開放指定的端口
#允許本地回環接口(即運行本機訪問本機)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允許已建立的或相關連的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允許所有本機向外的訪問
iptables -A OUTPUT -j ACCEPT
# 允許訪問22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允許訪問80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允許FTP服務的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的話,規則也類似,稍微修改上述語句就行
#禁止其他未允許的規則訪問
iptables -A INPUT -j REJECT