Mettre en place le déchiffrement TLS et gérer les flux HTTPS
Le déchiffrement TLS vous permet de :
faire de l'analyse de contenu sur des pages HTTPS (appliquer des règles sur les tailles et types de fichiers, analyse antivirus).
appliquer, pour des pages HTTPS, des règles sur des URLs précises plutôt que sur des domaines. En effet, sans déchiffrement, les règles ne peuvent s'appliquer qu'à des domaines car seul le nom du domaine apparaît en clair dans une requête HTTPS.
Le déchiffrement des requêtes HTTPS peut être coûteux en termes de performance. Sur des installations contraintes ou pour certaines destinations, vous pouvez paramétrer l'Olfeo pour ne pas déchiffrer certains flux.
L'option ne fonctionne que pour des intégrations en mode proxy (explicite ou en interception). En effet, le déchiffrement nécessite que les flux passent par le proxy : cela exclut donc les intégrations en mode couplage et miroir de port.
Avertissement
Pour l'analyse de contenu, les flux sont fournis en clair au service ICAP : dans les architectures où l'analyse de contenu n'est pas faite par le même Olfeo que celui qui héberge le proxy, faites en sorte que ces flux soient cloisonnés/sécurisés.
Un Olfeo faisant du déchiffrement TLS ne peut pas avoir de proxy parent. En effet, l'analyse de contenu doit être faite par le proxy situé à la fin de la chaîne de proxys (performance, non mise en cache de code malicieux, protection des proxys enfants, stripping des en-têtes...).
Comportement d'Olfeo On premises sans déchiffrement TLS, ou avec un flux pour lequel le déchiffrement est désactivé
Sans déchiffrement TLS :
Le filtrage par catégorie ou liste de domaines fonctionne, mais le filtrage sur une URL spécifique ne fonctionne pas (car seul le nom de domaine est transmis en clair dans la requête). Le blocage s'effectue sur le nom de domaine, pas sur la page exacte.
L'antivirus ne peut pas analyser les contenus chiffrés.
En cas de blocage par une règle ou une politique d'une requête HTTPS, le proxy ne pourra pas établir le CONNECT vers le serveur. La connection TCP sera alors terminée et l'utilisateur final se verra afficher une erreur de connection TCP dans son navigateur.
Pour que la gestion des pages HTTPS soit opérationnelle, réalisez les opérations suivantes :
À la page → → , entrez le Certificat d'Autorité (CA) qui servira à générer les certificats lors du chiffrement de la réponse (fichiers .crt et .key/.pem).
Important
Depuis la v6.7, le certificat d'autorité nécessaire pour le déchiffrement doit être compatible avec TLS 1.3 - A ce titre, il doit avoir une longeur de clé minimale de 2048 bits et être chiffré avec un algortithme plus récent que SHA-1
Une fois le certificat d'autorité et sa clé installés, rendez-vous à la page → → :
Cochez la case Option SSL pour le ou les ports d'écoute désirés. Vous pouvez choisir de ne pas activer le déchiffrement sur certains ports, par exemple pour des ports ne recevant que des mises à jour provenant d'URLs de confiance.
Dans la section Types de requêtes autorisées par port de destination, assurez-vous que la case Navigation est cochée pour le port 443.
Pour les intégrations proxy en interception, les flux HTTP et HTTPS doivent arriver sur des ports différents.
Paramétrez le comportement du déchiffrement. Définissez à présent :
Quels flux ne doivent pas être déchiffrés : voir Gérer le déchiffrement et les erreurs > Gérer le déchiffrement et les erreurs.
Le niveau de sécurité accepté des serveurs distants : voir Gérer le niveau de sécurité lors des échanges SSL > Gérer le niveau de sécurité lors des échanges SSL.
Comment gérer les erreurs SSL liées aux certificats des serveurs distants : certificats expirés, invalides... Voir Gérer le déchiffrement et les erreurs > Gérer le déchiffrement et les erreurs.
Déployez votre certificat d'autorité sur les postes clients (par exemple, par GPO, ou en liant le certificat à la charte internet).
Vérifier que le déchiffrement fonctionne
Pour vérifier que le déchiffrement fonctionne correctement, vérifiez le certificat d'une page HTTPS filtrée par votre Olfeo. Celui-ci doit afficher les informations issues de votre certificat d'autorité.
![]() |
Pour les intégrations en mode proxy explicite, dans le trafic temps réel, les flux déchiffrés montrent l'URL complète de la ressource (URL commençant par https://).
![]() |
Page → → .
Service de gestion des certificats
Définissez le certificat d'autorité (CA) qui créera des signatures pour chiffrer les flux entre le proxy et le client (fichiers .crt et .key). Utilisez un certificat généré par votre PKI ou par un outil de gestion de certificats. Ce certificat devra être déployé par vos soins sur les postes clients.
Important
Les certificats protégés par mot de passe ou passphrase ne sont pas supportés.
Important
Quel que soit le cas pour générer le CA, le niveau de sécurité du chiffrement est votre responsabilité. Pour être conforme aux exigences minimales du support de TLS 1.3, le CA doit respecter les conditions suivantes :
il doit être chiffré en utilisant un algorihtme plus fort que SHA-1 (SHA-256 ou équivalent)
il doit avoir une longeur de clé supérieure à 2048 bits.
Taille de la base : taille du cache qui stocke les empreintes des certificats générés par l'Olfeo. Le coût de génération de certificats est élevé.
Personnaliser les options SSL
Choisissez les versions du protocole utilisées pour communiquer avec les serveurs distants : vous pouvez choisir de refuser d'établir la connexion à des serveurs utilisant des versions trop vulnérables de TLS. Il est recommandé de désactiver SSL v1, SSL v1.1 sauf si pour les versions les plus anciennes de navigateurs ou de serveurs. Maisil est préférable de ne pas désactivé TLS v1.2 (cela empêcherait par exemple Google de fonctionner).
Activer divers contournements de bugs : correspond à l'option SSL_OP_ALL d'OpenSSL. Cette option peut permettre de gérer certains problèmes entre d'anciens navigateurs et certains sites. Il est recommandé de la laisser activée.
Options avancées
Définissez les suites cryptographiques à utiliser pour établir des sessions TLS avec des serveurs distants. L'option Suites cryptographiques recommandées cochée par défaut correspond aux suites recommandées par l'ANSSI.
Page → → .
Règles de déchiffrement
Dans cette section, définissez quels flux ne doivent pas être déchiffrés, et, pour les flux déchiffrés, la méthode à utiliser.
Colonne | Description |
|---|---|
Ports du proxy | La règle ne s'applique que si le flux est reçu sur le port spécifié ici. La liste propose tous les ports pour lesquels l’option SSL est activée (à la page → → ). |
Destination | La règle ne s'applique que si le flux est à destination d'une URL spécifiée ici.
|
Action | L'action à effectuer si le flux correspond à toutes les conditions définies dans les autres colonnes.
|
Règles de gestion des erreurs SSL
Dans cette section, créez des règles pour dire à Olfeo On premises que faire si par exemple le serveur distant lui envoie un certificat expiré, ou s'il détecte des problèmes dans la chaîne de certificats.
Ajoutez une règle. Dans la colonne Cas d'erreur, sélectionnez les erreurs désirées. Dans la colonne Action, cliquez sur l'icône pour sélectionner Bloquer ou Autoriser :
Bloquer : l'utilisateur recevra une page de blocage générée par le proxy
Autoriser : la page sera déchiffrée malgré l'erreur SSL et sera envoyée à l'utilisateur.
Dans la liste Pour le reste, définissez l'action à effectuer pour toutes les erreurs SSL non concernées par les règles que vous avez créées.
Pour plus d'informations sur les erreurs dans la liste, voir https://www.openssl.org/docs/manmaster/man1/verify.html#DIAGNOSTICS (en anglais).
Requête vers www.gnu.org/help/help.html, vue par un proxy explicite, en HTTP et en HTTPS : en HTTPS, seul le domaine est indiqué en clair.
HTTP | GET http://www.gnu.org/help/help.html HTTP/1.1 Host: www.gnu.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive Cache-Control: max-age=0 |
HTTPS | CONNECT www.gnu.org:443 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
Proxy-Connection: keep-alive
Connection: keep-alive
Host: www.gnu.org:443
...........o.p:@..X.O...2.8T0.o....5Cy_/..; .a.\8+NY~")........1.....(.....X...+./.
.......3.9./.5.
.............www.gnu.org......
.................#..+..?t..S...R..a..$..".-.%........6;<f.L.42O.1gk.4..DS.
....b..8....#....W!.Q...u.!`II.f..T.'..=...K.......S.J...Ib.>.a...d.n9...29.
..&F.(...LDU.|.
..I...v...n.eU..V>..vx........e.......r.....9^iOJK........I|.3t........
.h2.spdy/3.1.http/1.1..........
...........................X...........................................
.......................................................(...........rW.B
t..H..{7.x....+.b.....a......u.........>sq.....5..^..D.K.H...Th5.#k.U7.p
@Io.s.(...`Jl..u.!.].M.....\.1...(...Nu2.6......Z.W4Q.
.t.H..O=.......N.XB.6~#4.7+..o....w,...Fh.j&..,....0.A<n.5.+.Nb.M...)
.........*..T..+...].O..W&U.C.vD>'j.8......a3.G..=vd...V.JC.z.{....."'.mI
a_.....B..e...."0....iJLk.8.......)....;Z.=J....i.G..~.Qp#...]sc.C..Jt...
M,..m..G...K.}OG.7.J!.C.
;.
Yh........q.0J...(.......]0.}.J.....p........?.5.W.?.^.lrd[......|........
;..Z.r[.uL.k.Cl..?.....N0...B{....r.... ....X..8.
t....~.F........_t&jv...Z,.E/..3.O...a>m...e.I..2..<..N......"j.......qm)...O
9E*%..k^.....L........n.A,....b...9...nP....:H......<
..5..1.R......!...9...x.#..g.;.....3.k.M...y.V^....J..t.!.:....E..........
Zz.;J..4.>..c..[..4P
...&..........}.t.U...H....p..e..."..,...lHB.N...M.T.^y..............g..
Q...........E...
.... ..=....!.....@...2$(6.^.'....F:...
...m`.......;....n1pZ...C...{..l.C.gc..G....E....E.k.....n...F.<'..d....b..
~..1.M.s......+.W.......{.:.N.[.L.S.L...w....Y...r.#..........f........m:.....
..U..5=.....MRkB..zS....`..z;........x9]......./.?4..R..Z....&........@......
....X.y.[............A.....%..q].([0Z.._....).E'R..............H....&!...G.~Z
Z.#..zY.$...`..zB.......rm\ |

