InfraFenceInfraFence

Live Security Operations

Commencer

Pare-feu web

Comment le pare-feu web d'InfraFence note chaque visiteur à partir des journaux d'accès - types d'attaque et points, décroissance, niveaux d'action, règles de fréquence, règles personnalisées et provenance des journaux.

Dernière mise à jour:

Le pare-feu web lit les journaux d'accès de vos serveurs web, attribue un score à chaque adresse de visiteur et bannit l'adresse au niveau du pare-feu quand le score devient assez élevé. Il fonctionne avec tout serveur web qui écrit un journal d'accès, ne demande aucune modification de sa configuration et n'ajoute aucune latence aux requêtes.

D'où viennent les journaux

L'agent trouve les journaux d'accès de lui-même, dans cet ordre :

  1. WEB_LOG_PATH, s'il est défini (il remplace alors la détection) ;
  2. la configuration de nginx et d'Apache (access_log, CustomLog), les hôtes virtuels OpenLiteSpeed, les domlogs de cPanel ;
  3. les conteneurs web de l'hôte (voir Docker) ;
  4. les journaux par domaine de Plesk, ISPConfig, DirectAdmin, CyberPanel et d'autres, et les chemins habituels de nginx, Apache, LiteSpeed et Caddy.

Il recherche à nouveau toutes les 5 minutes, ce qui lui permet de prendre en compte les nouveaux sites. Les requêtes de fichiers statiques (CSS, JavaScript, images, polices) ne sont pas notées, et les adresses privées sont ignorées.

Types d'attaque et points

Type d'attaque Points
Exécution de code à distance, web shell, Shellshock, user agent de scanner 50
Injection SQL, SSRF, exploit web, honeypot 40
Path traversal, injection d'en-têtes, force brute WordPress ou CMS 30
XSS, sonde .env, abus de XML-RPC 25
Sondage de fichiers de configuration 20
Rafale de 404 15

Les user agents de scanners comprennent sqlmap, nikto, nmap, masscan, wpscan, gobuster, nuclei, acunetix et nessus. Le catalogue intégré complet, 109 motifs, est publié avec chaque version sous le nom waf-catalog.json, et la page Pare-feu web liste chaque motif que l'agent applique.

Règles de fréquence

Certaines attaques sont une question de volume. Ces règles ajoutent leurs points quand une adresse dépasse le seuil dans la fenêtre de temps :

Règle Seuil par défaut Fenêtre
Connexion WordPress 10 2 minutes
admin-ajax.php de WordPress sans session 10 30 secondes
XML-RPC 5 1 minute
Connexion Drupal, connexion Joomla 5 30 secondes
Recherche de plugins 5 5 minutes
Rafale de 404 15 5 minutes

Score et actions

Les scores diminuent de 5 points par minute, si bien qu'une requête isolée un peu étrange finit par s'effacer. Le score détermine le niveau :

Score Niveau Ce qui se passe
30 observer Signalé comme événement d'information.
60 ralentir Signalé comme avertissement.
80 bloquer Banni au niveau du pare-feu, signalé comme critique.
100 bannir au pare-feu Banni au niveau du pare-feu, signalé comme critique.

Un bannissement dure ce qu'indique Paramètres › Agent › Durée des bannissements, comme un bannissement SSH. Une adresse que ModSecurity a déjà signalée n'est pas notée une seconde fois.

Modifier les règles

Sur la page Pare-feu web (propriétaires et admins ; les membres peuvent la consulter) :

  • par type d'attaque : les Points, un Seuil pour les règles de fréquence, et le mode : Actif, Détecter seulement (signalé, jamais banni) ou Désactivé ;
  • Schémas intégrés : désactivez individuellement les motifs qui provoquent des faux positifs ;
  • Règles personnalisées : un motif en texte simple ou en expression régulière, comparé à l'URL, au User-Agent ou au Referer, et noté comme le type d'attaque de votre choix. Un chemin leurre noté comme honeypot piège les scanners. Les expressions régulières utilisent la syntaxe RE2, sans distinction de casse, et le champ Tester avec essaie un motif avant que vous ne l'enregistriez.

Enregistrer les réglages WAF envoie les modifications ; les serveurs les appliquent en quelques secondes.

Mode surveillance

Avec le Mode surveillance activé, tous les types sont en détection seule : les scores et les événements continuent, rien n'est banni.

Pour bloquer à l'intérieur du serveur web, dès la première requête, voir ModSecurity.