Vaig estar un temps pensant en dues coses respecte a això de iptables: la majoria dels que busquen aquests tutorials són principiants i segon molts busquen ja alguna cosa mitjanament senzill i ja elaborat.
Aquest exemple és per a un servidor web, Però pots fàcilment afegir més regles i adaptar-lo a les teves necessitats.
Quan vegin «x» canviïn pels seus ip s
#!/bin/bash
#Limpiamos taules iptables -F iptables -X # Netegem NAT iptables -t nat -F iptables -t nat -X # taula mangle per a coses com PPPoE, PPP, and ATM iptables -t mangle -F iptables -t mangle -X # Polítiques penso que aquest és la millor manera per a principiants i # tot i així no aquesta malament, t'explico output (sortida) sobretot perquè són connexions # sortints, input descartem tot, i cap servidor hauria de fer forward. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Keep state. Tot el que ja està connectat (establert) ho deixem així iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i ho -j ACCEPT # http, https, no especifiquem la interfície perquè # volem que sigui per totes iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh només internament i des d'aquest rang de ip s iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT # monitoratge per exemple si tenen Zabbix o algun altre servei snmp iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp, ping bo és decisió teva iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j ACCEPT #mysql amb postgres és el port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh si vols enviar algun correu #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09 # SERVER_IP = "07.xxx" # server IP - la ip wan real del teu servidor LAN_RANGE = "2014.xx / 190" # Rang LAN de la teva xarxa o de la teva vlan # Ip que no haurien d'entrar per l'extranet mai,és usar una mica de # lògica si tenim una interfície netament WAN no hauria mai entrar # trànsit tipus LAN per aquesta interfície SPOOF_IPS = "192.168/21 0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0 / 12 "# Acció per defecte - que es realitzés quan faci matx alguna regla ACTION =" DROP "# Paquets amb la mateixa ip del meu servidor per la wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION # Paquets amb el rang LAN per la wan, el col·loco així per si tens # alguna xarxa particular, però això és redundant amb la següent # regla dins de l'bucle " for "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Totes les Xarxes spoof no permeses per la wan for ip in $ SPOOF_IPS do iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION done
Com sempre espero els seus comentaris, romanguin sintonitzats en aquest bloc, Gràcies