Ho passato un po 'di tempo a pensare a due cose su questo iptables: la maggior parte di coloro che cercano questi tutorial sono principianti e, in secondo luogo, molti stanno già cercando qualcosa di abbastanza semplice e già elaborato.
Questo esempio è per un server web, ma puoi facilmente aggiungere altre regole e adattarle alle tue esigenze.
Quando vedi "x" cambiare per il tuo IP
#!/bin/bash
# Puliamo le tabelle iptables -F iptables -X # Puliamo NAT iptables -t nat -F iptables -t nat -X # mangle table per cose come PPPoE, PPP e ATM iptables -t mangle -F iptables -t mangle -X # Politiche Penso che questo sia il modo migliore per i principianti e # ancora non male, spiegherò tutto l'output perché sono connessioni in uscita #, input scartiamo tutto e nessun server dovrebbe inoltrare. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Mantieni lo stato. Tutto ciò che è già connesso (stabilito) viene lasciato così: iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Dispositivo loop. iptables -A INPUT -i lo -j ACCEPT # http, https, non specifichiamo l'interfaccia perché # vogliamo che sia per tutti gli iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh solo internamente e da questo intervallo di iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT # monitoraggio per esempio se hanno zabbix o qualche altro servizio snmp iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp, ping beh dipende da te iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j ACCEPT #mysql con postgres è la porta 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh se vuoi inviare un po 'di posta #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - il vero IP wan del tuo server LAN_RANGE = "192.168.xx / 21" # Range LAN della tua rete o dei tuoi IP vlan che non dovrebbero mai entrare nell'extranet,è usare un po 'di logica # se abbiamo un'interfaccia puramente WAN non dovrebbe mai inserire # traffico di tipo LAN attraverso tale interfaccia 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 "# Azione predefinita - da eseguire quando una regola corrisponde ad ACTION =" DROP "# Pacchetti con lo stesso ip del mio server tramite iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION # Pacchetti con il range LAN per il wan, lo metto così nel caso tu abbia # una rete particolare, ma questo è ridondante con la regola # seguente all'interno del loop " per "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Tutte le reti SPOOF non consentite da Wan per ip in $ SPOOF_IPS do iptables -A INPUT -i $ extranet -s $ ip -j $ AZIONE iptables -A OUTPUT -o $ extranet -s $ ip -j $ AZIONE eseguita
Come sempre attendo i vostri commenti, rimanete sintonizzati su questo blog, Grazie