
La nouvelle génération de pare-feu est plus pratique et plus sûre grâce à la nouvelle architecture du moteur et à la nouvelle idéologie de gestion des flux réseau.
Pourquoi cet article est-il apparu?
Ils sont venus à plusieurs reprises à des collègues de la sécurité qui utilisent une nouvelle génération de pare-feu et ont vu qu'ils continuaient à écrire des règles sur les numéros de port. Sur ma suggestion de continuer à écrire par le nom des applications, j'ai entendu "Et si ça ne marche pas comme ça?" Si vous avez également "peur" ou si vous ne savez pas pourquoi écrire les règles pour les applications, cet article est pour vous.
Début de l'article par référence
Partie 1. Bases du pare-feuPartie 2. Impact sur la sécurité du PARE-FEU L7
Table des matières
Le pare-feu L7 vérifie le contenu du champ de données, le pare-feu L4 nonLes applications ont changé - votre pare-feu a-t-il changéFonctionnement de la détection du traficLe pare-feu L7 est plus pratiqueLe pare-feu L7 est plus sûrQuels nouveaux problèmes créent une nouvelle approche pour écrire des règles pour L7Limites de la technologie d'analyse de niveau 7ConclusionVoteLe pare-feu L7 vérifie le contenu du champ de données, le pare-feu L4 non
Le principal problème avec lequel nous nous débattons est que les programmes sont maintenant écrits immédiatement afin de contourner la protection par pare-feu L4.
Si une personne met Skype, elle ne veut pas appeler l'administrateur système et mendier pour ouvrir le port dont il a besoin sur le pare-feu - il veut que Skype s'allume immédiatement "vert". Les programmeurs savent qu'il y a souvent un proxy HTTP sur le réseau ou le port 80 est ouvert pour HTTP, le port 53 est pour DNS, le port 123 est pour NTP, et parfois pour les employés de l'intérieur vers Internet, tout est ouvert et vous pouvez utiliser ces connexions autorisées en conséquence.

Les développeurs ont le terme d'expérience utilisateur - après l'installation, le client a pris feu en vert Skype = le client est satisfait. Et le fait que Skype ait traversé illégalement le périmètre de la société via une connexion qui n'était ouverte que pour le fonctionnement du navigateur sur les ports TCP / 80 et 443 - le pare-feu L4 l'ignore, car ce n'est pas sa tâche de regarder le contenu des paquets - seuls les en-têtes sont importants pour lui.
Problème de pare-feu L4: saut de port (tunneling)

Le tunneling d'applications non autorisées dans les connexions autorisées est une image standard dans les réseaux modernes. Naturellement, les pirates utilisent la même astuce: ils créent des tunnels dans les connexions autorisées. Et les gardes de sécurité ne savent même pas.
Exemple de tunnel TCP-sur-DNS

D'après les paquets de trafic collectés dans l'image, il est clair qu'il existe des connexions sur le 53e port TCP, qui est généralement considéré comme le fonctionnement du protocole DNS. Cependant, si vous regardez attentivement, vous pouvez voir que dans le champ Texte du protocole DNS, il existe une sorte de texte crypté. Il s'agit d'une implémentation du tunnel TCP-Over-DNS, que je vois souvent dans les réseaux d'entreprise. À gauche se trouve une liste d'autres tunnels que vos utilisateurs ou pirates peuvent utiliser. Le pare-feu L4 fournit-il de telles informations? Non. Par conséquent, si vous devez protéger l'entreprise contre les tunnels non autorisés, vous devez analyser le contenu des données transmises et l'utiliser pour analyser quelle application utilise actuellement cette connexion TCP.
Les applications ont changé - votre pare-feu a-t-il changé

Le monde a changé et il ne suffit plus aujourd'hui de déterminer l'application par numéro de port. Oui, il y a 20 ans, nous avons convenu que si 80 est écrit dans le champ Port, alors c'est HTTP, si 53, alors c'est DNS, mais maintenant ce n'est plus le cas!
Il est nécessaire d'analyser le contenu des données transmises et c'est à eux d'analyser quelle application utilise actuellement cette connexion TCP.
Accédez à la
base de données d' application
applipedia.paloaltonetworks.com . Voir combien d'applications utilisent les ports 80 et 443.
Un exemple.
Applications utilisant le port 80

Le problème avec de nombreuses fonctionnalités de sécurité est d'ignorer les applications sur des ports non standard.

Le déplacement d'une application standard vers un port non standard permet également à un attaquant de devenir hors de contrôle. Ce contrôle restaure uniquement le périphérique qui analyse le contenu de tout le trafic, et pas seulement les en-têtes.
Fonctionnement de la détection du trafic
L'une des tâches de l'analyse des applications est de détecter le trafic des applications spécialement créées afin que leurs connexions ne soient pas visibles. Prenons par exemple Skype. Les gens qui ont appris à distinguer les paquets UDP chiffrés Skype des autres paquets UDP chiffrés sont de très bons camarades.
Il existe également une classe d'appareils qui peuvent le faire: l'inspection approfondie des paquets (ci-après DPI). Ces appareils sont désormais avec de grands fournisseurs et vous permettent de manipuler le trafic des applications: appliquez la QoS ou redirigez dans la bonne direction. Parfois, NGFW et DPI sont comparés. Différence: DPI est conçu pour contrôler la qualité du trafic et la sécurité NGFW, bien que NGFW dispose également de fonctionnalités QoS.
Les méthodes de détection des applications dans le trafic sont différentes.
- Si vous avez besoin de trouver une application qui ne se cache pas dans le trafic, comme HTTP, alors il suffit d'utiliser les recherches habituelles pour les modèles ou signatures correspondants. Et cela est activement utilisé par les fabricants. C'est le plus simple.
- Si vous avez besoin de trouver une application qui se cache délibérément , par exemple, TOR, vous avez besoin d'un ensemble de méthodes pour analyser les statistiques et le comportement des packages. C'est difficile, cela nécessite un laboratoire de recherche, qui doit également suivre les changements dans le protocole dans le temps et mettre en œuvre de nouveaux algorithmes de recherche. Mes tentatives pour obtenir au moins un développeur pour dire comment ces algorithmes fonctionnent, tombent sur la réponse que tout cela est de la propriété intellectuelle.
Il arrive que l'application ait déjà modifié l'algorithme de fonctionnement et que le moteur DPI ou NGFW ne soit pas encore parvenu à changer. Par exemple, Telegram change parfois parce qu'il est chassé. Des faux positifs se produisent. Ceci est important à vérifier. En conséquence, les appareils et NGFW et DPI diffèrent principalement par le nombre et la qualité de la détection des applications. Voici la seule méthode: mettez NGFW sur votre trafic et voyez. Si nous parlons du périmètre, alors le trafic le plus complexe que j'ai vu contenait 715 applications différentes par mois. En moyenne, 200 à 300 applications de différents types traversent le périmètre. Dans cette visualisation du trafic d'application, vous pouvez voir ceci: passez la souris sur chaque cercle:
http://researchcenter.paloaltonetworks.com/app-usage-risk-report-visualization/

Il y a des milliers d'applications dans la base de données des applications, donc l'analyse des formats et des algorithmes de chaque application est un travail long et laborieux des analystes. Une fois que nous comprenons comment fonctionne l'application, les programmeurs commencent à travailler, qui implémentent la découverte d'application par le trafic. Et ces quelques milliers d'applications sont en constante évolution. Par conséquent, le produit doit être constamment pris en charge, apprendre de nouvelles applications et surveiller les modifications des anciennes et ajouter des détecteurs modifiés à la base de données. La base de données de toutes les applications possibles générant du trafic est
disponible ici .
Parfois, les fournisseurs de pare-feu L7 essaient de mesurer le nombre d'applications qu'ils ont dans la base de données, mais cela ressemble plus à du blasphème. En activant la pensée critique, vous comprenez qu'en réalité, vous n'avez besoin de détecter que les applications sur le périmètre (en moyenne, dans la région de 300 applications différentes), dans le centre de données (10-15 pièces), dans les réseaux ICS / SCADA (2-3 applications), entre les internes segments (c'est peut-être seulement quelques dizaines). Et si l'on vous propose de détecter des milliers d'applications - ce n'est que du marketing et la détection de certaines applications inconnues que personne n'utilise.
Exemples d'applications sur le réseau d'une entreprise:
La segmentation interne au sein de l'entreprise est une exigence constante des normes de sécurité de l'information que presque personne ne remplit. Entre les segments où se trouvent les programmeurs, les financiers, les RH et la comptabilité, les applications s'exécutent également. Au minimum, vous devez contrôler le réseau Windows (protocole SMB), cela est devenu particulièrement clair après l'épidémie de cryptoclocker WannaCry, qui a été distribuée via SMB. Autrement dit, les réseaux internes ont également besoin d'analyser les applications de niveau 7 et les méthodes connexes pour rechercher du code malveillant dans le bac à sable et IPS, et au moins contrôler les types de fichiers transférés.
Le problème le plus courant qui se remarque dans les réseaux: le pare-feu est censé être de niveau 7, mais en réalité il détecte les applications par port. Comment le vérifier?
- Pour le test, accrochez le serveur FTP sur le port 25. Si l'appareil se trompe et dit qu'il s'agit du protocole SMTP, ce n'est certainement pas le pare-feu L7.
- Ou essayez simplement d'écrire des règles pour deux applications différentes qui utilisent le même port. Faites-leur des règles différentes: dans un bloc, les fichiers exe, dans l'autre, autorisez-les. Si cela se fait, cela signifie que la vérité est d'abord l'analyse de l'application (pas le numéro de port), puis de travailler avec son contenu: bloquer les fichiers, vérifier les signatures de virus, vérifier les signatures IPS, etc.
- Un autre test intéressant pour NGFW est lorsque vous devez créer deux applications L7 personnalisées avec des propriétés différentes sur la même adresse IP. Cela ne peut pas le pare-feu L4, mais le pare-feu L7. Description complète et testez-vous ici: http://basic.ngfw-test.com/
En Russie, il est toujours important que les pare-feu connaissent le trafic des applications russes: 1C, Odnoklassniki, Yandex.Disk, mail.ru, à quoi ressemblent les mises à jour de Kaspersky Anti-Virus, etc. Il s'agit également d'un important composant de découverte d'applications dont vous avez besoin pour autoriser en toute sécurité ces applications à vos employés.
Le pare-feu L7 est plus pratique
Si vous regardez le processus de formation des ingénieurs réseau, alors le plus souvent, les gens suivent des cours auprès d'un fabricant bien connu d'équipements réseau, ce qui donne une bonne connaissance des technologies de mise en réseau.

L'auteur de ces lignes a terminé un bon nombre de cours Cisco en 2003 et présente donc quelles sont les caractéristiques de la formation des ingénieurs réseau: en règle générale, après avoir étudié le modèle ISO OSI à sept niveaux, seuls les 4 premiers niveaux sont étudiés en détail. Autrement dit, toutes les subtilités des ingénieurs de réseau de sécurité de l'information ne connaissent que jusqu'au niveau de TCP / UDP / ICMP. Seuls quelques-uns de base sont pris en compte au niveau de l'application: HTTP, DNS, SSH, Telnet, NTP, FTP. Quel est le résultat? Et l'administrateur réseau estime que la gestion de la couche application est facile à partir de la couche transport!
Il peut sembler à un spécialiste du réseau fraîchement préparé que tout peut être fait avec des règles au niveau du transport, où il vous suffit d'autoriser le protocole et le port nécessaires. Besoin d'autoriser un navigateur sur Internet? Nous ouvrons TCP / 80. Besoin d'ouvrir DNS? Ouvrez TCP / 53 ou UDP / 53. Besoin d'ouvrir RDP? Ouvrez TCP / 3389. Et l'écriture de règles sur le pare-feu L4 devient la norme dans l'entreprise.
Je dois dire que de nombreux informaticiens connaissent le concept d'inspection complète. Mais en même temps, pour beaucoup, c'est une révélation que différents pare-feu prennent en charge l'inspection complète pour un ensemble d'applications différent. J'ai certaines statistiques car j'ai travaillé comme professeur de cours Firewall au centre de formation de la société Informzashita. Que vois-je? Quelqu'un pense qu'une inspection complète est à peu près la permission d'accepter les réponses au protocole TCP / UDP / ICMP. Mais qu'en est-il des applications plus complexes? Par exemple, comment suivre deux connexions TCP que le protocole FTP établit sur les ports 21 et 20 - dépendent-elles l'une de l'autre? Là , vous devez non seulement accepter la réponse, mais également autoriser la deuxième connexion, en fonction de la commande PORT, à l'intérieur de la connexion de contrôle sur le port 21. Et combien d'applications supplémentaires pour ouvrir de nouvelles connexions en elles-mêmes donnent des applications? En résumé, les réseaux utilisent maintenant la liste d'accès habituelle, qui ne comprend pas la commande PORT à l'intérieur du protocole FTP, et il y a le pare-feu L4, qui démonte la commande PORT et ouvre automatiquement le port souhaité, il y a quelqu'un qui est allé plus loin et regarde les commandes de protocole MS RPC ou ICS plus complexes / Protocoles SCADA. Mais toutes les applications possibles du pare-feu L4 ne semblent pas, et ces pare-feu diffèrent également généralement par le nombre d'applications implémentées à l'intérieur de la passerelle de couche application (ALG).
Ă€ quoi je veux en venir? La conviction que le simple fait de se souvenir des principaux ports TCP / UDP ne fonctionne pas.
Il existe déjà plusieurs milliers d'applications dans le monde et toutes utilisent des réseaux informatiques. Et aucun ingénieur réseau ne peut se souvenir de tous ces ports.
La révélation pour les ingénieurs réseau est la tâche d'ouvrir les ports pour une application plus complexe, par exemple, VNC. Personne ne se souvient des ports et doit utiliser Google.
Lors de la publication de la première partie, j'ai mené une enquête et je vois que les gens sont toujours prêts à se souvenir des numéros de port - les opinions étaient divisées par 50 à 50: quelqu'un a répondu qu'il était prêt à se souvenir des 4 ports de l'application VNC.
Le champion du nombre de ports est peut-être Lync (alias Skype Entreprise). Environ 40 ports. Est-il réaliste de s'en souvenir?

Si vous
regardez Microsoft TechNet, qui décrit les ports que vous devez ouvrir, je veux écrire un permis any dans n'importe quelle règle, car il y a environ 40 ports et certains d'entre eux doivent s'ouvrir dynamiquement. Et il est désastreusement gênant de s'inscrire dans le pare-feu L4.
Il s'avère qu'il est plus pratique pour un ingénieur réseau d'écrire dans les règles de l'application L7 et il est nécessaire que le pare-feu ouvre automatiquement les ports nécessaires.
Besoin d'ouvrir VNC? Vous écrivez le mot VNC dans la règle et le pare-feu comprend déjà les protocoles sous-jacents que vous devez ouvrir. C'est pratique.
Un exemple. Rapport NGFW sur les catégories de trafic sélectionnées.
En moyenne, 200 à 300 applications utilisent l'accès Internet à partir d'un réseau d'entreprise. Le pare-feu au niveau de l'application indique de quelles applications il s'agit et peut filtrer ces applications pour tous ou pour des utilisateurs spécifiques et filtrer les fichiers par types ou contenu qui vont aux applications autorisées pour tous les utilisateurs du réseau d'entreprise. N'oubliez pas non plus que dans NGFW, les fonctions de sécurité fonctionnent en parallèle: IPS, antivirus, anti-spyware, filtre URL, filtre DNS, Threat Intelligence, etc. Autrement dit, nous n'autorisons pas seulement les candidatures, mais le faisons en toute sécurité.
Le pare-feu L7 est plus sûr
J'ai le Palo Alto Networks NGFW sous la main. J'ai écrit trois règles différentes à ce sujet. Voyons comment ils diffèrent.

Si vous avez déjà configuré un pare-feu, vous voyez que pour différents groupes d'utilisateurs: vip, marketing et programmeurs, j'ai activé SSL de trois manières différentes.
- Les utilisateurs vip pourront aller sur le port 443 et pourront utiliser SSL à l'intérieur , car c'est le port par défaut pour SSL. S'ils essaient d'accéder au port 443, par exemple, telnet normal, ils ne réussiront pas - le pare-feu vérifiera qu'il n'est pas SSL et le bloquera. Et c'est ce dont vous avez besoin!
- le marketing peut aller vers n'importe quel port utilisant SSL , car dans le champ Service, où les ports sont indiqués, tout port est autorisé. La question est, est-ce que je veux que le marketing utilise SSL sur des ports non standard? Non. Il s'agit d'une erreur de configuration courante. La spécification d'un port comme étant logique est logique si la règle est prohibitive, c'est-à -dire si nous voulons interdire SSL sur n'importe quel port.
- les programmeurs peuvent marcher sur le port 443 avec n'importe quelle application , ce qui est en fait un trou, car à l'origine, je voulais ouvrir uniquement SSL. Et c’est exactement ainsi que fonctionne le pare-feu L4 - il ouvre le port et peu importe pour lui ce qui se trouve là et quelles applications utilisent ce port. N'importe quel programmeur du groupe des programmeurs peut utiliser n'importe quel tunnel.
La définition de l'
application par défaut est très importante et vous permet de réduire le nombre de règles: vous pouvez spécifier les applications nécessaires dans la colonne Application dans une règle et le pare-feu lui-même ouvrira les ports nécessaires pour les applications nécessaires et seules les applications qui devraient y aller passeront par ces ports. Par conséquent, vous avez besoin d'une règle pour ouvrir plusieurs applications.
Par exemple, pour la règle ci-dessous, où tous les employés ne sont autorisés à accéder à Internet que par défaut, NGFW vérifiera constamment qu'ils ne veulent que le client DNS sur le 53e port et non TCP-over-DNS. Et bien sûr, cela augmente la sécurité, car vous autorisez non seulement les applications, mais contrôlez que seules les applications que vous autorisez passent par des canaux ouverts.

Quels nouveaux problèmes créent une nouvelle approche pour écrire des règles pour L7
Vous devez comprendre que la détermination de l'application par le contenu du package est très stressante pour le processeur de pare-feu L7. Si le pare-feu L4 habituel ne vérifiait que quelques octets de l'en-tête du paquet TCP, puis passait les mégaoctets restants du clip flash sans vérification, le pare-feu L7 devrait lire tout ce qui est stocké dans le champ de données TCP / IP et vérifier constamment le contenu de la connexion TCP / IP, soudainement. changé ou représente une menace pour l'entreprise. Par conséquent, lorsqu'une fonctionnalité telle que l'analyse de contenu est apparue, tous les appareils ont commencé à ralentir. Par conséquent, l'analyse de contenu nécessite des appareils plus puissants.
Limites de la technologie d'analyse de niveau 7
Le pare-feu L7 nécessite plus de mémoire pour stocker l'état d'une connexion, par conséquent le paramètre «nombre de connexions simultanées» du pare-feu L7 est toujours inférieur à celui du pare-feu L4 avec la même quantité de RAM dans les deux appareils, et de manière significative, toutes les 10 fois. Cela a déjà été expliqué ci-dessus dans la section État Inspection Et c'est le prix pour la sécurité de vos applications. Par conséquent, si vous comparez l'inspection L4 et L7, demandez au fabricant comment il a mesuré le paramètre «nombre de sessions simultanées»: avec la sécurité activée au niveau 7 ou désactivée.
La même chose avec les performances: le processeur de pare-feu L4 ne vérifie que quelques octets de l'en-tête de paquet, puis transfère les données lui-même à des vitesses de routage sans vérification, et le pare-feu L7 vérifie à la fois l'en-tête et tous les mégaoctets de données contenus dans les paquets de connexion suivants. Et c'est un travail complètement différent. Par conséquent, ce travail doit être effectué sur des plates-formes matérielles spécialisées, où l'analyse des applications est accélérée, l'antivirus en streaming est accéléré, IPS et d'autres fonctions de sécurité sont accélérées. Mieux encore, Cavium a réussi à créer des puces pour accélérer la sécurité, dont les puces, par exemple, sont utilisées par Palo Alto Networks. FPGA() IPS FPGA. , — .
Conclusion
- , L7 firewall . , . : NGFW .
- , , L7 firewall - , .
- , , . , - 80 .
3. SSL NGFW. ( )
!
denis@batrankov.ru