#!/bin/sh # fichier de configuration IPtables, adapte par moi, namevac. manque le support d'hamachi et de foldingathome # Se proteger contre les Smurf Attack: echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo - Protection contre Smurf Attack : [OK] # Eviter le source routing: echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route echo - Protection contre le source routing : [OK] # Se proteger des attaques de type Syn Flood: echo "1" > /proc/sys/net/ipv4/tcp_syncookies echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter echo - Protection contre SynFlood : [OK] # Desactivez l’autorisation des redirections ICMP: echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/all/secure_redirects echo - Suppression de l'autorisation des redirections ICMP : [OK] # Eviter le log des paquets icmp erroné: echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses echo - Eviter le log des mauvais paquets ICMP : [OK] # Active le logging des packets aux adresses sources falficiees ou non routable: echo "1" > /proc/sys/net/ipv4/conf/all/log_martians echo - log des packets aux adresses sources falficiees ou non routable : [OK] ################################################################################### # Par defaut tout est ferme iptables -P INPUT DROP iptables -P FORWARD DROP echo - Interdire connexion entrante : [OK] iptables -P OUTPUT DROP echo - Interdire connexion sortante : [OK] # Nous vidons toutes les chaines iptables -F # Nous supprimons les chaines non standards iptables -X echo - Vidage : [OK] # Autoriser SSH iptables -A INPUT -p tcp --dport 22 -j ACCEPT echo - Autoriser SSH : [OK] # Ne pas casser les connexions etablies iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT echo - Ne pas casser les connexions établies : [OK] ### Creation des chaines iptables -N SPOOFED iptables -A INPUT -j SPOOFED echo - creation de la chaine spoofed : [OK] # La machine locale est sure iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A FORWARD -i lo -o lo -j ACCEPT echo - Autoriser loopback : [OK] # REJECT les fausses connections pretendues s'initialiser et sans syn iptables -A INPUT -p tcp ! --syn -m state --state NEW,INVALID -j REJECT echo - REJECT les fausses connections : [OK] #################### # Regles speciales # ################### ### Interdit les paquets spoofés iptables -A SPOOFED -s 127.0.0.0/8 -j DROP iptables -A SPOOFED -s 169.254.0.0/12 -j DROP iptables -A SPOOFED -s 172.16.0.0/12 -j DROP iptables -A SPOOFED -s 192.168.0.0/16 -j DROP iptables -A SPOOFED -s 10.0.0.0/8 -j DROP ### INPUT autorise ### ICMP ## Ping (*) iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT echo - Autoriser les requetes ICMP : [OK] # Resolution DNS pour le firewall iptables -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT iptables -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT iptables -A INPUT -i eth0 --protocol tcp --source-port 53 -j ACCEPT iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 53 -j ACCEPT echo - Autoriser Resolution DNS : [OK] # connexions Firewall-Internet (www) iptables -A OUTPUT -p tcp --dport 80 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --dport 443 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 80 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 443 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT echo - Autoriser serveur http-firewall : [OK] # connexions firewall-Internet (ftp) bof bof a revoir modprobe ip_conntrack_ftp iptables -A OUTPUT -p tcp --dport 21 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 21 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT echo - Autoriser serveur FTP : [OK] # connexions firewall -Internet (pop) iptables -A OUTPUT -p tcp --dport 110 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 110 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT echo - Autoriser serveur pop : [OK] # connexions firewall-Internet (imap) iptables -A OUTPUT -p tcp --dport 143 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 143 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT echo - Autoriser serveur imap : [OK] # connexions firewall-Internet (imaps) iptables -A OUTPUT -p tcp --dport 993 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 993 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT echo - Autoriser serveur imaps : [OK] # connexions firewall-Internet (smtp) iptables -A OUTPUT -p tcp --dport 25 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 25 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT echo - Autoriser serveur smtp : [OK] # Ouverture pour le ftp (actif) iptables -A INPUT -i eth0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT echo - Autoriser serveur ftp m/actif : [OK] # Ouverture pour le serveur ssh iptables -A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT echo - Autoriser serveur SSH : [OK] # Ouverture pour le serveur web iptables -A OUTPUT -o eth0 -p tcp --sport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT echo - Autoriser serveur http : [OK] # Ouverture pour le serveur icecast iptables -A OUTPUT -o eth0 -p tcp --sport 8000 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 8000 -j ACCEPT echo - Autoriser serveur icecast : [OK] # Ouverture pour le serveur teamspeak iptables -A OUTPUT -o eth0 -p tcp --sport 8767 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 8767 -j ACCEPT echo - Autoriser serveur teamspeak : [OK] iptables -A OUTPUT -o eth0 -p tcp --sport 15434 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 15434 -j ACCEPT echo - Autoriser administration serveur teamspeak : [OK] # Ouverture pour le serveur webmin iptables -A OUTPUT -o eth0 -p tcp --sport 13500 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 13500 -j ACCEPT echo - Autoriser serveur icecast : [OK] # Ouverture pour les torrents iptables -A OUTPUT -o eth0 -p tcp --sport 13500 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 13500 -j ACCEPT echo - Autoriser serveur icecast : [OK] # Ouverture pour les torrents iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 2106:2706 -j ACCEPT iptables -A INPUT -i eth0 -p tcp -m multiport --dports 2106:2706 -j ACCEPT echo - Autoriser serveur icecast : [OK] # Ouverture pour mldonkey iptables -A INPUT -i eth0 -p tcp -m multiport --dports 4082,4095,4096,6762 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 4082,4095,4096,6762 -j ACCEPT iptables -A INPUT -i eth0 -p udp --dport 4096 -j ACCEPT iptables -A OUTPUT -o eth0 -p udp --sport 4096 -j ACCEPT # ouverture pour irc iptables -A OUTPUT -i eth0 -p tcp --dport 6667 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p tcp --sport 6667 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -i eth0 -p tcp -m multiport --sports 1024:65535 --dports 1024:65535 -m state --state NEW -j ACCEPT # Ouverture pour ntp iptables -A OUTPUT -p udp --dport 123 -j ACCEPT echo - Autoriser ntp : [OK] # Fin du fichier