GNU/Linux >> Tutoriels Linux >  >> Linux

Une introduction aux pare-feu d'applications Web pour les administrateurs système Linux

Les pare-feu existent sous une forme ou une autre depuis le début de la mise en réseau. Les premiers pare-feu n'étaient même pas identifiés comme des pare-feu ; ils n'étaient rien de plus que des barrières physiques entre les réseaux. Ce n'est que dans les années 1980 que le premier appareil spécifiquement conçu pour être (et nommé) un pare-feu a été développé par DEC. Depuis lors, les pare-feux ont évolué vers une myriade de formes.

Mais qu'est-ce qu'un pare-feu ? À la base, un pare-feu est un dispositif conçu pour autoriser ou refuser le trafic en fonction d'un ensemble de règles. Ces règles peuvent être aussi simples que "autoriser HTTP et bloquer tout le reste", ou elles peuvent être infiniment plus complexes, y compris les protocoles, les ports, les adresses et même les empreintes digitales des applications. Certains pare-feu modernes ont même intégré l'apprentissage automatique dans le mélange.

Présentation du WAF

Comme pour les autres technologies, à mesure que les pare-feu ont évolué, certaines utilisations de niche ont été identifiées.

Les pare-feu d'applications Web (WAF) font partie de ces utilisations de niche. Un WAF est un pare-feu spécialement conçu pour gérer le trafic "web" ; c'est-à-dire le trafic utilisant le protocole HTTP. De manière générale, le rôle d'un WAF est d'inspecter tout le trafic HTTP destiné à un serveur Web, d'éliminer les "mauvaises" requêtes et de transmettre le "bon" trafic. Les détails de son fonctionnement sont, comme vous vous en doutez, un peu plus compliqués.

Tout comme les pare-feu "normaux", un WAF est censé bloquer certains types de trafic. Pour ce faire, vous devez fournir au WAF une liste de ce qu'il faut bloquer. Par conséquent, les premiers produits WAF sont très similaires à d'autres produits tels que les logiciels antivirus, les produits IDS/IPS, etc. C'est ce qu'on appelle la détection basée sur la signature. Les signatures identifient généralement une caractéristique spécifique d'un paquet HTTP que vous souhaitez autoriser ou refuser.

Exemples WAF

Par exemple, les WAF sont souvent utilisés pour bloquer les attaques par injection SQL. Une signature très simpliste peut simplement rechercher les éléments d'identification clés d'une attaque par injection SQL typique. Par exemple, il peut ressembler à ' AND 1=1 inclus dans le cadre de la requête GET ou POST. Si cela correspond à un paquet entrant, le WAF le marque comme mauvais et le rejette.

Les signatures fonctionnent plutôt bien mais nécessitent beaucoup de maintenance pour s'assurer que les faux positifs sont réduits au minimum. De plus, écrire des signatures est souvent plus une forme d'art qu'une simple tâche de programmation. Et l'écriture de la signature peut également être assez compliquée. Vous essayez souvent de faire correspondre un modèle d'attaque général sans également faire correspondre le trafic légitime. Pour être franc, cela peut être assez énervant.

Dans les mauvaises herbes WAF

Pour illustrer cela un peu plus, regardons ModSecurity. Le projet ModSecurity est un projet WAF open source qui a commencé comme un module pour le serveur Web Apache, mais a depuis évolué vers un package modulaire qui fonctionne avec IIS, Nginx et d'autres. ModSecurity est un WAF basé sur les signatures et est souvent livré avec un ensemble de signatures par défaut appelé OWASP ModSecurity Core Rule Set.

Le Core Rule Set (CRS) est un excellent point de départ pour déployer un WAF basé sur les signatures. Il comprend des signatures pour tous les risques de sécurité des applications Web OWASP Top Ten ainsi qu'une grande variété d'autres attaques. Les développeurs ont fait de leur mieux pour s'assurer que le CRS a peu de fausses alertes, mais, inévitablement, toute personne déployant le CRS devra modifier les règles. Cela implique d'apprendre le langage des règles et d'avoir une compréhension approfondie du protocole HTTP.

Cependant, la technologie évolue et les nouveaux fournisseurs de WAF utilisent d'autres approches pour bloquer le mauvais trafic. Il y a eu une évolution assez généralisée des approches de configuration statiques telles que les listes d'autorisation et de blocage vers des méthodes plus dynamiques impliquant des API et l'apprentissage automatique. Cette évolution concerne plusieurs technologies, notamment les pare-feux traditionnels, les logiciels antivirus et, vous l'aurez deviné, les WAF.

[ Le réseau devient incontrôlable ? Découvrez l'automatisation du réseau pour tous, un livre gratuit de Red Hat. ]

Un WAF peut apprendre

Dans le nouveau monde courageux des ensembles de règles dynamiques, les WAF utilisent des approches plus intelligentes pour identifier le bon et le mauvais trafic. L'une des méthodes les plus "simples" consiste à mettre le WAF en mode "apprentissage" afin qu'il puisse surveiller le trafic entrant et sortant du serveur Web protégé. L'objectif ici est de "former" le WAF pour identifier à quoi ressemble un bon trafic. Cela peut inclure le trafic qui correspond à des modèles étiquetés comme mauvais lorsque des signatures ont été utilisées. Une fois que le WAF a été formé, il passe en mode d'application.

La formation d'un WAF comme celui-ci est similaire à ce qui se passe lorsque vous formez un système de messagerie pour identifier le spam. Les systèmes de messagerie utilisent souvent un algorithme de filtrage bayésien pour identifier le spam. Ces algorithmes fonctionnent relativement bien mais peuvent être empoisonnés pour permettre le spam. Des problèmes similaires existent avec les algorithmes utilisés par les fournisseurs de WAF, en particulier lorsque le WAF est en mode d'apprentissage.

Les fournisseurs WAF plus avancés utilisent des techniques propriétaires pour autoriser et bloquer le trafic. Ces techniques incluent des algorithmes capables d'identifier si certaines attaques fonctionneront contre le système cible et de ne bloquer que celles qui seraient nuisibles. Cependant, les techniques avancées comme celle-ci ne se trouvent généralement que chez les fournisseurs WAF SaaS et non dans les appliances WAF autonomes.

[ Avez-vous besoin de plus de sécurité réseau ? VLAN pour les administrateurs système :les bases ]

Récapitulez

Les WAF, et les pare-feu en général, ont beaucoup évolué au fil des ans, passant de méthodes statiques à des méthodes dynamiques pour identifier et bloquer le trafic. Ces techniques ne feront que s'améliorer à l'avenir. Il existe une variété de solutions disponibles, de l'open source aux fournisseurs commerciaux. Quels que soient vos besoins, il existe un WAF pour vous.


Linux
  1. Mes commandes Linux préférées pour optimiser les images Web

  2. 10 navigateurs Web légers Open Source pour Linux

  3. Démystifier Ansible pour les administrateurs système Linux

  4. 30 exercices de processus Linux pour les administrateurs système

  5. ForeverNote – Un client Web Evernote pour Linux

Terminal Velocity - Une application de prise de notes CLI pour Linux

Une introduction à Cockpit, un outil d'administration basé sur un navigateur pour Linux

Guide de démarrage rapide d'Ansible pour les administrateurs système Linux

30 exercices d'autorisations Linux pour les administrateurs système

40 commandes réseau Linux utiles pour les administrateurs système modernes

Qu'est-ce qu'un WAF (Web Application Firewall) ? Types de WAF