追蹤
NEIL's_學而時習之x不學無術~私藏IT技術經驗分享部落
關於部落格
NEIL. Cheng....寫作只是為了日後工作之備忘操作參考

本部落格文章撰寫前進邁向第五年(since 2009 ~至今)仍繼續推進分享IT學習!!About Windows/Linux Server,Virtualization


分享網誌: 由於,本人預先完成LAB後,才補上撰寫文章與截圖,若發現文圖對照說明有誤..本人將盡快校正,也請不吝指教! Thanks!

  • 170298

    累積人氣

  • 11

    今日人氣

    1

    追蹤人氣

IPTABLES 防火牆基設定與備忘(一) By KEYNES

(1) 牛刀小試(二): 建立第一條Policy  

      iptables  -A  INPUT -p tcp -m state --state INVAID -j Drop

     # 比對INPUT 方向條件, 比對封包協定 為 tcp  , -m state  INVAID -J Drop
 
       使用state 模組,偵測對方若是"狀態不明封包"即丟棄該封包 


    

(2) 牛刀小試(二): 建立第二條Policy

      iptables -A INPUT -p tcp -s 192.168.0.198 -d 192.168.0.197 --dport 22 -j ACCEPT  

      # SSH 端連線主機: 192.168.0.198
 
         IPTABLES 主機  :  192.168.0.197(亦是本機)


    
   眼尖的讀者可以查得目前INPUT Chain Default  Policy 為 ACCEPT(預設為ACCEPT)
     
       故在我們還沒建立上述第二條Poicy 時, 來源端IP 192.168.0.198 是無法連線到

       IPTABLES 主機  :  192.168.0.197 的 22 Port  進行遠端主機管理

       Default  Poicy : 視為每個Chain 最後一條Policy ,與 Cisco ACL 類似比對方式
 
       IPTABLES 依序是從第一條Policy 往下比對至最後一條Policy 比對方式

       我們隨後將INPUT Chain Default  Policy  更改為DROP 以符合企業需求

   
(3) 牛刀小試(三): 更改INPUT Chain Default Policy 由 ACCEPT 變為DROP

      iptables  -P INPUT DROP   

  
(4) 牛刀小試(四): 利用 參數 I 插入一條policy  於指定行數

     iptables  -I INPUT 2  -p icmp -d 192.168.0.197 -j ACCEPT

     #插入一筆Policy  於INPUT中第2行, 內容: 開放所有來源端可以Ping通防火牆主機  
    

   

   接下來我們利用192.168.0.198 去Ping 192.168.0.197 這台主機,測試是否會Ping通

   #由下圖可知在未加入上述筆條例時,彼此是無法Ping通,經icmp開放後得已ping通該主機

 


     現在我們要刪除上述Policy(icmp) ,可利用參數 -D  刪除 Chain 中某一筆Policy

      iptables -D INPUT 3   

      # 下圖為我們要刪除  來源端: anywhere ->目的端: 192.168.0.197

         這條例 ,該條例為第3行數

   
(5) 牛刀小試(五):  新增一筆條例,讓192.168.0.198 可以存取Firwall 主機上VSFTPD 服務

iptables -A INPUT -p tcp  -s 192.168.0.198 -d 192.168.0.197 --dport 21 -j ACCEPT


  
  
     利用192.168.0.198 主機去 telnet 192.168.0.197(F/W )的21Port Success

 
(6) 牛刀小試(六): 

    以下圖為例,我們將.198 主機 連線到.197 : 80 ACCEPT

     利用參數 -R : 可做取代條例之用      
 
iptables -R INPUT 5 -p tcp -s 192.168.0.198 -d 192.168.0.197 --dport 80 -j REJECT


    

(7) 牛刀小試(七): 將所有iptables 寫成一個shell script 檔案以執行

 主機型F/W

 

vi    fw.sh

# /bin/bash

fw=/sbin/iptables

Default= 192.168.0.100

 

Block1=  10.10.10.0/24

 

#Clear Policy & Set Defualt Policy as Drop

iptables -t filter -F

iptables -t filter -P INPUT DROP

#Rules

$fw  -A INPUT  -p tcp  -m state  --state INVALID -j DROP

$fw -A INPUT  -p  tcp   -d $Default  --deport 22 -j  ACCEPT

$fw -A INPUT  -p  tcp   -d $Default  --deport 53 -j  ACCEPT

$fw -A INPUT  -p  tcp   -d $Default  --deport 80 -j  ACCEPT

$fw -A INPUT  -p  tcp   -d $Default  --deport  25  -j  ACCEPT

$fw -A INPUT  -p  tcp   -d $Default  --deport 110  -j  ACCEPT

$fw -A INPUT  -p  tcp  -s $Block1    -d $Default  --deport 22 -j  REJECT

$fw -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT


建構FW Script 完成後請執行

chown root:root fw.sh     

chmod  700  fw.sh    #修改權限

./fw.sh                      #修改完成請手動執行此Script

開機運行此Script

vi  /etc/rc.d/rc.local

/usr/local/bin/fw.sh                #插入此行即可

 

參考資料: Linux 網路安全技術與實現/悅知/陳勇勳

 

相簿設定
標籤設定
相簿狀態