Mixer les ACLs de Squid

Bien le bonjour ! :slight_smile:

Si je me permets de créer un topic sur ce forum, c’est parce que je suis un peu perdu ! :frowning:

Je vais essayer d’être clair, ce n’est pas évident ^^

Je suis actuellement entrain de mettre en place mon projet de stage en entreprise, remplacer un ancien proxy ISA 2000 par un proxy filtrant firewall Linux dans une grosse infrastructure en réseaux !

Pour l’instant, tout va bien ! J’ai réussi pas mal de choses comme l’authentification des groupes d’utilisateurs LDAP Active Directory sur Squid, les règles IPtables etc.

Malheureusement je bloque sur la chose suivante :

Nous voulons autoriser le FTP sur le réseau (mais seulement sur une section du réseau, grâce à une plage d’adresses IP, via IPtables).
L’histoire de règles IPtables, je me débrouille !

PAR CONTRE, j’ai de gros soucis avec Squid…

Si je laisse mon " squid.conf " sans rien changer, la connexion FTP (via FileZilla) est bloquée.

J’ai deux solutions (mais non viables) pour que la connexion FTP fonctionne :

  • Commenter la ligne " http_access deny CONNECT !SSL_ports " pour qu’elle ne soit pas prise en compte.
  • Ajouter dans l’ACL " acl SSL_ports port " TOUS les ports imaginables (0-65535)

J’ai remarqué dans l’access.log de Squid que lors d’une connexion FTP, le port du serveur FTP (AdresseIP:Port) changeait à chaque tentative de connexion. Je me suis dit que cela est normal, il s’agit sûrement de ports dynamiques.

Alors je me suis demandé (oui je sais, j’écris comme je parle lol :D) comme puis-je savoir à l’avance quels ports indiquer dans l’ACL " acl SSL_ports port " pour qu’ils soient validés par la requête " CONNECT " et que la connexion FTP fonctionne ?

J’ai pensé alors à autoriser TOUS les ports pour la requête " CONNECT " MAIS uniquement quand c’est une connexion FTP qui est initiée.

Quelque chose du genre :

acl FTP proto FTP
acl PORTS_FTP port 0-65535
http_access allow CONNECT FTP PORTS_FTP

Mais ça ne fonctionne pas… j’ai cherché sur des tas de sites, sans résultats.

Peut-être que mon idée est mauvaise ou encore que c’est tout simplement impossible à mettre en place.
Je voudrais simplement faire fonctionner le FTP, ça ne doit pas être sorcier d’autant plus que c’est uniquement cette ligne qui me pose problème étant donné que quand je la vire, la connexion marche très bien ^^

Je vous serais très reconnaissant de m’aider, je suis bloqué sur cette étape depuis trop longtemps :stuck_out_tongue:

Merci d’avance et bonne soirée ! :slight_smile:

clpeter

Je dirais que tu devrais plutôt configurer autrement ton serveur FTP.

Soit tu force le mode passif mais à ce moment la tu n’as plus qu’un port qui sert et plus de soucis de firewall (moins performant)
Soit tu spécifiés les ports du mode dynamique et tu les autorise dans le firewall

Voilà, j’ai plus d’informations à vous donner :wink:

Il s’agit donc d’un proxy filtrant firewall Linux qui se trouve entre la box Internet et le réseau interne. Les postes clients du réseau interne s’identifie sur un domaine Windows AD 2008 et ce dernier est connecté avec le proxy Linux. Ils sont connectés ensemble car le proxy filtre les accès Internet en fonction du groupe dans lequel est l’utilisateur du LDAP AD.

Concernant le FTP, ce n’est pas " notre " FTP… je parle d’un accès FTP sur ftp.ubuntu.com via FileZilla par exemple ! Pas de proxy FTP configuré ni de proxy transparent, pour finir le proxy n’est pas le routeur !

Voici donc en premier le squid.conf qui fonctionne avec le FTP (en gras les lignes qui me semblent importantes) :

On remarquera ici que la requête CONNECT est autorisée sur presque tous les ports (80 21 443
1025-65535)… est-ce que cela est sécurisé ??

Voici maintenant le squid.conf qui pose problème pour le FTP (la plus grosse différence avec la première version c’est qu’il n’y a pas tous les ports autorisés pour la requête CONNECT) :

Voici le message d’erreur de FileZilla et un extrait de l’access.log de Squid :

www.hostingpics.net…

www.hostingpics.net…

Voilà voilà, j’espère avoir été compréhensible et complet !

Si la première version de Squid ne pose pas de problèmes de sécurité (malgré tous les ports autorisés -1025 à 65535- pour la requête CONNECT), je ne vais pas me prendre le choux, hein ? Mais je n’ai pas la certitude qu’elle soit safe !

Je vous remercie d’avance pour l’aide que vous pourrez m’apporter :slight_smile:

clpeter