Nous avons récem­ment déployé sur nos ser­veurs une nou­velle ver­sion de notre reverse proxy HTTP, avec son lot de nou­veau­tés. Ce billet de blog est le pre­mier d’une série visant à vous les pré­sen­ter en détail.

Nous vous pré­sen­tons ici le pare-feu appli­ca­tif web (Web Application Firewall, ou WAF).

Un WAF, qu’est-ce que c’est ?

La qua­si-tota­li­té des appli­ca­tions ont des bugs, et notam­ment les appli­ca­tions web. Ils peuvent rendre les sites vul­né­rables et être uti­li­sés par des atta­quants pour les péné­trer et prendre le contrôle (on parle alors géné­ra­le­ment d’infec­tion). Les consé­quences peuvent être han­di­ca­pantes (site web qui ne fonc­tionne plus), voire pire (fuite de don­nées per­son­nelles).

La cyber­sé­cu­ri­té est un domaine à part entière. En sui­vant cer­taines bonnes pra­tiques, et en uti­li­sant un WAF, il est pos­sible de dimi­nuer dras­ti­que­ment la vul­né­ra­bi­li­té de vos sites web. Bonne nou­velle : nous avons inté­gré un WAF au sein de notre infra­struc­ture et sim­pli­fié au maxi­mum sa mise en place pour que tous nos clients puissent l’utiliser.

Gandalf GIF @Giphy

Un WAF est un pare-feu pro­té­geant les appli­ca­tions web face à divers vec­teurs d’attaques. Le WAF exa­mine chaque requête HTTP, et peut soit les auto­ri­ser à tran­si­ter jusqu’à l’application, soit les blo­quer, aler­ter ou consi­gner si elles sont jugées mal­veillantes. Il est géné­ra­le­ment capable de réagir à un grand nombre de vec­teurs d’attaques et donc de limi­ter au maxi­mum les infec­tions.

La requête passe par le pare-feu applicatif (WAF) qui l'analyse et décide de laisser passer la requête ou de la consigner (schéma)
Parcours d’une requête HTTP face à un WAF (icônes : The Noun Project)

Le WAF Modsecurity

Plutôt que de déve­lop­per une solu­tion en interne, nous avons opté pour le WAF ModSecurity déve­lop­pé par Trustwave SpiderLabs. Ce pro­jet jouit d’une bonne noto­rié­té dans le sec­teur de la sécu­ri­té appli­ca­tive. Par ailleurs, la com­mu­nau­té d’utilisateurs de ModSecurity est très active, ce qui par­ti­cipe à son amé­lio­ra­tion jour après jour.

Néanmoins, ModSecurity est un moteur de sécu­ri­té appli­ca­tive et un moteur sans car­bu­rant ne peut fonc­tion­ner. Le car­bu­rant de ModSecurity ce sont les règles per­met­tant de déter­mi­ner si une requête est mal­veillante. Nous avons choi­si d’utiliser l’ensemble de règles libres OWASP Modsecurity Core Rule Set (CRS) qui offre une pro­tec­tion géné­rique à diverses attaques ain­si qu’au Top 10 OWASP avec un mini­mum de faux posi­tifs.

Configurer son pare-feu applicatif chez alwaysdata

Pour plus de flexi­bi­li­té et de modu­la­ri­té, le WAF est acti­vable indi­vi­duel­le­ment pour cha­cun de vos sites héber­gés chez always­da­ta.

Plusieurs pro­fils sont acti­vables, cha­cun offrant un niveau de pro­tec­tion dif­fé­rent. Ils sont au nombre de six, triés par ordre crois­sant de pro­tec­tion :

  1. Aucun (par défaut)
  2. Basique
    • Respect strict du pro­to­cole HTTP
    • Détection de robots mal­veillants
  3. Fort
  4. Complet
    • L’ensemble des règles du pro­fil fort
    • Détection d’attaques rela­tives au lan­gage PHP
    • Détection d’attaque par inclu­sion de fichier local (LFI)
    • Détection d’attaque par inclu­sion de fichier dis­tant (RFI)
  5. WordPress
    • L’ensemble des règles du pro­fil com­plet
    • Règles spé­ci­fiques à WordPress
  6. Drupal
    • L’ensemble des règles du pro­fil com­plet
    • Règles spé­ci­fiques à Drupal

Il est impor­tant de noter que l’activation d’un pro­fil de pro­tec­tion va se tra­duire par une légère aug­men­ta­tion de la latence lors du trai­te­ment d’une requête HTTP. Cette latence, de l’ordre de quelques mil­li­se­condes, aug­mente avec le degré de pro­tec­tion. Ceci s’explique par le fait que cette requête doit être confron­tée à un nombre plus impor­tant de règles de sécu­ri­té avant que Modsecurity ne puisse tirer ses conclu­sions.

Pour l’utiliser, c’est très simple. Rendez vous dans Sites → Modification → WAF et sélec­tion­nez le pro­fil le plus adap­té à votre besoin. C’est tout.

Capture d'écran de l'interface d'administration pour la configuration du pare-feu applicatif par site

Cette fonc­tion­na­li­té est pour le moment consi­dé­rée comme en phase bêta.


C’est dans notre optique de vous four­nir un héber­ge­ment tou­jours plus qua­li­ta­tif, sans rogner sur la sim­pli­ci­té d’utilisation, que nous vous pro­po­sons le déploie­ment d’un WAF en trois clics pour vos sites.

Après la sécu­ri­té, la per­for­mance ! Dans le pro­chain billet, nous vous pré­sen­te­rons notre tout nou­veau cache HTTP et son impact sur la qua­li­té de ser­vice pour vos sites web.