Ich habe eine Weile über zwei Dinge über Iptables nachgedacht: Die meisten, die nach diesen Tutorials suchen, sind Anfänger, und zweitens suchen viele bereits nach etwas ziemlich Einfachem und bereits Ausgearbeitetem.
Dieses Beispiel gilt für einen WebserverSie können jedoch problemlos weitere Regeln hinzufügen und an Ihre Anforderungen anpassen.
Wenn Sie "x" sehen, ändern Sie für Ihre IPs
#!/bin/bash
#Wir bereinigen iptables-Tabellen -F iptables -X # Wir bereinigen NAT iptables -t nat -F iptables -t nat -X # Mangeltabelle für Dinge wie PPPoE-, PPP- und ATM-iptables -t mangle -F iptables -t mangle -X # Richtlinien Ich denke, dies ist der beste Weg für Anfänger und # immer noch nicht schlecht, ich erkläre die Ausgabe aller, weil sie ausgehende Verbindungen sind #, Eingaben verwerfen wir alles und kein Server sollte weiterleiten. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN-Intranet = eth0 #Extranet wan extranet = eth1 # Status beibehalten. Alles, was bereits verbunden (eingerichtet) ist, bleibt wie folgt: iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Schleifengerät. iptables -A INPUT -i lo -j ACCEPT # http, https, wir geben die Schnittstelle nicht an, weil # wir möchten, dass sie für alle iptables gilt -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh nur intern und aus diesem Bereich von IP-IP-Tabellen -A INPUT -p TCP -s 192.168.xx / 24 -i $ Intranet --dport 7659 -j ACCEPT # -Überwachung, wenn sie beispielsweise über Zabbix oder ein anderes verfügen snmp service iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp, ping gut, es liegt an dir iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j ACCEPT #mysql mit postgres ist Port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh, wenn Sie einige E-Mails senden möchten #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # Server-IP - die echte WAN-IP Ihres Servers LAN_RANGE = "192.168.xx / 21" # LAN-Bereich Ihres Netzwerks oder Ihrer vlan # IPs, die niemals in das Extranet gelangen sollten,Wenn Sie eine reine WAN-Schnittstelle haben, sollten Sie niemals # LAN-Verkehr über diese Schnittstelle eingeben. 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 "# Standardaktion - Wird ausgeführt, wenn eine Regel mit ACTION =" DROP "übereinstimmt. # Pakete mit derselben IP-Adresse meines Servers über die WAN-Iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION # Pakete mit dem LAN-Bereich für das WAN, ich sage es so, falls Sie # ein bestimmtes Netzwerk haben, aber dies ist mit der folgenden # Regel innerhalb der Schleife redundant. " für "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Alle SPOOF-Netzwerke, die vom wan für ip in $ SPOOF_IPS nicht zugelassen sind do iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION erledigt
Wie immer erwarte ich Ihre Kommentare, bleiben Sie in diesem Blog dran, danke