Table des matières

Transcription

Table des matières
FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE
Table des matières
Principes de FTPS ............................................................................................................................................................................. 2
Généralités ................................................................................................................................................................................... 2
FTPS en mode implicite .................................................................................................................................................................. 2
FTPS en mode explicite .................................................................................................................................................................. 3
Certificats SSL / TLS ...................................................................................................................................................................... 3
Atelier de tests avec une appliance Fast360 ......................................................................................................................................... 4
Considérations sur l’analyse FAST .................................................................................................................................................... 4
Choix techniques effectués ............................................................................................................................................................. 4
Topologie réseau utilisée pour les tests ............................................................................................................................................ 5
Configuration du serveur FTPS ........................................................................................................................................................ 5
Configuration de l’appliance Fast360 en coupure ............................................................................................................................... 7
Vérification des échanges entre le client et le serveur FTPS ................................................................................................................. 8
Page 1 sur 8
Version du 13/11/2013
Principes de FTPS
Généralités
Le protocole FTP induit un échange d’informations en clair sur le réseau, ce qui est prohibé dans certaines organisations.
Les différents modes de fonctionnement du protocole FTP (actif / passif) font l’objet d’une fiche préalable considérée dans ce document
comme un pré-requis et ne seront pas repris ici.
FTPS utilise un chiffrement de type SSL ou TLS pour protéger les échanges effectués sur le canal de données entre un client et un serveur
compatibles.
Par ailleurs, l’identité du serveur est vérifiée à l’aide d’un certificat d’authentification.
Il est important de ne pas confondre FTPS (FTP Secure) avec SFTP, lequel permet également la sécurisation des échanges par l’utilisation du
protocole SSH (Secure Shell) sur le port 22, mais ne différencie pas le canal de données du canal de contrôle : un tunnel SSH est monté
directement entre le client et le serveur avant tout échange FTP.
Les deux méthodes de chiffrement pour FTPS sont détaillées ci-après.
FTPS en mode implicite
En mode implicite, le canal de contrôle se situe sur le port TCP 990, le canal de données sur le port TCP 989.
La négociation SSL/TLS est effectuée dès que le client tente une connexion, en cas d’échec, le serveur met fin à la connexion.
Le mode implicite induit que :
• L’intégralité de la session FTPS (sur les deux canaux) soit chiffrée.
• Le client doive impérativement être compatible avec FTPS, ce qui n’est pas le cas de tous les clients FTP / FTPS.
• Le format de requête soit ftps://
Le mode implicite n’est pas soutenu par l’IETF (Internet Engineering Task Force), dont une des missions est de permettre un fonctionnement
efficient d’Internet, et de ce fait, il n’est que peu ou pas utilisé en entreprise.
Page 2 sur 8
Version du 13/11/2013
FTPS en mode explicite
En mode explicite, le canal de contrôle se situe sur le même port TCP que pour FTP (le port 21).
La première connexion initiée par le client n’est pas chiffrée, la mise en œuvre du chiffrement dépend des demandes du poste client.
Lorsque le client tente une connexion, il peut demander :
• Un chiffrement SSL en envoyant la commande « AUTH SSL », pour l’échange de commandes et de données.
• Un chiffrement TLS en envoyant la commande « AUTH TLS » pour l’échange de commandes, et / ou la commande « PROT P » pour
l’échange de données.
• Une connexion non chiffrée si le serveur le permet.
Le mode explicite induit que :
• La session FTPS puisse être chiffrée soit sur le canal de commandes, soit sur le canal de données, ou sur les deux canaux.
• Le format de requête soit ftpes:// (ou ftp://).
L’utilisation du chiffrement entraîne la description par le client du type de protection demandé sur le canal de données (RFC2228) :
• La commande PBSZ (Protection Buffer SiZe) indique la taille maximum en octets de la mémoire cache utilisable lors de l’échange,
l’indication PBSZ 0 induit un transfert sans cache (streaming).
• La commande PROT (data channel PROTection level) accepte 4 arguments :
o C (Clear), les données ne sont pas chiffrées.
o S (Safe), l’intégrité des données est assurée (aucune modification possible avant d'arriver à destination).
o E (Confidential), la confidentialité des données est assurée (seuls l'émetteur et le destinataire voient les informations
échangées en clair).
o P (Private), intégrité et confidentialité assurées, la protection est complète.
Le chiffrement TLS sur FTP n’accepte que les arguments C et P de la commande PROT.
Certificats SSL / TLS
Le fonctionnement de FTPS, comme celui de HTTPS, nécessite que le serveur soit authentifié par un certificat, lequel doit être signé par une
autorité de certification.
Le certificat peut être auto-signé sur le serveur FTPS, du point de vue du client FTPS, tout dépend de la confiance qu’il est prêt à lui accorder,
ce type de comportement est suffisant dans un réseau de confiance. En revanche, il est conseillé de faire appel à une autorité de certification
publique lorsque le flux FTPS doit transiter sur Internet.
Page 3 sur 8
Version du 13/11/2013
Atelier de tests avec une appliance Fast360
Considérations sur l’analyse FAST
FTP dépend d’un module FAST spécifique sur une appliance Fast360. Ce module est chargé d’effectuer une analyse protocolaire jusqu’au
niveau 7 du modèle OSI afin de garantir le respect des RFC d’une part, et gère automatiquement la connexion secondaire d’autre part.
En pratique, l’utilisation du seul service ftp-factory est suffisante dans une règle de flux pour autoriser le transfert par FTP, ce service étant
par défaut soumis à un module FAST qui prend en charge le canal de contrôle, détermine le fonctionnement de l’échange (mode actif, mode
passif), et gère automatiquement le canal de données (ouverture dynamique des ports nécessaires à l’échange).
Un échange FTPS en mode explicite utilise le port 21 (connexion sur le canal de données), mais le module FAST bloque le comportement FTPS
(commandes AUTH SSL ou AUTH TLS, demande par le client de la vérification de la clé publique du serveur,…).
Il n’existe pas encore de module FAST pour le protocole FTPS.
Dès lors, il est impératif de créer les services FTPS (2 services puisque le protocole utilise deux canaux) manuellement.
Il ne faut pas oublier que l’analyse FAST permet de vérifier l’adéquation des échanges avec le protocole tel que défini dans les RFC, mais que
les données échangées en FTP circulent en clair sur le réseau. FTPS ne dépendant pas d’un module FAST, l’analyse des paquets s’arrête au
niveau 4 du modèle OSI, mais les flux étant chiffrés, la sécurité est très satisfaisante.
Choix techniques effectués
La méthode choisie est le FTPS explicite, en mode passif, avec chiffrement des deux canaux.
Filezilla est le logiciel choisi pour la démonstration (il est capable de gérer les différents modes d’échange avec FTP, FTPS, SFTP), côté client
comme côté serveur.
Le certificat du serveur est un certificat auto-signé.
Page 4 sur 8
Version du 13/11/2013
Topologie réseau utilisée pour les tests
FAST360
eth0
192.168.10.254/24
CLIENT FTPS
192 .168.10.1
eth1
192.168.20.254
SERVEUR FTPS
192.168 .20.1
Configuration du serveur FTPS
Pour rappel, le serveur qui fonctionne en mode passif précise au client le port
d’écoute utilisé pour monter la connexion secondaire (canal de données). Les
ports 2121 à 2125 sont choisis ici.
Page 5 sur 8
Version du 13/11/2013
Le mode explicite choisi doit permettre le chiffrement des données
sur le canal de contrôle par la commande AUTH TLS, puis sur le
canal de données par la commande PROT P.
Par ailleurs, un certificat généré par le serveur Filezilla
(bouton « Generate new certificate ») et stocké sur
l’hôte serveur sera présenté au client.
Page 6 sur 8
Version du 13/11/2013
Configuration de l’appliance Fast360 en coupure
FTPS explicite utilise deux canaux qui ne dépendent pas d’un module FAST, il est
nécessaire de créer 2 services TCP utilisateur :
• FTPS-EXPLICITE-CONTROLE : service sur le port 21 mais sans module
FAST,
• FTPS-EXPLICITE-DONNEES : service sur la plage de ports définie sur le
serveur FTPS en mode passif (2121 à 2125 dans cet atelier de tests).
Les deux services créés seront utilisés dans une règle de flux sur l’appliance en
coupure.
Note
Si le client FTPS se situe côté Internet, l’accès au serveur FTPS s’effectue par une
règle de flux ayant comme destination le serveur FTPS sur lequel une translation
de NAT statique est effectuée : l’objet hôte représentant le serveur FTPS est édité
et la case Translater l’adresse IP de cet hôte (NAT statique) est cochée,
avec l’IP côté public de l’appliance Fast360 comme adresse IP de translation.
Page 7 sur 8
Version du 13/11/2013
Vérification des échanges entre le client et le serveur FTPS
Le dialogue entre le client FTPS situé dans le réseau 10 et le serveur FTPS (192.168.20.1) de l’atelier de tests est détaillé ci-après.
Dès que le serveur répond à la requête initiale du client, ce dernier
demande un chiffrement TLS sur le canal de contrôle
L’authentification de l’utilisateur (entrée du mot de passe) est
postérieure à la mise en place du chiffrement
Le serveur précise les méthodes avec lesquelles il est compatible,
dont le chiffrement sur le canal de données avec la commande
PROT
Les commandes PBSZ et PROT sont envoyées par le client FTPS
pour demander le chiffrement sur le canal de données
Le canal de données est utilisé pour lister le contenu du répertoire
distant
Page 8 sur 8
Statut :
Statut :
Réponse :
Réponse :
Réponse :
Commande :
Réponse :
Statut :
Statut :
Commande :
Statut :
Réponse :
Commande :
Réponse :
Commande :
Réponse :
Commande :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Réponse :
Commande :
Réponse :
Commande :
Réponse :
Statut :
Statut :
Commande :
Réponse :
Commande :
Réponse :
Commande :
Réponse :
Commande :
Réponse :
Réponse :
Statut :
Connexion à 192.168.20.1:21...
Connexion établie, attente du message d'accueil...
220-FileZilla Server version 0.9.41
220-written by Tim Kosse ([email protected])
220 Please visit http://sourceforge.net/projects/filezilla/
AUTH TLS
234 Using authentication type TLS
Initialisation de TLS...
Vérification du certificat...
USER test
Connexion TLS/SSL établie.
331 Password required for test
PASS *********
230 Logged on
SYST
215 UNIX emulated by FileZilla
FEAT
211-Features:
MDTM
REST STREAM
SIZE
MLST type*;size*;modify*;
MLSD
AUTH SSL
AUTH TLS
PROT
PBSZ
UTF8
CLNT
MFMT
211 End
PBSZ 0
200 PBSZ=0
PROT P
200 Protection level set to P
Connecté
Récupération du contenu du dossier...
PWD
257 "/" is current directory.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (192,168,20,1,8,73)
MLSD
150 Connection accepted
226 Transfer OK
Contenu du dossier affiché avec succès
Version du 13/11/2013