OVH Cloud OVH Cloud

Firewall Checkpoint ... et FTP

27 réponses
Avatar
Ascadix
B'soir tout le monde

J'ai un truc qui m'ennui, j'ai besoin de mettre en ligne un FTP, mais le FW
m'emm...

Coté FTP, un p'tit FileZilla, monté configuré .. il tourne nickel en LAN et
entre LAN .. et entre un LAN et la DMZ ( depuis un PC qui à full accés vers
la DMZ )

Par contre, dés qu'il s'agit de l'atteindre à travers le FW depuis internet
..ça cafouille en mode PASV.

- la connexion initiale : ok
- login / pwd : ok ( il n'y a pas d'accés anonymous )

et là ..
- en mode PORT ..ça marche, list, get put ...
- en mode PASV ..le client déconnecte *instantanément* aprés l'envoi de la
commande PASV, or si je regarde la console du serveur, celui-ci à bien
envoyé une réponse PASV avec des valeurs correctes


Je soupçonne fortement un pb dans la config du FW ( un Checkpoint NG )
..sauf que je séche
- il ya une régle ...
source = ANY --> cible = FTP --> service = FTP
et d'aprés la doc c'est censée être suffisant sur cette génération de FW.
j'ai quand même essayer d'ajouter une régle pour spécifier ma plage de port
pour le PASV ( 10 ..amplement suffisants, les même que configuré dans le
FileZilla) ..mais je cherche encore la nuance entre toutes les variantes de
FTP-xxx dans les options de type de protocol.
faut utiliser quoi ?

l'idée bien sur étant d'ouvrir le moins possible ... comme d'hab quoi :-)

Merci d'avance pour les infos, pistes, sugestions ..ou mieux ..solutions :-)


--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça arrive.

10 réponses

1 2 3
Avatar
Ascadix
Nina Popravka viens de tapoter sur son clavier ....
<news:

On 02 Jun 2007 16:03:19 GMT, "Ascadix" wrote:

Si au moin je comprenais ce que ça veut dire en clair ce log "IP
mismatch header / command ..", mais je trouve que dalle dans les
docs chkpoint


Ton client est derrière du NAT ?


même pb avec 2 clients :
- 1 juste devant mon FW, sur une IP publique de ma plage ( non translaté
celle-là )
- 1 au loin sur internet deriere une LiveBox


--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça arrive.


Avatar
Nina Popravka
On 02 Jun 2007 16:17:42 GMT, "Ascadix" wrote:

même pb avec 2 clients :
- 1 juste devant mon FW, sur une IP publique de ma plage ( non translaté
celle-là )
- 1 au loin sur internet deriere une LiveBox


J'aime bien la transparence de la doc du machin :

"FTP Bounce Attack
To conform with the FTP protocol, the PORT command has the originating
machine specify an arbitrary destination machine and port for the data
connection. However, this behavior also means that an attacker can
open a connection to a port of the attacker's choosing on a machine
that may not be the originating client. Making this connection to an
arbitrary machine for unauthorized purposes is the FTP bounce
attack.
As the FTP bounce attack is aimed at the firewall, SmartDefense
neutralizes it by performing a multitude of mandatory tests in the
kernel."

Quant à savoir ce qu'est au juste la multitude de mandatory tests, on
peut se brosser ;->
--
Nina

Avatar
Ascadix
Nina Popravka viens de tapoter sur son clavier ....
<news:

On 02 Jun 2007 16:17:42 GMT, "Ascadix" wrote:

même pb avec 2 clients :
- 1 juste devant mon FW, sur une IP publique de ma plage ( non
translaté celle-là )
- 1 au loin sur internet deriere une LiveBox


J'aime bien la transparence de la doc du machin :

"FTP Bounce Attack
To conform with the FTP protocol, the PORT command has the originating
machine specify an arbitrary destination machine and port for the data
connection. However, this behavior also means that an attacker can
open a connection to a port of the attacker's choosing on a machine
that may not be the originating client. Making this connection to an
arbitrary machine for unauthorized purposes is the FTP bounce
attack.
As the FTP bounce attack is aimed at the firewall, SmartDefense
neutralizes it by performing a multitude of mandatory tests in the
kernel."

Quant à savoir ce qu'est au juste la multitude de mandatory tests, on
peut se brosser ;->


J'ai brossé ...

J'ai des cloques ...

La broisse n'a plus de poils ....

Mais pour la soluce ..peau de bal ..


Le seul truc que j'arrive à imaginer avec cette description, ça serait que
le FW n'accepterais pas un trame FTP avec une réponse "entering PASV
gnagnagna..." parceuqe la réponse contient une adresse publique ..alors que
la trame, lorsque elle arrive au FW provient d'une IP privée ..( forcement
puisque mon FTP est en DMZ )

Mais ça serait débile avec un "D" majuscule ....ou alros un Bug avec un
grand "B" ...sauf que j'ai beau fouiller je ne trouve null part trace de ce
grne de bug sur internet.


--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça arrive.


Avatar
Nina Popravka
On 02 Jun 2007 19:08:52 GMT, "Ascadix" wrote:

Le seul truc que j'arrive à imaginer avec cette description, ça serait que
le FW n'accepterais pas un trame FTP avec une réponse "entering PASV
gnagnagna..." parceuqe la réponse contient une adresse publique ..alors que
la trame, lorsque elle arrive au FW provient d'une IP privée ..( forcement
puisque mon FTP est en DMZ )


C'est aussi pour ça que je te demandais si tu avais du NAT...
M'enfin si l'explication est de ce côté, ça veut dire qu'avec ce
machin, le serveur FTP, il risque pas de communiquer avec grand
monde....
--
Nina

Avatar
Denis Cil
"Ascadix" a écrit dans le message de news:
4661c037$0$25947$


Le seul truc que j'arrive à imaginer avec cette description, ça serait que
le FW n'accepterais pas un trame FTP avec une réponse "entering PASV
gnagnagna..." parceuqe la réponse contient une adresse publique ..alors
que la trame, lorsque elle arrive au FW provient d'une IP privée ..(
forcement puisque mon FTP est en DMZ )


Heu : autoriser sortant local, en transit, NAT tcp depuis 20 :)

Avatar
Pascal Hambourg
On 02 Jun 2007 19:08:52 GMT, "Ascadix" wrote:

Le seul truc que j'arrive à imaginer avec cette description, ça serait que
le FW n'accepterais pas un trame FTP avec une réponse "entering PASV
gnagnagna..." parceuqe la réponse contient une adresse publique ..alors que
la trame, lorsque elle arrive au FW provient d'une IP privée



Si le firewall traite de la même façon les commandes PORT et les
réponses aux commandes PASV, ce serait une explication plausible.

De ce que tu viens de dire, je déduis que :
- le serveur a une adresse privée, est masqué derrière un dispositif qui
fait du NAT et accessible grâce à une redirection de port ;
- il est configuré pour envoyer l'adresse publique dans ses réponses aux
commandes PASV au lieu de son adresse privée.

Si tel est le cas, où le dispositif qui fait le NAT est-il situé par
rapport au firewall et au serveur FTP ?

Si ton serveur FileZilla supporte le mode passif étendu (avec la
commande EPSV dont la réponse ne contient que le port et pas l'adresse,
redondante) qu'est-ce que ça donne avec un client supportant aussi le
mode passif étendu ?

Qu'est-ce que ça donne si le serveur FileZilla est configuré pour
envoyer sa propre adresse privée au lieu de l'adresse publique ?
Tu as écrit qu'un autre serveur FTP situé au même endroit n'a pas de
problème en mode passif, comment est-il configuré pour ce mode ?
Renvoie-t-il son adresse privée ou l'adresse publique ?

..( forcement puisque mon FTP est en DMZ )



Vois pas trop le rapport entre DMZ et adresse privée.

C'est aussi pour ça que je te demandais si tu avais du NAT...


Mais tu aurais dû demander si c'était le serveur qui était derrière du
NAT, plutôt que le client. Généralement, les problèmes arrivent :
- en mode actif quand le client est derrière du NAT ;
- en mode passif quand le serveur est derrière du NAT.

M'enfin si l'explication est de ce côté, ça veut dire qu'avec ce
machin, le serveur FTP, il risque pas de communiquer avec grand
monde....


Pas forcément, si le dispositif NAT qui fait la redirection de port sait
modifier comme il faut le contenu des réponses du serveur aux commandes
PASV en y mettant l'adresse publique en même temps qu'il remplace
l'adresse source des paquets IP les contenant. Je ne crois pas m'avance
en disant que la majorité des dispositifs NAT savent le faire pour les
commandes PORT, et ce n'est guère plus difficile d'en faire autant pour
les réponses PASV.


Avatar
Ascadix
Pascal Hambourg viens de tapoter sur son clavier ....
<news:f3t0vu$15ad$

On 02 Jun 2007 19:08:52 GMT, "Ascadix" wrote:

Le seul truc que j'arrive à imaginer avec cette description, ça
serait que le FW n'accepterais pas un trame FTP avec une réponse
"entering PASV gnagnagna..." parceuqe la réponse contient une
adresse publique ..alors que la trame, lorsque elle arrive au FW
provient d'une IP privée



Si le firewall traite de la même façon les commandes PORT et les
réponses aux commandes PASV, ce serait une explication plausible.

De ce que tu viens de dire, je déduis que :
- le serveur a une adresse privée, est masqué derrière un dispositif
qui fait du NAT et accessible grâce à une redirection de port ;
- il est configuré pour envoyer l'adresse publique dans ses réponses
aux commandes PASV au lieu de son adresse privée.

Si tel est le cas, où le dispositif qui fait le NAT est-il situé par
rapport au firewall et au serveur FTP ?


C'est le FW lui-même qui assure ça, toutes les translations sont configurées
dedans. Il à une patte coté DMZ, une patte vers le routeur avec un p'tit
switch sur lequel je branche éventuellement une machine jouant le role de
client extérieur en utilisant une de mes adresse publiques ( non translaté
celle-là bien sur)

Si ton serveur FileZilla supporte le mode passif étendu (avec la
commande EPSV dont la réponse ne contient que le port et pas
l'adresse, redondante) qu'est-ce que ça donne avec un client
supportant aussi le mode passif étendu ?


Rien vu coté EPSV, je vais fouiller un peu la doc, mais ça ne me dit rien
( et surtout ..je risque fort d'avoir en face des vieux trucs et surtout
..des personnes résolument non-informaticiens, donc j'ai besoin d'un truc
qui marche simplement. )

Autre info, coté serveur et client, même résultats avec :
- FilleZilla / CesarFTP en serveurs
- FilleZilla / LeechFTP / FireFox en clients

Qu'est-ce que ça donne si le serveur FileZilla est configuré pour
envoyer sa propre adresse privée au lieu de l'adresse publique ?


Bonne question ...je suis pas sur, j'ai pas trop essayer ça, il me semble
que le FW ne proteste pas, je uis vraiment pas sur.
Je vais refaire l'essai précis demain.

Tu as écrit qu'un autre serveur FTP situé au même endroit n'a pas de
problème en mode passif, comment est-il configuré pour ce mode ?
Renvoie-t-il son adresse privée ou l'adresse publique ?


Mouaip, situé sur la même DMZ, avec une autre paire d'IP public/privée
Il n'est pas configuré, il fait ce qu'il veut, c'est un Proftpd sur un
linux, aucune config de déclarée pour le mode passif, d'aprés la doc il ne
devrait donc pas répondre aux PASV ..mais il y répond et le FW laisse
passser, les clients arrivent à se connecter dessus en PASV, j'ai pas vu de
log coté serveur, et coté client ça semble recevoir des réponses contenants
l'IP publique et un port du coté de 49000-50000

..( forcement puisque mon FTP est en DMZ )



Vois pas trop le rapport entre DMZ et adresse privée.


ben ... mes machine en DMZ ont une adresse privée sur leur config, et je
translate au niveau du FW, je n'ai aucune machine posée avec une adresse
publique directement.

C'est aussi pour ça que je te demandais si tu avais du NAT...


Mais tu aurais dû demander si c'était le serveur qui était derrière du
NAT, plutôt que le client. Généralement, les problèmes arrivent :
- en mode actif quand le client est derrière du NAT ;
- en mode passif quand le serveur est derrière du NAT.


Oui, le serveur est sur une IP privée, je translate au niveau du FW.
Pour le serveur FTP, j'ai remplit la petite option permettant de lui
spécifier l'adresse IP publique à renvoyer dans les réponses à PASV,
justement dans le cas ou le serveur est deriere un NAT.

M'enfin si l'explication est de ce côté, ça veut dire qu'avec ce
machin, le serveur FTP, il risque pas de communiquer avec grand
monde....


Pas forcément, si le dispositif NAT qui fait la redirection de port
sait modifier comme il faut le contenu des réponses du serveur aux
commandes PASV en y mettant l'adresse publique en même temps qu'il
remplace l'adresse source des paquets IP les contenant. Je ne crois
pas m'avance en disant que la majorité des dispositifs NAT savent le
faire pour les commandes PORT, et ce n'est guère plus difficile d'en
faire autant pour les réponses PASV.


Mouaip .. j'était en train de commencer à penser à un truc de ce genre-là en
lisant/répondant aux phrases précedentes ...
Un autre essai à faire demain, vu que pour mes 2 serveur ..j'ai justement
fait gaffe à bien renseigner l'IP publique à renvoyer pour les réponses PASV
..comme avec un bon vieux NAT pas trop évolué.

La suite demain ..aprés qq tests ..

Merci pour ton intéret et les (bonnes ? ;-) idées.


--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça arrive.



Avatar
Ascadix
Denis Cil viens de tapoter sur son clavier ....
<news:4661de1d$0$27390$

"Ascadix" a écrit dans le message de news:
4661c037$0$25947$


Le seul truc que j'arrive à imaginer avec cette description, ça
serait que le FW n'accepterais pas un trame FTP avec une réponse
"entering PASV gnagnagna..." parceuqe la réponse contient une
adresse publique ..alors que la trame, lorsque elle arrive au FW
provient d'une IP privée ..( forcement puisque mon FTP est en DMZ )


Heu : autoriser sortant local, en transit, NAT tcp depuis 20 :)


ça passe puisque en mode PORT, la comm SRV >> client est établie sans pb

ou alors il me manque un truc ?


--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça arrive.


Avatar
Nina Popravka
On 03 Jun 2007 18:04:42 GMT, "Ascadix" wrote:

Qu'est-ce que ça donne si le serveur FileZilla est configuré pour
envoyer sa propre adresse privée au lieu de l'adresse publique ?
Bonne question ...je suis pas sur, j'ai pas trop essayer ça, il me semble

que le FW ne proteste pas, je uis vraiment pas sur.
Je vais refaire l'essai précis demain.
Je sais pas si Filezilla le fait (j'imagine que oui, mais je ne

l'utilise pas), mais Cerberus sait faire, ça j'en suis certaine, je
m'en sers.
--
Nina


Avatar
Denis Cil
Ascadix le 03 juin 2007 a déposé dans les nouilles:

Si ton serveur FileZilla supporte le mode passif étendu (avec la
commande EPSV dont la réponse ne contient que le port et pas
l'adresse, redondante) qu'est-ce que ça donne avec un client
supportant aussi le mode passif étendu ?


Rien vu coté EPSV, je vais fouiller un peu la doc, mais ça ne me dit
rien ( et surtout ..je risque fort d'avoir en face des vieux trucs et
surtout ..des personnes résolument non-informaticiens, donc j'ai
besoin d'un truc qui marche simplement. )


Aucun problème, je viens d'installer FileZilla à l'arrache, un test sur
g6ftpserver donne :

* About to connect() to denis_cil.monserveur.lol port 21
* Trying 81.198.246.192... connected
* Connected to deniscil.monserveur.lol (81.198.246.192) port 21
< 220-%Hello
< 220 %Login and password

USER denis
< 331 Password required for denis


PASS *****
< 230 Logged on


PWD
< 257 "/" is current directory.

* Entry path is '/'

CLNT Testing from http://www.g6ftpserver.com/ftptest from IP
81.198.246.192

< 200 Don't care

FEAT
< 211-Features:

< MDTM
< REST STREAM
< SIZE
< MLST type*;size*;modify*;
< MLSD
< UTF8
< CLNT
< 211 End

EPSV
* Connect data stream passively

< 229 Entering Extended Passive Mode (|||1078|)
* Trying 81.198.246.192... connected
* Connecting to 81.198.246.192(81.198.246.192) port 1078

TYPE A
< 200 Type set to A


LIST
< 150 Connection accepted




--
Denis


1 2 3