Prob de FTP Passif avec MNF

Le MNF (Multi Network Firewall) est un des produits pare-feu les plus richement pourvus en fonctionnalités du marché. Il est basé sur un kernel Linux 2.4 sécurisé. Ce forum est également destiné à accueillir tous les posts concernants les distributions Mandriva (anciennement Mandrake)

Modérateur: modos Ixus

Prob de FTP Passif avec MNF

Messagepar VXgas » 10 Mai 2004 16:57

Salut,

Comme plusieurs personnes j'ai un problème de connexion FTP Passif sous la MNF.
J'ai trouvé quelques renseignements par-ci par là dans des forums sur ce sujet, mais rien de vraiment très clair.

1 - Quel est là règle à utiliser dans shorewall ou iptables pour faire fonctionner un client en FTP passif ?
2 - Eventuellement aussi le cas d'un serveur FTP en DMZ qui devrait être join en FTP passif ?

Est-on obligé d'ouvrir toute une plage de ports, et cela n'est-il pas négatif du point de vue sécurité ?


Merci de votre aide.

-= VX =-
Avatar de l’utilisateur
VXgas
Aspirant
Aspirant
 
Messages: 104
Inscrit le: 03 Fév 2004 01:00

Messagepar Fesch » 10 Mai 2004 17:39

En mode passif, je crois qu'uniquement le port 21 en TCP est nécessaire. C'est tout.
Pourquoi lis-tu ceci???
Avatar de l’utilisateur
Fesch
Amiral
Amiral
 
Messages: 2505
Inscrit le: 11 Sep 2003 00:00
Localisation: Luxembourg

Messagepar Jacques- » 10 Mai 2004 17:46

Le principe du FTP passif est de transmettre au client FTP le port sur lequel il doit contacter le serveur.
En mode actif, on transmet le port sur lequel le client va être contacté par le serveur. D'un point de vue TCP, le serveur FTP est client en mode actif, et serveur en mode passif, ce qui augmente la charge côté CPU, c'est pour cela que le mode passif n'est pas toujours accepté par les serveurs anonymes.

Le mode passif permet donc de transformer la connexion FTP-Data entrante en connexion sortante du point de vue du firewall. Ce cas correspond donc aux firewall stateless, qui sont incapables de suivre le déroulement de la session FTP et ne font que bloquer le trafic entrant.
Pour que cela fonctionne, il faut normalement tout laisser sortir dans le sens LAN->WAN.
Ce n'est pas trop grave pour la sécurité de ce qui entre, mais en cas d'infection par un troyen, le mal est fait et la connexion entrante sera autorisée puisqu'elle fera suite à une connexion sortante autorisée.
Et là c'est nettement plus grave à mon avis.

Il doit être possible de limiter les ports à utiliser en sortie (déjà supérieurs à 1024) en restreignant la plage ouverte. Mais je pense qu'en cherchant du côté du module de suivi de connexion (conntrack) d'iptables on devrait pouvoir trouver une configuration adaptée au mode passif, ou alors définir une règle autorisant la sortie si l'adresse IP demandé/demandeur est déjà dans une session établie en FTP.

J'ai trouvé un très bon document sur iptables chez Christian Caleca (comme tout ce qu'il publie sur son site, vraiment très clair) à l'adresse suivante :
http://christian.caleca.free.fr/pdf/Net ... tables.pdf

Tu devrais pouvoir trouver comment jouer avec les états pour n'autoriser en sortie que ce qui est relatif à une connexion déjà acceptée.

Jacques
Avatar de l’utilisateur
Jacques-
Vice-Amiral
Vice-Amiral
 
Messages: 952
Inscrit le: 23 Jan 2003 01:00

Messagepar VXgas » 10 Mai 2004 18:03

Oui j'ai vu qu'avec le module ip_conntrack_ftp je pourrai faire des choses...

Merci pour tes conseils ;-)

Je vais aller voir cette doc...

-= VX =-
Avatar de l’utilisateur
VXgas
Aspirant
Aspirant
 
Messages: 104
Inscrit le: 03 Fév 2004 01:00

Messagepar Jacques- » 10 Mai 2004 18:12

J'ai trouvé aussi un rapport de stage qui devrait pouvoir t'aider sérieusement :

http://www.formation.jussieu.fr/ars/rap ... nguyen.pdf

Voici quelques extraits

==================================================================
modprobe ip_conntrack_ftp (ça doit déjà être fait à mon avis)

## FTP SERVEUR : Accepte nouvelles connexions EXT2DMZ actif
iptables -A INT2DMZ -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j LOG_ACCEPT
iptables -A INT2DMZ -p tcp --dport 20 -m state --state ESTABLISHED -j LOG_ACCEPT

## passif
iptables -A INT2DMZ -p tcp --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j LOG_ACCEPT

## FTP SERVEUR LINUX : Accepte connexions INT2DMZ ports
## d’accès spécifiques 40000:40050 (passif)
## Les ports ftpaccess sont configurable dans le fichier
## /etc/fppaccess : #passive ports 0.0.0.0 40000 40050

iptables -A INT2DMZ -p tcp --dport 40000:40050 -m state --state ESTABLISHED,RELATED -j LOG_ACCEPT
==================================================================

Ce serait sympa de donner la méthode que tu auras mis en place une fois que tout tournera.

Jacques
Avatar de l’utilisateur
Jacques-
Vice-Amiral
Vice-Amiral
 
Messages: 952
Inscrit le: 23 Jan 2003 01:00

Messagepar VXgas » 10 Mai 2004 18:31

Ah ouais nickel ça ! Merci beaucoup !

Bin ya pas de problème ! Dès que tout fonctionne je décris exactement ce que j'ai fais...

merci encore ;-)
Avatar de l’utilisateur
VXgas
Aspirant
Aspirant
 
Messages: 104
Inscrit le: 03 Fév 2004 01:00

Messagepar Jacques- » 11 Mai 2004 17:10

A priori, la solution (en tant que règles iptables) à ton problème se trouve dans l'exemple de config donné ici :
http://lea-linux.org/reseau/iptables.html

Ensuite, il faudra les adapter aux règles générées par la MNF pour les intégrées via l'interface.

Jacques
Avatar de l’utilisateur
Jacques-
Vice-Amiral
Vice-Amiral
 
Messages: 952
Inscrit le: 23 Jan 2003 01:00

Messagepar Methos_Hi » 11 Mai 2004 17:20

De plus, il est possible de gérer plus finement la chose au niveau du serveur FTP en précisant la plage de ports sur laquelle il peut être contacté en mode passif.

Par exemple pour proftpd :
# Restrict the range of ports from which the server will select when sent the
# PASV command from a client. Use IANA-registered ephemeral port range of
# 49152-65534
PassivePorts 65000 65534
Avatar de l’utilisateur
Methos_Hi
Amiral
Amiral
 
Messages: 1520
Inscrit le: 07 Fév 2004 01:00
Localisation: Ile de France


Retour vers Mandriva MNF & SNF

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Google [Bot] et 1 invité

cron