Page 1 sur 1
[Réseau] Iptables et FTP (résolu)
Publié : lun. 15 avr. 2013, 19:28
par Phyks
Bonjour,
J'ai paramétré iptables sur ma machine de bureau pour tout dropper par défaut et j'autorise les connexions au cas par cas.
J'ai cependant un problème avec le FTP, je n'arrive pas à me connecter à un serveur FTP depuis ma machine et ce quelque soit la configuration d'iptables (en autorisant le trafic sur le port 21 par exemple).
J'ai vu sur divers sites qu'il faut charger le module ip_conntrack_ftp mais je ne peux pas le charger sur ma machine (modprobe exits with status 1).
Auriez-vous une configuration fonctionnelle d'iptables pour accéder à un ftp distant ?
Merci
Re: [Réseau] Iptables et FTP
Publié : lun. 15 avr. 2013, 19:35
par benjarobin
C'est normal que cela ne fonctionne pas, un client FTP utilise 2 ports. Sinon poste ta configuration. Un conseil utilise ceci les états, voir "
-m conntrack --ctstate
" anciennement "
-m state --state
"
Un exemple de configuration qui sécurise mieux que de spécifier des ports de sorties
Code : Tout sélectionner
# Configuration : Interface exemple wlan0, eth0
INTERFACE="eth0"
PLAGE_LOCAL="192.168.0.0/24"
# Suppression de toutes les chaines pré-definies de la table FILTER
iptables -t filter -F
# Suppression de toutes les chaines utilisateur de la table FILTER
iptables -t filter -X
# Par défaut, toute les paquets sont détruits
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
# Autorise l'interface loopback a dialoguer avec elle-même
iptables -t filter -A OUTPUT -o lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
iptables -t filter -A INPUT -i lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
# Autorise les connexions entrantes avec le réseau locale depuis "PLAGE_LOCAL" connecte a l'"INTERFACE"
# Optionnel, voir dangereux sur un Wifi public, uniquement à utiliser pour que tous les PC de ton réseaux
# locale aient accès à l'intégralité des ports
iptables -t filter -A OUTPUT -o $INTERFACE -s $PLAGE_LOCAL -d $PLAGE_LOCAL -j ACCEPT
iptables -t filter -A INPUT -i $INTERFACE -s $PLAGE_LOCAL -d $PLAGE_LOCAL -j ACCEPT
# SSH (pour un serveur SSH sur ton PC)
iptables -t filter -A OUTPUT -o $INTERFACE -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --sport 22 -j ACCEPT
iptables -t filter -A INPUT -i $INTERFACE -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 22 -j ACCEPT
# Autorise les connexions avec l’extérieur uniquement si elles sont initialisées par les processus locaux
iptables -A OUTPUT -o $INTERFACE -d 0.0.0.0/0 -p all -m conntrack ! --ctstate INVALID -j ACCEPT
iptables -A INPUT -i $INTERFACE -s 0.0.0.0/0 -p all -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Re: [Réseau] Iptables et FTP
Publié : lun. 15 avr. 2013, 19:41
par Phyks
J'ai ceci dans mon iptables.rules pour l'instant :
Code : Tout sélectionner
iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1023:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
et je droppe tout en output par défaut.
Mais quand je me connecte à un ftp, ça ne marche pas (ça bloque après "entering passive mode" dans filezilla avec le ftp que j'ai testé).
Re: [Réseau] Iptables et FTP
Publié : lun. 15 avr. 2013, 19:45
par benjarobin
Tout d'abord "-m state --state" est déprécié, de plus je ne vois pas l’intérêt de filtrer sur les ports en sortie. Si tu autorise au moins un port de sortie alors tout programme pourra obtenir une connexion extérieur (Il suffira qu'il utilise un autre port).
Sinon j'ai précisé dans mon message précédent que le client FTP utilise 2 ports...
Re: [Réseau] Iptables et FTP
Publié : mar. 16 avr. 2013, 03:04
par lekaf974
Salut,
Je pense que pour un serveur vérifier quels ports entrant et sortant sont autorisés c'est normal, mais pour un poste de bureau est-ce vraiment nécessaire ?
Sinon pour le FTP tu as les ports 20,21 à autoriser.
Re: [Réseau] Iptables et FTP
Publié : mar. 16 avr. 2013, 19:45
par Phyks
Pour le -m state --state, c'est un mauvais copier/coller. Je l'avais modifié en -m conntrack --ctstate dans mon fichier.
J'ai appliqué la règle de sortie considérant que tout le trafic en sortie, provenant de processus locaux, est légitime. Ne gagne-t-on quand même pas en sécurité en filtrant en plus le trafic en sortie (car c'est ce qu'on voit dans pas mal de doc) ?
Re: [Réseau] Iptables et FTP
Publié : mar. 16 avr. 2013, 19:59
par benjarobin
Bien sûr que tu augmentes la sécurité, pour un serveur c'est raisonnable de le faire. Et encore tu ne fait que rajouter une petite barrière ridicule, n'apportant que peut de sécurité supplémentaire pour une personne voulant "pirater" le PC. D'ailleurs si un processus local s’exécute de manière non voulu par toi même, c'est déjà trop tard... Si le programme est pas trop mal fait il utilisera les ports commun tel que le port 80 qui est forcément ouvert en sortie.
Par contre pour un PC avec une utilisation normal, je n'en voit absolument pas l’intérêt, ce ne sont que des contraintes...
Re: [Réseau] Iptables et FTP
Publié : mar. 16 avr. 2013, 22:18
par Phyks
Ok. Sujet résolu.