#Fichier de Configuration de iptables pour un routeur. #par JuPiTeR ################VARIABLES################ #definition de l'adresse externe EXTADDR=xxxx #carte interne (lan) INTETH=eth0 #carte externe (wan) EXTETH=eth1 #Broadcast (du lan) BCAST=172.28.200.255 ######################################################################## ######################################################################## #Politique par defaut iptables -F iptables -t nat -F iptables -t mangle -F iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT #se laisser passer (utile pour X par exemple) iptables -A INPUT -s 127.0.0.1 -j ACCEPT #laisser passer les connections deja etablies (en entrée) iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT ######################################################################### ######################################################################### #Laisser passer les requetes DNS (ne pas oublier de remplacer par ses propres dns) iptables -A INPUT -p UDP -s 217.117.32.3 --sport 53 -j ACCEPT iptables -A INPUT -p UDP -s 194.7.1.4 --sport 53 -j ACCEPT ######################################################################### #Planeshift iptables -A INPUT -p UDP --dport 7777 -j ACCEPT ######################################################################### #Options de Protection #AntiSpoof (sur le routeur; mettre le reseau interne et ethX pour la carte internet) iptables -A FORWARD -s 172.28.200.0/24 -i $EXTETH -d 172.28.200.0/24 -j LOG --log-prefix "Spoof Attempt " iptables -A FORWARD -s 172.28.200.0/24 -i $EXTETH -d 172.28.200.0/24 -j DROP #AntiSmurf iptables -A FORWARD -p icmp -i $EXTETH -d $BCAST -j LOG --log-prefix "Smurf Attempt " iptables -A FORWARD -p icmp -i $EXTETH -d $BCAST -j DROP #detecter les scans iptables -A INPUT -m state --state NEW -p tcp --tcp-flags ALL FIN,PSH,URG -j LOG --log-prefix "Xmas scan packet " iptables -A INPUT -m state --state INVALID -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "Null scan packet " iptables -A INPUT -m state --state NEW -p tcp --tcp-flags ALL SYN,FIN -j LOG --log-prefix "SYN-FIN packet " ######################################################################### ######################################################################### #services a surveiller de pres (ssh... (remplacer les ports par ceux désirés)) #Garder le port fermé, l'ouvrir avec knockd... et logger les connexions qui seraient passées iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j LOG --log-prefix "ssh connection Attempt " iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT ######################################################################### ######################################################################### #services moins importants (pas de log) #dport = le port ou la plage de ports du service iptables -A INPUT -p tcp -d $EXTADDR --dport 13000:13100 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp -d $EXTADDR --dport 12348 -j ACCEPT #iptables -A INPUT -p tcp -d $EXTADDR --dport 8954 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp -d $EXTADDR --dport 3465 -m state --state NEW -j ACCEPT [B#iptables -A INPUT -p tcp -d $EXTADDR --dport 1110:1119 -m state --state NEW -j ACCEPT #iptables -A INPUT -p tcp -d $EXTADDR --dport 10001 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp -d $EXTADDR --dport 5555:5559 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp -d $EXTADDR --dport 6667 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp -d $EXTADDR --dport 6697 -j ACCEPT iptables -A INPUT -p tcp -d $EXTADDR --dport 12349 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp -d $EXTADDR --dport 6881 -j ACCEPT iptables -A INPUT -p tcp -d $EXTADDR --dport 12370 -j ACCEPT ######################################################################### ######################################################################### #Acces des ordinateurs du lan au serveur (rajouter --dport xxx pour plus de sécurité sur les services disponibles pour cet utilisateur) #iptables -A INPUT -i $INTETH -s 172.28.200.2 -j ACCEPT #iptables -A INPUT -i $INTETH -s 172.28.200.3 -j ACCEPT ######################################################################### ######################################################################### #Partage Internet #Defaults echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -j MASQUERADE iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT #autoriser a consulter des dns externes (mettre les bonnes adresses) iptables -A FORWARD -p UDP -s 217.117.32.3 --sport 53 -j ACCEPT iptables -A FORWARD -p UDP -s 194.7.1.4 --sport 53 -j ACCEPT #Autoriser des hotes sans restriction (ajouter -dport xxx pour limiter les services disponibles) #moi iptables -A FORWARD -s 172.28.200.2 -j ACCEPT iptables -A FORWARD -s 172.28.200.3 -j ACCEPT #laptops iptables -A FORWARD -s 172.28.200.4 -j ACCEPT iptables -A FORWARD -s 172.28.200.8 -j ACCEPT #xbox iptables -A FORWARD -s 172.28.200.5 -j ACCEPT #chambre iptables -A FORWARD -s 172.28.200.6 -j ACCEPT #Anne iptables -A FORWARD -s 172.28.200.10 -j ACCEPT iptables -A FORWARD -s 172.28.200.14 -j ACCEPT ######################################################################### ######################################################################### #Serveur derriere le firewall (exemple serveur web) #iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 80 -j DNAT --to-destination 172.28.200.2:80 #ou limité a une plage #iptables -t nat -A PREROUTING -i $INTETH -p tcp -s {IPmask1/Subnet1} --dport 80 -j DNAT --to 192.168.2.11:80 ######################################################################### ######################################################################### #dcc send jupi iptables -A INPUT -p tcp --dport 9500:9504 -j ACCEPT iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9500 -j DNAT --to-destination 172.28.200.2:9500 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9501 -j DNAT --to-destination 172.28.200.2:9501 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9502 -j DNAT --to-destination 172.28.200.2:9502 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9503 -j DNAT --to-destination 172.28.200.2:9503 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9504 -j DNAT --to-destination 172.28.200.2:9504 #msn send jupi iptables -A INPUT -p tcp --dport 6881:6883 -j ACCEPT iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 6881 -j DNAT --to-destination 172.28.200.2:6881 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 6882 -j DNAT --to-destination 172.28.200.2:6882 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 6883 -j DNAT --to-destination 172.28.200.2:6883 #dcc send laptop64 iptables -A INPUT -p tcp --dport 9505:9509 -j ACCEPT iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9505 -j DNAT --to-destination 172.28.200.8:9505 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9506 -j DNAT --to-destination 172.28.200.8:9506 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9507 -j DNAT --to-destination 172.28.200.8:9507 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9508 -j DNAT --to-destination 172.28.200.8:9508 iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9509 -j DNAT --to-destination 172.28.200.8:9509 ######################################################################### ######################################################################### iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 80 -j DNAT --to-destination 172.28.200.9:80