[code]root@server-713:~# cat /etc/init.d/firewall
#!/bin/bash
#On réinitialise les regles
iptables -t filter -F
iptables -t filter -X
#On bloque tout port non-autorisés
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
#on laisse ouvert les connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#On laisse ouvert l’interfaces loopback (localhost)
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
#Pour le serveur Web:
#On laisse ouvert le port 80 pour apache2
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
#On laisse également ouvert le port 443 pour le https (http-over-ssl) l’échange de pages web sécurisé
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
#On laisse ouvert le port 22 pour les connexions ssh
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
#Pour le serveur FTP:
#on ouvre le port 20 pour le transfert de fichiers
iptables -t filter -A OUTPUT -p tcp --dport ftp-data -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport ftp-data -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
#on ouvre les ports pour le transfert de fichiers en mode passif
iptables -t filter -A OUTPUT -p tcp --dport 49152:65534 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 49152:65534 -j ACCEPT
#le port 21 pour l’identification ftp
iptables -t filter -A OUTPUT -p tcp --dport ftp -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport ftp -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
#le port 990 pour le FTPS avec SSL
iptables -t filter -A OUTPUT -p tcp --dport 990 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 990 -j ACCEPT
#Pour les MAILS
#on laisse ouvert le port 25 pour le protocole smtp et pour pouvoir ainsi envoyer des mails
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
#on laisse ouvert le port 110 pour le protocole pop3 permettant ainsi de recevoir des mails
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
#On ouvre aussi le port 995 pour le protocole pop3 avec ssl
iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT
#On ouvre le port 587, pour smtp en ssl
iptables -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 587 -j ACCEPT
#Pour le port DNS on ouvre le port 53 udp et tcp
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
#On ouvre le port 6667 pour le serveur ircd
iptables -t filter -A OUTPUT -p tcp --dport 6667 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 6667 -j ACCEPT
#Et le port 7000 pour les services anope
iptables -t filter -A OUTPUT -p tcp --dport 7000 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 7000 -j ACCEPT
#le 6666 pour les bots
iptables -t filter -A OUTPUT -p tcp --dport 6666 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 6666 -j ACCEPT
#le port 843 pour le policy port du irc flash
iptables -t filter -A OUTPUT -p tcp --dport 843 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 843 -j ACCEPT
#et le port 8002 pour une erreur
iptables -t filter -A OUTPUT -p tcp --dport 8002 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8002 -j ACCEPT
#On laisse ouvert aussi le port 6697 pour irc avec ssl
iptables -t filter -A OUTPUT -p tcp --dport 6697 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 6697 -j ACCEPT
#Pour pouvoir faire des ping, on autorise les pings
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
NTP (horloge)
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
#On fait en sorte d’éviter les ataques par denis de service (DDoS)
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
#aussi pour les protocoles udp et icmp
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
#On essaie de bloquer le scan de ports
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
[/code]
voilà mon firewall, je ne suis pas un expert d’iptables, mais j’espère que vous saurez m’aider 