Re: Que pensez vous de mes regles iptables
On Mon, Nov 18, 2002 at 05:31:04PM +0100, Nicolas C. wrote:
> Bonsoir tout le monde,
bonsoir
> ...
> - Activé l'antispoofing du noyau
Debian fournit un moyen de configurer ca (/etc/networking/options), donc
plutot a regler de cette maniere
> ...
> - Bloquer les ICMP
Attention, ca rend parfois le diagnostic de certaines erreurs plus
difficile.
> Voici donc mes règles :
>
> #!/bin/sh
> # Pas de spoofing
> if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
> then
> [etc...]
Comme dit, il est probablement plus malin d'utiliser la config du paquet
netbase.
> # Pas de ICMP
> echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
> echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
La, tu te contentes de dire a ton kernel de ne pas repondre aux ping. Si
tu veux _vraiement_ filtrer tous les paquets icmp, utilise une regle
iptables.
> # Vidage d'anciennes règles
> iptables -F
> iptables -t nat -F
A ce stade, tu devrais aussi positionner les policies (iptables -P), cad
le comportement par defaut, si aucune regle n'est trouvee pour un paquet
donne.
> # Boucle locale
> iptables -i lo -A INPUT -j ACCEPT
(peut etre l'action, -A INPUT, au debut serait mieux, je ne sait pas si cet
ordre des options marche...)
> # Paquets non réguliers
> iptables -A INPUT --fragment -j DROP
Un paquet fragmente n'a rien de necessairement irregulier.
> iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
> iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
Je ne suis pas un pro en flags tcp, mais la aussi il me semble que c'est
abusif.
> # Paquets correspondants à une connexion
> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
> iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Generalement, je ne fais pas ca de cette maniere (j'utilise --syn, mais
c'est pas forcemment mieux.)
> # Paquets sortants
> iptables -A OUTPUT -m state --state NEW -j ACCEPT
A mon avis, il serait plus simple et pas moins sur d'autoriser tous les
paquets en sortie...
> # autorisation de connection au serveur MAIL
> iptables -A INPUT -p tcp --dport 25 -j ACCEPT
pas necessaire dans ton cas (viviblement, tu recois les mails par pop,
et non smtp, ce qui signifie une connexion sortante et non entrante).
> # enlever le firewalling pour edonkey
> iptables -A INPUT -p tcp --dport 4662 -j ACCEPT
Il faut faire la meme chose pour le port 113 (ident), et eventuellement
utiliser un serveur ident (paquet pidentd, par exemple).
> # upload en DCC
> iptables -I INPUT -m state --state RELATED -j ACCEPT
Je pense que ca marche, mais je n'ai jamais utilise ca.
Notes aussi que la regle drop n'est pas tres polie : reject renvoie un
paquet icmp qui informe l'autre bout de ce qui se passe, pour qu'il
n'attende pas eternellement une reponse qui ne viendra pas.
Quelque chose de beaucoup plus simple marcherait (a mon avis) aussi bien
(en fait mieux, en l'occurence) que ce que tu a pondu, genre :
- Positionner les policies en DROP pour INPUT, et ACCEPT pour
OUTPUT.
- Autoriser les paquets venant de localhost.
- Autoriser les paquets tcp sans flags syn a rentrer.
(connexions deja etables), ou utiliser ta regle qui fait la
meme chose avec le connexion tracking (peut etre plus elegant).
- Autoriser les ports 113 et 4662 en entree.
Attention egalement pour les requetes DNS udp, s'il y en a.
Pour le DCC, ta regle est probablement adaptee.
Une derniere remarque : si tu n'as rien de tres complique qui tourne,
desactiver tous les services inutiles (desinstaller les serveurs et
jeter un oeuil dans /etc/inetd.conf) peut etre tout aussi efficace.
--
Jeremie Koenig <sprite@sprite.fr.eu.org>
Reply to: