使用此簡單腳本第2部分,使用iptables創建自己的防火牆

防火牆_(網絡)

大家好,今天我為您帶來有關iptables防火牆的系列教程的第二部分,非常簡單,以便您可以復制和粘貼,我認為到了最後,這是所有初學者都追求的,或者甚至是最有經驗的人,為什麼我們必須重新發明輪子100次,對嗎?

這次,我告訴他們嘗試著眼於非常具體的情況,即我們是否希望我們的防火牆通過OUTPUT DROP策略變得更具攻擊性。 這篇文章也是應本頁面和我的讀者的要求。 (在我的腦海中)

讓我們談談建立Output Drop策略的“利與弊”,我可以告訴你的是,它使這項工作變得更加繁瑣和費力,但是優點是,在網絡級別,與坐下來相比,您將擁有安全性要想好,設計和計劃策略,您將擁有一台更加安全的服務器。

為了不引起混亂,我將通過一個例子快速向您解釋您的規則應多少或更少

iptables -A輸出-o eth0 -p tcp –sport 80 -m狀態–state已建立-j接受
-A 因為我們添加了規則
-o 指出站流量,如果未指定則放置接口,因為它匹配所有接口。
-運動 源端口起著重要的作用,因為在大多數情況下,我們不知道它們將從哪個端口發出請求,如果可以的話,我們可以使用dport
–Dport 目標端口,當我們事先特別知道傳出連接必須僅轉到特定端口時。 它必須用於非常特定的內容,例如遠程mysql服務器。
-m狀態–已建立狀態 這已經是維護已經建立的連接的裝飾,我們可以在以後的文章中深入研究
-d 談論目的地(如果可以指定的話),例如通過其ip到特定機器的ssh

#!/bin/bash

#我們清理iptables表-F iptables -X#我們清理NAT iptables -t nat -F iptables -t nat -X#修改PPPoE,PPP和ATM iptables的表-t mangle -F iptables -t mangle -X#策略我認為這對初學者來說是最好的方法,並且#仍然不錯,我將解釋輸出(輸出)的全部原因,因為它們是傳出的連接#輸入會丟棄所有內容,並且任何服務器都不應轉發。 iptables -P輸入下降iptables -P輸出下降iptables -P轉發下降#Intranet LAN Intranet = eth0 #Extranet wan Extranet = eth1#保持狀態。 一切已經連接(建立)的東西我們都像這樣iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A輸出-m狀態-狀態已建立,相關-j接受
#循環設備。 iptables -A輸入-i lo -j接受
#iptables環回輸出-A OUTPUT -o lo -j ACCEPT

#http,https,我們不指定接口,因為#我們希望它是所有iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#出發
#http,https,我們未指定接口,因為
#我們希望它適用於所有用戶,但如果我們指定輸出端口
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

#僅在內部以及此ip iptables範圍內的ssh -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT
#僅在內部和此ip範圍內輸出#ssh
iptables -A輸出-p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j接受
#監視例如它們是否具有zabbix或其他一些snmp服務iptables -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
#出發
#監視例如它們是否具有zabbix或其他某些snmp服務
iptables -A輸出-p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j接受

#icmp,ping好是您的決定iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
#出發
#icmp,ping好是您的決定
iptables -A輸出-p icmp -d 192.168.xx / 24 -o $ intranet -j接受

#帶有postgres的mysql是端口5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
#輸出-用戶還要求創建一個非常特定的規則規則#服務器:192.168.1.2 mysql:192.168.1.3
#mysql with postgres是端口5432
iptables -A輸出-p tcp -s 192.168.1.2 -d 192.168.1.3 -dport 3306 -o $ intranet -j ACCEPT

#sendmail bueeeh,如果您想發送一些郵件#iptables -A輸出-p tcp --dport 25 -j接受#防欺騙09年07月2014日#SERVER_IP =“ 190.xxx”#服務器IP-您的真實WAN IP服務器LAN_RANGE =“ 192.168.xx / 21”#您的網絡或VLAN的LAN範圍#永遠不要進入Extranet的IP,如果我們具有純WAN接口,則應該使用#邏輯,它永遠不應輸入#流量通過該接口的LAN類型SPOOF_IPS =“ 0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16”#默認操作-當任何規則與ACTION =“”時執行DROP“#通過wan iptables使用與我的服務器相同IP的數據包-A INPUT -i $ Extranet -s $ SERVER_IP -j $ ACTION
iptables -A輸出-o $ Extranet -s $ SERVER_IP -j $ ACTION

#帶有WAN範圍的數據包,如果您有任何特定的網絡,我會這樣說,但是在“ for”循環iptables中使用以下#規則,這是多餘的-A INPUT -i $ Extranet -s $ LAN_RANGE -j $動作
iptables -A輸出-o $ Extranet -s $ LAN_RANGE -j $ ACTION

## WAN不允許$ SPOOF_IPS中的ip使用所有SPOOF網絡iptables -A INPUT -i $ Extranet -s $ ip -j $ ACTION
iptables -A輸出-o $ Extranet -s $ ip -j $ ACTION
完成

在下一次審核中,我們將做端口範圍,並建立按名稱組織的策略,等等。...我等待您的評論和要求。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。