Chvíli jsem přemýšlel o dvou věcech o iptables: většina z těch, kteří hledají tyto návody, jsou začátečníci a zadruhé, mnozí již hledají něco docela jednoduchého a již propracovaného.
Tento příklad je pro webový server, ale můžete snadno přidat další pravidla a přizpůsobit je svým potřebám.
Když uvidíte „x“, změňte své IP adresy
#!/bin/bash
# Čistíme tabulky iptables -F iptables -X # Čistíme NAT iptables -t nat -F iptables -t nat -X # tabulka mangle pro věci jako PPPoE, PPP a ATM iptables -t mangle -F iptables -t mangle -X # Zásady Myslím, že je to nejlepší způsob pro začátečníky a # stále není špatný, vysvětlím výstup vše, protože jsou odchozí připojení #, vstup vše zahodíme a žádný server by neměl předávat. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Zachovat stav. Všechno, co je již připojeno (založeno), je ponecháno takto: iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j ACCEPT # http, https, neurčujeme rozhraní, protože # chceme, aby to bylo pro všechny iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh pouze interně a z této řady iptables ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT # monitorování například pokud mají zabbix nebo jiné snmp service iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp, ping dobře je to na vás iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j ACCEPT # mysql s postgres je port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh pokud chcete poslat nějaký mail #iptables -A VÝSTUP -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - skutečná IP adresa vašeho serveru LAN_RANGE = "192.168.xx / 21" # rozsah LAN vaší sítě nebo vašeho vlan # IP, které by nikdy neměly vstoupit do extranetu,je použít trochu # logiky, pokud máme čistě WAN rozhraní, nikdy by nemělo vstupovat do provozu typu LAN přes toto rozhraní 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 "# Výchozí akce - provede se, když se nějaké pravidlo shoduje AKCE =" DROP "# Pakety se stejnou IP adresou mého serveru přes wan iptables -A VSTUP -i $ extranet -s $ SERVER_IP -j $ AKCE # iptables -A VÝSTUP -o $ extranet -s $ SERVER_IP -j $ AKCE # Pakety s LAN rozsahem pro wan, dal jsem to takhle v případě, že máte # jakoukoli konkrétní síť, ale to je nadbytečné s následujícím # pravidlem uvnitř smyčky " pro „iptables -A VSTUP -i $ extranet -s $ LAN_RANGE -j $ AKCE iptables -A VÝSTUP -o $ extranet -s $ LAN_RANGE -j $ AKCE ## Všechny sítě SPOOF nejsou povoleny wanem pro ip v $ SPOOF_IPS dělat iptables -A VSTUP -i $ extranet -s $ ip -j $ AKCE iptables -A VÝSTUP -o $ extranet -s $ ip -j $ AKCE hotovo
Jako vždy čekám na vaše komentáře, zůstaňte naladěni v tomto blogu, děkuji