Ftp et iptables

Fermé
karon - 28 juil. 2009 à 12:22
 karon - 30 juil. 2009 à 17:17
Bonjour,

J'ai un petit soucis avec IPtables et mon serveur FTP (sur la même machine Ubuntu 8.10)
En fait je souhaite que l'on puisse se connecter à mon serveur FTP or mes règles iptables font qu'on ne peut
récupérer la liste des fichiers.
voici mes règles concernant le FTP:

#!/bin/bash

#eth0

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 20,21 -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dport 20,21 -j ACCEPT

Si quelqu'un a une idée :) parce que la je sèche complétement. MERCI !
A voir également:

13 réponses

foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532
28 juil. 2009 à 14:44
Bonjour,

Ca se passe dans ton fichier de configuration de ton serveur FTP.

a+
0
bonsoir,

pas plus de détails ? :/ je vais quand même fouiller merci!
0
foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532
29 juil. 2009 à 11:29
Commence déjà par donner les détails de ton fichier de config ftp, c'est pas à nous de donner des réponses détaillées à des questions qui ne le sont pas...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 juil. 2009 à 11:48
Salut,

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP


Tu sais à quoi corresponds cette politique pour les chaînes iptables?
Ca correspond au debranchement des cables ou de ton réseau.
Donc malgré les régles iptables, tout est interdit par la politque des chaînes.

Tu dois mettre
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
0
Bonjour,

Désolé de contredire, mais -P, c'est la politique *PAR DEFAUT*.
Il n'y a rien d'incohérent la-dedans si c'est un firewall dit "trust no one" : on DROP tout SAUF ce qui correspond a certaines règles.

"Donc malgré les régles iptables, tout est interdit par la politque des chaînes"
==> Non, si ca correspond à une règle ACCEPT ca va passer, sinon, si ca ne correspond à aucune règle ACCEPT, ca va dropper.

Si tu met toutes les politiques par défaut à ACCEPT, sans aucune règle DROP ; Alors tout passe, et ce n'est plus un firewall.

Bref, tout ca se retrouve en détail dans n'importe quel tuto iptables...

Bisous.
M.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > sluthole
29 juil. 2009 à 12:42
Re,

Désolé de contredire, mais -P, c'est la politique *PAR DEFAUT*.
Il n'y a rien d'incohérent la-dedans si c'est un firewall dit "trust no one" : on DROP tout SAUF ce qui correspond a certaines règles.


Ben, comme tu veux, mais mettre la politique DROP à toutes les chaînes interdit l'accès = débranchement des cables.
0
sluthole > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
29 juil. 2009 à 12:45
Encore désolé mais non,
Si il y a des règles ACCEPT, même avec politique DROP sur toutes les chaines, certains flux vont passer et donc ça ne correspond pas à un débranchement des cables.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > sluthole
29 juil. 2009 à 12:58
Re,

Ben, si tu le dis.
Mais en ce cas je ne suis pas le seul qui se trompe ;-)
Voici mon 1er cours que j'ai lu sur iptables

Le paragraphe en question (le lien http://olivieraj.free.fr/fr/linux/information/firewall/fw-03-06.html )
Définition de la politique (cibles) par défaut : La table filter possède 3 chaînes, donc elles sont toutes les trois à initialiser. Par défaut, on décide donc de tout détruire (DROP) : 
[root@phoenix /]# iptables -t filter -P INPUT DROP
[root@phoenix /]# iptables -t filter -P OUTPUT DROP
[root@phoenix /]# iptables -t filter -P FORWARD DROP

A ce stade là, vous avez court-circuité tout votre système de réseau. Toutes vos connexions réseaux sont hors service. Pas un logiciel que vous utilisez ne peut accéder au réseau, ou à vous propres serveur. J'en veux pour preuve, la commande "ping localhost" ne marche même plus, et pourtant il lui en faut pour ne plus marcher ! 
[olivier@phoenix /]$ ping localhost
PING localhost.sky.net (127.0.0.1) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted

--- localhost.sky.net ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2011ms



Ben, en ce cas je dois reprendre mes cours.
0
karon > sluthole
29 juil. 2009 à 13:00
Salut,

Je suis tout à fait d'accord avec toi sluthole, un pare-feu doit tout refuser et ensuite on lui donne nos règles
sinon ce n'et plus un firewall...

Voici mon fichier de config vsftpd.conf mais je ne comprend pas pourquoi tout se passerais la dedans étant donné que c'est un problème de filtrage:

#daemon en standalone
listen=YES
#Permet d'accepter les connexions anonymes
anonymous_enable=NO
#Oblige les personnes à s'identifier avec un compte utilisateur
local_enable=YES

# Affiche les fichiers caches
force_dot_files=YES

# Permission d'écriture
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

#Ecriture d'un log de fichier (je vous laisse le soin de regler ce parametre)
#xferlog_file=/etc/vsftpd/log...

#Banniere d'affichage a la connexion ftp
#ftpd_banner=/etc/vsftpd/ma_banniere

# active les utilisateurs virtuels
guest_enable=YES
guest_username=www-data

# droits des fichiers uploades
anon_umask=022

# Permet de chrooter la connexion de l'utilisateur
chroot_local_user=YES

# nombre maximum de sessions à 200
# nombre maximum de sessions par IP à 8
max_clients=200
max_per_ip=8

####################################
# Debian customization #
####################################
# Some of vsftpd's settings don't fit the Debian filesystem layout by
# default. These settings are more Debian-friendly.
#
# This option should be the name of a directory which is empty. Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

# utiliser les configurations individuelles pour chaque utilisateur
user_config_dir=/etc/vsftpd/vsftpd_user_conf


En attendant je vais essayer en supprimant la règle
IPTABLES -A OUTPUT -p tcp -m multiport --dport 20,21 -j ACCEPT

Je rappelle juste ce que je veux faire: que les machines de mon LAN et celles de l'extérieure accédent à mon serveur FTP.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 juil. 2009 à 11:52
Re,

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Cette régle n'est bonne non plus.
Il faut mettre
iptables -A OUTPUT -m state --state ! INVALID -j ACCEPT


0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 juil. 2009 à 11:54
Re,

iptables -A OUTPUT -p tcp -m multiport --dport 20,21 -j ACCEPT
Tu n'as pas besoin de cette régle.
Le client se connecte sur ton serveur donc les ports 21 et 20 doivent être ouverts.
Pour la sortie de toute façon tu peux laisser tout sortir.
Si dans ton LAN tu as des pc qui ne doivent pas sortir sur net tu n'as qu'à rajouter des régles pour les cas particulières.
0
si je supprime
iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT
mon serveur ne pourra plus se connecter aux serveurs ftp genre les màj ubuntu ou encore le ftp de la freebox.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 juil. 2009 à 13:15
Re,

Essaie tout simplement (au lieu de eth0 mets ton interface réseau) ce script basique

iptables -P INPUT DROP 
iptables -P FORWARD DROP 
iptables -P OUTPUT DROP 

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20:21 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT

0
salut

SA FONCTIONNE !!!!!!
j'ai ajouté ce que tu m'as filé juste au dessus et c'est OK !

et effectivement les lignes que j'ai ajouté en sortie sur les ports 20 et 21 ne servent à rien.
va falloir maintenant que je comprenne comment cela fonctionne avec ces histoires de ESTABLISHED, RELATED...

en tout cas merci les gars!!

bonne journée @+++
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > karon
30 juil. 2009 à 13:50
Salut,

ESTABLISHED, RELATED

Seulement les paquets provenants des nouvelles connexion initialisées par une connexion déjà existante et établie, auront la permission d'entrer.
0
je me suis un peu emballé trop vite :( sa marche pas.

je vais me débrouiller et fouiller un peu plus sur le net.
en tout cas merci pour vos propositions!!
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > karon
30 juil. 2009 à 14:00
Re,

Ben, côté firewall c'est correct donc ce n'est lui qui pose de problèmes
Il faut voir une autre piste.

Tu n'as pas dit si tu as bien configurer ton firebox pour la rédirection de ports.
0
karon > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
30 juil. 2009 à 14:07
pour firefox c'est ok, en fait il utilise le mode passif,
j'ai du ajouter NEW à la règle:

iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

tout est good maintenant, mais il va vraiment falloir que j'en apprene plus sur IPTABLEs parce que là
j'avoue ne pas tout comprendre. en tout cas merci encore :)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 juil. 2009 à 13:16
Re,

Et puisque tu parles de freebox, as-tu configuré la freebox pour qu'elle sache quel pc fait l'office de serveur ftp?!
0
foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532
29 juil. 2009 à 16:58
Au fiat, c'est quoi le message d'erreur que tu reçois ?
0
lami20j je vais essayer ta dernire proposition

foobar47 en fait la connexion se fait bien, mais c'est au moment du "LIST des répertoires"
il mouline et puis me renvoie un message qu'il faudra que je renote et que je posterais.
0
Bonsoir,

foobar47 en fait la connexion se fait bien, mais c'est au moment du "LIST des répertoires"
il mouline et puis me renvoie un message qu'il faudra que je renote et que je posterais.


Typique d'un ftp vers un serveur Windows. En général ils ne connaissent pas le mode passif.
Cela veut dire que c'est le serveur qui initialise les transferts... et le pare-feu doit accepter les connexions entrantes.

Essayez en mode passif, mais en général avec Windows ça ne marche pas.

Manu
0
foobar47 Messages postés 13536 Date d'inscription jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 532
30 juil. 2009 à 10:54
mon serveur FTP (sur la même machine Ubuntu 8.10) 

Le serveur FTP n'est pas sous Windows.

Essaye de changer le mode sur ton client FTP.
0
finalement c'est ok, j'ai mi en place les régle de lamij20 et en mode actif tout marche!!

merciiiii !!
0