OVH Cloud OVH Cloud

IPtable, vos conseils?

36 réponses
Avatar
Juv
Voici mon fichier iptable,

Je suis preneur de vos avis.

En gros il me faut le http,ftp,ssh,directadmin(2222),smtp,pop,dns

Je veux autoriser le ping mais sans prendre trop de risques, j'en suis à la:


#!/bin/sh
iptables -F
PATH=/sbin:/bin:/usr/bin:/usr/sbin
/sbin/modprobe ip_conntrack_ftp ports=21,6438

# default policy : DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP

# on accepte les paquets relatifs aux connexions deja ouvertes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# j'accepte le ping (mais ne sais pas comment en limiter le nombre)
iptables -p icmp --icmp-type <ping> -j ACCEPT

# accepte tout ce qui concerne l'interface loopback
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT

# accepte tout ce qui provient de l'adresse xx.xx.xx.xx
#iptables -A INPUT -i eth0 -s xx.xx.xx.xx -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT

# autoriser les requetes DNS, FTP, HTTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT

10 réponses

1 2 3 4
Avatar
Pascal Hambourg
Salut,


En gros il me faut le http,ftp,ssh,directadmin(2222),smtp,pop,dns


En entrée, en sortie ?

Je veux autoriser le ping mais sans prendre trop de risques


En entrée, en sortie ?

#!/bin/sh
iptables -F
PATH=/sbin:/bin:/usr/bin:/usr/sbin
/sbin/modprobe ip_conntrack_ftp ports!,6438

# default policy : DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP


Mets aussi la politique par défaut de FORWARD à DROP.

# on accepte les paquets relatifs aux connexions deja ouvertes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# j'accepte le ping (mais ne sais pas comment en limiter le nombre)
iptables -p icmp --icmp-type <ping> -j ACCEPT


Le type ICMP de <ping> est "echo" ou "echo-request".
Tu peux limiter le nombre à N par seconde avec "-m limit --limit N/s" et
la taille avec "-m length --length 28:N" entre 28 (taille minimum d'un
ping valide) et N.

# accepte tout ce qui concerne l'interface loopback
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT


Le filtrage sur l'état NEW n'est pas vraiment utile sur l'interface de
loopback.

# accepte tout ce qui provient de l'adresse xx.xx.xx.xx
#iptables -A INPUT -i eth0 -s xx.xx.xx.xx -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT


Là par contre, l'état NEW est utile pour ne pas accepter n'importe quoi.
Note que tu peux remplacer toutes ces règles par une seule avec "-m
multiport --dports 22,80,443...".
Tu peux aussi rejeter proprement les autres paquets dans l'état NEW non
ICMP avec REJECT plutôt que de les laisser tomber dans le trou noir de
la politique par défaut DROP.

# autoriser les requetes DNS, FTP, HTTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT


Tu comptes faire des mises à jour par SMTP ? ;-)

J'ai vu que tu avais spécifié le port 6438 pour FTP en option du module
ip_conntrack_ftp, mais je ne le retrouve dans aucune règle iptables ni
en entrée ni en sortie.
Tu pourrais aussi accepter le ping en sortie, ça peut être utile pour
faire des diagnostics.

Avatar
Juv
pascal peux tu me joindre par mail sur


julien(nospam)@kmail.fr


"Pascal Hambourg" a écrit dans le message de
news: efg1k9$6h5$
Salut,


En gros il me faut le http,ftp,ssh,directadmin(2222),smtp,pop,dns


En entrée, en sortie ?

Je veux autoriser le ping mais sans prendre trop de risques


En entrée, en sortie ?

#!/bin/sh
iptables -F
PATH=/sbin:/bin:/usr/bin:/usr/sbin
/sbin/modprobe ip_conntrack_ftp ports!,6438

# default policy : DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP


Mets aussi la politique par défaut de FORWARD à DROP.

# on accepte les paquets relatifs aux connexions deja ouvertes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# j'accepte le ping (mais ne sais pas comment en limiter le nombre)
iptables -p icmp --icmp-type <ping> -j ACCEPT


Le type ICMP de <ping> est "echo" ou "echo-request".
Tu peux limiter le nombre à N par seconde avec "-m limit --limit N/s" et
la taille avec "-m length --length 28:N" entre 28 (taille minimum d'un
ping valide) et N.

# accepte tout ce qui concerne l'interface loopback
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT


Le filtrage sur l'état NEW n'est pas vraiment utile sur l'interface de
loopback.

# accepte tout ce qui provient de l'adresse xx.xx.xx.xx
#iptables -A INPUT -i eth0 -s xx.xx.xx.xx -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT


Là par contre, l'état NEW est utile pour ne pas accepter n'importe quoi.
Note que tu peux remplacer toutes ces règles par une seule avec "-m
multiport --dports 22,80,443...".
Tu peux aussi rejeter proprement les autres paquets dans l'état NEW non
ICMP avec REJECT plutôt que de les laisser tomber dans le trou noir de la
politique par défaut DROP.

# autoriser les requetes DNS, FTP, HTTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT


Tu comptes faire des mises à jour par SMTP ? ;-)

J'ai vu que tu avais spécifié le port 6438 pour FTP en option du module
ip_conntrack_ftp, mais je ne le retrouve dans aucune règle iptables ni en
entrée ni en sortie.
Tu pourrais aussi accepter le ping en sortie, ça peut être utile pour
faire des diagnostics.



Avatar
Pascal Hambourg
pascal peux tu me joindre par mail sur

julien(nospam)@kmail.fr


Mon adresse de réponse est valide. L'autre aussi, d'ailleurs ; ce n'est
pas parce qu'il y a "spam" dedans qu'elle ne l'est pas. ;-)
Mais pourquoi ne pas poursuivre la discussion dans le forum afin que
d'autres puissent y participer et que tous les lecteurs puissent en
profiter ?

Avatar
Juv
Bah parce que je suis tellement debutant que ca va gonfler tout le monde....

J'ai bien lu, avec attention tes remarques pertinantes, pourrais tu réecrire
le fichier iptable en introduisant tes changements?

"Pascal Hambourg" a écrit dans le message de
news: efg3a5$77c$
pascal peux tu me joindre par mail sur

julien(nospam)@kmail.fr


Mon adresse de réponse est valide. L'autre aussi, d'ailleurs ; ce n'est
pas parce qu'il y a "spam" dedans qu'elle ne l'est pas. ;-)
Mais pourquoi ne pas poursuivre la discussion dans le forum afin que
d'autres puissent y participer et que tous les lecteurs puissent en
profiter ?



Avatar
Matthieu Moy
"Juv" writes:

Bah parce que je suis tellement debutant que ca va gonfler tout le monde....


Les newsgroups sont là en partie pour aider les débutants, y'a pas de
mal. Ce qui est à proscrire, c'est d'être à la fois débutant et
flémard (en particulier, ne pas lire les docs avant de poster).

(tant qu'on est dans les bons usages, penses à répondre _sous_ la
question)

J'ai bien lu, avec attention tes remarques pertinantes, pourrais tu réecrire
le fichier iptable en introduisant tes changements?


Là, je crois avoir détecté un comportement de flémard ;-).

Enfin, je suppose que tu voulais dire « j'ai réécrit le fichier en
introduisant tes changements, peux tu me dire ce que tu en penses »,
mais ton clavier a fourché, c'est bien ça ?

--
Matthieu

Avatar
Pascal Hambourg
Bah parce que je suis tellement debutant que ca va gonfler tout le monde....


Pas du tout. Au contraire ça peut intéresser d'autre débutants. D'une
part il n'y a pas de niveau minimum requis dans ce forum, d'autre part
ceux que ça n'intéresse pas sont désormais prévenus et peuvent arrêter
de lire cette discussion. :-)

J'ai bien lu, avec attention tes remarques pertinantes, pourrais tu réecrire
le fichier iptable en introduisant tes changements?


Pour cela il faudrait d'abord que tu répondes aux questions que j'ai
posées :
- Quelles connexions doivent être acceptées en entrée ?
- Quelles connexions doivent être acceptées en sortie ?
- Souhaites-tu autoriser le ping en sortie ?

Avatar
Lesnews
Pour cela il faudrait d'abord que tu répondes aux questions que j'ai
posées :
- Quelles connexions doivent être acceptées en entrée ?
- Quelles connexions doivent être acceptées en sortie ?
- Souhaites-tu autoriser le ping en sortie ?


Bah heu.
Alors en entrée la 2222, le ftp entrée et sortie (pour sauvegarder sur un
serveur backup), ping dans les deux sens, DNS je ne sais pas trop, SMTP je
suppose que c'est en entrée et sortie?

Quel est l'interet du ping en sortie precisement?

Avatar
Matthieu Moy
"Lesnews" writes:

Quel est l'interet du ping en sortie precisement?


Euh, ... de pouvoir utiliser ping sur ta machine ?

C'est quand même pratique en cas de problème réseau de voir si tu peux
au moins pinguer une machine à l'extérieur.

--
Matthieu

Avatar
Lesnews
Exact !

"Matthieu Moy" a écrit dans le message
de news:
"Lesnews" writes:

Quel est l'interet du ping en sortie precisement?


Euh, ... de pouvoir utiliser ping sur ta machine ?

C'est quand même pratique en cas de problème réseau de voir si tu peux
au moins pinguer une machine à l'extérieur.

--
Matthieu



Avatar
Lesnews
ET pour repondre a votre precedent message:

1/ Je me suis documenté, et j'ai pas tout pigé, et les newsgroup ca sert
aussi a cela

2/ Il n'y a pas de feignantise. Que vous ne souhaitiez pas le faire : aucune
soucis. Mais il y a peut etre des gens qui veulent bien le faire, montrer
par l'exemple.
De plus ca aiderait tout le monde.

"Matthieu Moy" a écrit dans le message
de news:
"Lesnews" writes:

Quel est l'interet du ping en sortie precisement?


Euh, ... de pouvoir utiliser ping sur ta machine ?

C'est quand même pratique en cas de problème réseau de voir si tu peux
au moins pinguer une machine à l'extérieur.

--
Matthieu



1 2 3 4