#1 Le 24/05/2008, à 16:35
- shensi
[RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
BOnjour à tous, je pense que le titre est explicite !
J'ai un ftp qui fonctionne parfaitement, seulement j'ai voulu changer ma config et ma sécurité....
J'ai rajouté une barrière iptables tel qu'elle est expiquée sur le lien suivant, sur le même pc qui me sert de serveur ftp
http://www.linux-france.org/prj/inetdoc … rcfirewall
Très bon site par ailleurs
J'ai modifié mon fichier de règle iptables en rajoutant ces 2 règles là :
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 40000:40100 -j allowed
Pour accepter (ou du moins authoriser les requêtes provenant du port 21 pour les connexions ftp au serveur et les requêtes provenant des ports 40000:40100 permettant l'accès à mon serveur ftp en mode passif à travers ce parfeu
Le problème c'est que j'arrive pas à lister le contenu des fichiers dans le répertoire d'accueil de mes utilisateurs .... Disons que la connexion sur le port 21 se fait bien mais entré en mode passif... big bug
Statut : Connexion sur 192.168.X.X:21...
Statut : Connexion établie. Attente du message d'accueil...
Réponse : 220 Welcome les gens!
Commande : AUTH TLS
Réponse : 234 Proceed with negotiation.
Statut : Initialisation TLS...
Commande : USER plop
Statut : Vérification du certificat...
Statut : Connexion TLS/SSL établie.
Réponse : 331 Please specify the password.
Commande : PASS ***********
Réponse : 230 Login successful.
Commande : PBSZ 0
Réponse : 200 PBSZ set to 0.
Commande : PROT P
Réponse : 200 PROT now Private.
Statut : Connecté
Statut : Récupération du contenu du répertoire...
Commande : PWD
Réponse : 257 "/"
Commande : TYPE I
Réponse : 200 Switching to Binary mode.
Commande : PASV
Réponse : 227 Entering Passive Mode (86,69,136,197,156,136)
Commande : LIST
Erreur : Délai d'attente expiré
Erreur : Échec à la lecture du contenu du répertoire
Quoi dois-je rajouté dans mon fichier rc.firewall correspondant au lien que je vous ai donné pour permettre à mon parfeu d'autoriser les utilisateurs à ouvrir des connexions entre les ports 40000:40100 de mon parfeu ???
Voyez vous le dilemne ?
Merci d'avance
shensi
Dernière modification par shensi (Le 26/05/2008, à 22:42)
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne
#2 Le 25/05/2008, à 16:18
- shensi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Je recherche toujours la solution à mon souci, si quelqu'un qui maitrise un peu les règles iptables pouvait me faire un petit signe ca serait chouette..... Merci d'avance
...-...up...-....
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne
#3 Le 25/05/2008, à 19:42
- tekpi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Pour le mode passif, je ferai ceci :
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 40000:40100 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 40000:40100 -j ACCEPT
J'ai eut le même pb que toi, mais moi c'était pour des clients qui utilisaient mon parefeu/gateway pour aller sur des sites ftp.
J'ai activé ces 2 options dans mon fichier firewall
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
Les règles iptables sont volontaires simples et pas très sécurisées comme tu l'as remarqué. On peaufinera si nécessaire.
A toi.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#4 Le 25/05/2008, à 20:39
- shensi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Cool ! merci je viens de reprendre mes recherches et j'ai trouvé moultes personnes qui ont essayé de faire la même chose que moi...
Du coup c'est là que j'ai découvert le module ip_conntrack_ftp
Qui d'après ce que j'ai compris me permet de ne pas avoir à mettre ces 2 lignes là:
iptables -A INPUT -p tcp -i eth0 --dport 40000:40100 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 40000:40100 -j ACCEPT
http://www.linux-france.org/prj/inetdoc … ocols.html
le problème actuel est que je ne sais pas si ce module est bien chargé la preuve from scratch : ( ip_conntrack_ftp n'apparait pas)
#/sbin/modprobe ip_conntrack_ftp
# lsmod |grep conntrack
nf_conntrack_ftp 11136 0
nf_conntrack_ipv4 19724 8 iptable_nat
nf_conntrack 65160 5 nf_conntrack_ftp,xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
nfnetlink 6936 3 nf_nat,nf_conntrack_ipv4,nf_conntrack
nf_conntrack_ftp correspond t il à ip_conntrack_ftp ?
Etant donné que la machine qui héberge le serveur ftp est aussi mon parfeu iptable, je n'ai pas à activer ip_nat_ftp ?
Bon j'ai essayé avec tes modif mais ca marche pas... dans le doute je peux envoyer mon script rc.firewall si vous le voulez bien
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne
#5 Le 25/05/2008, à 20:42
- tekpi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Peux-tu essayer avec ton script firewall grand ouvert, afin déjà de savoir si le pb provient du firewall ou de la config?
De mes souvenirs, lorsque je me suis penché sur le pb, j'ai du mettre les règles iptables malgré le ip_conntrack_ftp.
A toi
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#6 Le 25/05/2008, à 21:05
- shensi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Bien vu l'aveugle...
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Ca passe toujours pas...
Je te montre mon fichier vsftpd.conf si tu le veux bien
## Option du demon #
#####################################
# Ceci configure vsFTPd en mode "standalone"
listen=YES
listen_port=21
#ftp_data_port=40000
######################################
### Option des utilisateurs #
######################################
# On déctive les connexions anonymes
# et on active les non-anonymes(c'est le cas des utilisateurs virtuels):
anonymous_enable=NO
local_enable=YES
local_umask=077
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
# Pour des raisons de séritén interdit toute action d'éiture:
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
# 'guest_enable' est trèimportant: cela active les utilisateurs
# virtuels!
# 'guest_username' fait correspondre tous les utilisateurs virtuels Ã
# l'utilisateur 'ftp' que nous avons déni plus haut, et au home
# correspondant: '/home/ftp/'.
guest_enable=YES
guest_username=ftp
# On veut que les utilisateurs virtuels restent chez eux: '/home/ftp/'
chroot_local_user=YES
# On déni le nombre maximum de sessions à 00(les nouveaux clients
# recevront
# un message du genre: "erreur: serveur occupé.
# On déni le nombre maximum de sessions par IP Ã
max_clients=4
#max_per_ip=1
# Activer la configuration per-user
user_config_dir=/etc/vsftpd/vsftpd_user_conf
# Autooriser les utilisateurs de lister les repertoires
dirlist_enable=YES
# Baniere de login
ftpd_banner=Welcome les gens!
# Activer les messages de repertoires
dirmessage_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#############################
## Option de connexion a partir d'internet #
#############################
# Utilisation du mode PASV
pasv_enable=YES
pasv_promiscuous=NO
pasv_max_port=40100
pasv_min_port=40000
pasv_address=mondomaine.info
pasv_addr_resolve=YES
#port_enable=NO
#port_promiscuous=NO
# Autres options
#data_connect_timeout=300
####################
## Gestion des logs #
#####################
# Utilisation de 2 fichiers de logs ?
dual_log_enable=YES
# Fichier de logs de vsftpd
vsftpd_log_file=/var/log/vsftpd.log
# Utiliser syslog plutot que le fichier de logs de vsftpd ?
syslog_enable=NO
# Utilisation de xferlog
#xferlog_enable=YES
#xferlog_file=/var/log/xferlog
#xferlog_std_format=YES
# Logguer toutes les requetes et reponses ?
log_ftp_protocol=YES
###################################
### Option de connexion via SSL #
###################################
# Options for SSL encrypted connections.
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
Voilà voilà bé j'attends vis commentaire
Merci d'avance
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne
#7 Le 25/05/2008, à 21:10
- shensi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Heuuu pardon pardon !!
Ca marche en fait, c'est juste parce que j'avais laissé mon domaine dynamique dans mon ficheir vsftpd.conf ! du coup vu que je test sur un autre pc dnas mon réseau local pas moyen de lister les répertoires.
Donc sans parfeu ca marche bien ! d'ailleurs il marchait bien avant que j'essaye de configurer mes règles iptables
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne
#8 Le 25/05/2008, à 21:14
- tekpi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
As-tu activé les 2 modules que je t'ai indiqué plus haut?
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#9 Le 25/05/2008, à 22:14
- shensi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Bon visiblement ca marche, j'avais pas activé les 2 modules....
J'ai mis les 4 lignes pour le mode passif que tu m'as donné
C'est cool en fait, bcp de prise de tête pour pas grand chose...
Les règles iptables sont volontaires simples et pas très sécurisées comme tu l'as remarqué. On peaufinera si nécessaire.
vivivi !!!
Ecoute j'attends tes conseils maintenant
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne
#10 Le 25/05/2008, à 22:54
- tekpi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Une première bonne nouvelle alors
Après réflexion, je pense, si tu veux que ton serveur ftp soit visible, qu'il ne faut pas compliquer la règle.
Indique moi quelle utilisation tu comptes faire de ton serveur, pour voir si on peut rajouter qq sécurités en plus
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#11 Le 25/05/2008, à 23:48
- shensi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Quest ce que tu veux dire dans tes propos ?
Bé l'intérêt d'un serveur ftp ca semble évident ! Qu'est ce que tu veux que je te dise de plus ?
Et qu'est ce que t'entend par:
Après réflexion, je pense, si tu veux que ton serveur ftp soit visible, qu'il ne faut pas compliquer la règle.
Donnes moi plus d'info !
Allez allioli
Dernière modification par shensi (Le 25/05/2008, à 23:50)
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne
#12 Le 25/05/2008, à 23:52
- tekpi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
Déjà savoir si c'est un ftp publique ou bien si c'est pour 2 sites distants que tu gères (histoire d'indiquer une source à tes requêtes par ip fixe ou dns par ex.).
Ensuite, mais je n'en vois pas l'interet, c'est d'utiliser la valeur d'état d'iptables (-m state --state etc...).
Plutôt clair, moins j'ai d'infos, plus on doit simplifier la règle de firewall.
Et si c'est un ftp publique, la règle se devra d'être simple pour ne pas se retrouver bloquer par le firewall.
Je te conseille de faire plusieurs essaies pour optimiser au mieux la règle en fonction de ce que tu veux faire de ton serveur (voir ma première phrase)
Voilou, j'espère avoir été clair, si non, pour ma défense, il se fait tard lol
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#13 Le 26/05/2008, à 19:01
- shensi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
lol dsl mais tes questions semblaient un peu trop intéressées.... lol
c'est pour 2 sites distants
Les -m state semblaient pas mal, seulemnt là je veux bien avoir une réponse :
- soit j'utilise les m state pour authoriser les requêtes de type new, established, related entre 40000 et 40100. Dans mon cas je n'ai pas trop le choix, c'est les 3 obligés (le new peut être un blem au point de vue de la sécurité mais y a pas le choix puisque c'est le client qui établi la connexion en premier dans cette plage de port)
-soit ip_conntrack_ftp& ip_nat_ftp permettent d'après ce que j'ai compris de s'occuper de vérifier si les requêtes provenant des ports 40000:40100 sont authorisé ou non. Autrement dit il gère les NEW,ESTABLISHED,RELATED pour toi. DU coup les 2 lignes que tu me dis de rajouter ne sont pas obligées...:
iptables -A INPUT -p tcp -i eth0 --dport 40000:40100 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 40000:40100 -j ACCEPT
enfin ... des commentaires ?
Amicalement, un ubuntero
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne
#14 Le 26/05/2008, à 22:24
- tekpi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
perso, j'ai du utiliser les modules + les règles de firewall.
Bon, on est bon?
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#15 Le 26/05/2008, à 22:40
- shensi
Re : [RESOLU][iptables][vsftpd] règles pour un ftp en mode passif
bah ouais impeccable : thank you bien tekpi
allez je résoud
A ciao bonsoir !
Distrib: Ubuntu 9.04
Citation : Si chuck Norris te dit que ta mère est bonne... tu peux l'appeler Papa
Hors ligne