Linux防火牆白名單設置


在linux系統中安裝yum install iptables-services

然后 vi /etc/sysconfig/iptables

# Generated by iptables-save v1.4.7 on Sun Aug 28 12:14:02 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#這里開始增加白名單服務器ip(請刪除當前服務器的ip地址) -N whitelist
-A whitelist -s 8.8.8.8 -j ACCEPT
-A whitelist -s x.x.x.x -j ACCEPT
#這些 ACCEPT 端口號,公網內網都可訪問 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允許接受本機請求之后的返回數據 RELATED,是為FTP設置的 -A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13020 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1000:8000 -j ACCEPT  #開放1000到8000之間的所有端口
#下面是 whitelist 端口號,僅限 服務器之間 通過內網 訪問 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j whitelist
#為白名單ip開放的端口,結束 -A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT

 

解釋:

添加防火牆過濾規則步驟如下;

1、查看現有防火牆過濾規則:

 iptables -nvL --line-number

2、添加防火牆過濾規則(設置白名單):

       1)添加白名單

iptables -I INPUT 3 -s 136.6.231.163 -p tcp --dport 1521 -j ACCEPT

            命令詳解:

             -I:添加規則的參數  

               INPUT:表示外部主機訪問內部資源

    規則鏈:

       1)INPUT——進來的數據包應用此規則鏈中的策略
       2)OUTPUT——外出的數據包應用此規則鏈中的策略
       3)FORWARD——轉發數據包時應用此規則鏈中的策略
       4)PREROUTING——對數據包作路由選擇前應用此鏈中的規則 (記住!所有的數據包進來的時侯都先由這個鏈處理)
     5)POSTROUTING——對數據包作路由選擇后應用此鏈中的規則(所有的數據包出來的時侯都先由這個鏈處理)

                3:表示添加到第三行(可以任意修改)

               -s:指定作為源地址匹配,這里不能指定主機名稱,必須是IP;

               -p: 用於匹配協議的(這里的協議通常有3種,TCP/UDP/ICMP)

               --dport: 用於匹配端口號

               -j: 用於匹配處理方式:

                   常用的ACTION:

        DROP:悄悄丟棄,一般我們多用DROP來隱藏我們的身份,以及隱藏我們的鏈表
                REJECT:明示拒絕
                ACCEPT:接受
        2)查看添加結果

iptables -nvL --line-number

 然后重啟防火牆即可生效 
重啟防火牆的命令:service iptables restart 

此時,防火牆規則只是保存在內存中,重啟后就會失效。

使用以下命令將防火牆配置保存起來;

保存到配置中:service iptables save (該命令會將防火牆規則保存在/etc/sysconfig/iptables文件中。)

 -----------------------------------------------------------------------------------

附:

開放端口段3000~3008

iptables -A INPUT -p tcp --dport 3000:3008 -j ACCEPT

開放ip段

iprange模塊提供了兩個匹配參數:
--src-range: 匹配來源地址的范圍,例如,iptables -A INPUT -p tcp -m iprange --src-range 192.168.0.2-192.168.0.61 -j DROP
--dst-range: 匹配目的地址的范圍,例如,iptables -A OUTPUT -p tcp -m iprange --dst-range 192.168.0.2-192.168.0.61 -j DROP 

禁止用戶訪問www.baidu.com
iptables -I FORWARD -d www.baidu.com -j DROP

 

iptables—命令(-A、-I、-D、-R、-L等)、

1、常用命令列表:  常用命令(-A追加規則、-D刪除規則、-R修改規則、-I插入規則、-L查看規則)
命令-A,--append
范例 iptables -A INPUT ...
說明新增規則(追加方式)到某個規則鏈(這里是INPUT規則鏈)中,該規則將會成為規則鏈中的最后一條規則。

命令-D,--delete
范例 iptables -D INPUT --dport 80 -j DROP
iptables -D INPUT 1
說明 從某個規則鏈中刪除一條規則,可以輸入完整規則,或直接指定規則編號加以刪除。

命令-R, --replace
范例 iptables -R INPUT1-s 192.168.0.1 -j DROP
說明取代現行規則,規則被取代后並不會改變順序。(1是位置)

命令-I,--insert
范例 iptables -I INPUT1--dport 80 -j ACCEPT
說明插入一條規則,原本該位置(這里是位置1)上的規則將會往后移動一個順位。

命令-L, --list
范例 iptables -L INPUT
說明 列出某規則鏈中的所有規則。

命令-F, --flush
范例 iptables -F INPUT
說明 刪除某規則鏈(這里是INPUT規則鏈)中的所有規則。

命令-Z,--zero
范例 iptables -Z INPUT
說明 將封包計數器歸零。封包計數器是用來計算同一封包出現次數,是過濾阻斷式攻擊不可或缺的工具。

命令-N, --new-chain
范例 iptables -N allowed
說明 定義新的規則鏈。

命令-X, --delete-chain
范例 iptables -X allowed
說明 刪除某個規則鏈。

命令-P, --policy
范例 iptables -P INPUT DROP
說明 定義過濾政策。 也就是未符合過濾條件之封包,預設的處理方式。

命令-E,--rename-chain
范例 iptables -E allowed disallowed
說明 修改某自訂規則鏈的名稱。
View Code

釋義,可參考:Centos7.0-iptables linux的出站入站端口維護

 Iptables防火牆規則使用梳理

規則的刪除等:linux下iptables的使用下面是可能用於防止慢連接攻擊的方式

#處理IP碎片數量,防止攻擊,允許每秒100個
iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
#設置ICMP包過濾,允許每秒1個包,限制觸發條件是10個包
iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

 


免責聲明!

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



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