# F5

### Plugin Netacea F5

L'intégration avec les répartiteurs de charge F5 repose sur le module iRules LX.

Les « **iRules** » sont l'expression générale pour la création de scripts dans l'environnement F5. Généralement, ils servent à exprimer comment les requêtes doivent être réparties via le F5 avec quelques outils de sécurité légers. Les blocs de code sont séparés en phases de la requête et les scripts peuvent être écrits dans un langage entièrement spécifique à F5. La documentation des iRules est disponible [ici](https://clouddocs.f5.com/api/irules/).

« **iRules LX** » décrit une extension des iRules ajoutée pour permettre l'utilisation de langages de script moins spécifiques (c'est-à-dire JavaScript). Un processus node complet s'exécute en parallèle de l'intégration F5 sur le serveur et les fonctions peuvent être appelées via des appels de procédure à distance (RPC). La documentation est disponible [ici](https://clouddocs.f5.com/api/irules-lx/).

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-0a48335d485b03714ef091e388941ec7c1974a78%2Fimage%20(13)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

L'implémentation d'une intégration F5 comprend trois livrables principaux. Nous avons implémenté des modules généraux pour l'interfaçage avec la plateforme Netacea, un wrapper spécifique à F5 pour servir le RPC via ILXServer (module fourni par F5), et une iRule qui gère la logique de traitement des requêtes et les appels aux méthodes distantes.

### Flux des requêtes

Lorsqu'un visiteur accède pour la première fois à un site protégé par Netacea/F5, le plugin interroge le service Netacea Protector API. Si le visiteur est identifié comme malveillant, le plugin effectue l'action d'atténuation appropriée.

Un cookie contenant des informations sur la validité d'un utilisateur est placé sur l'appareil du client pour une identification ultérieure et sa validité est vérifiée périodiquement.\
\
Le plugin transmet en continu les données de logs sur le visiteur et la session au service Netacea Monitor Ingest où le moteur de détection Netacea effectue une analyse approfondie pour confirmer s'il s'agit d'un acteur légitime. Cette action est effectuée de manière asynchrone et n'ajoute donc aucune latence à la requête.\
\
Si à un moment donné l'activité du visiteur devient malveillante, le service Netacea Protector API est mis à jour et le plugin effectue l'atténuation appropriée.

Le diagramme ci-dessous et les notes associées expliquent le flux du trafic dans cette implémentation (à haut niveau).\ <br>

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-a63f79567595a5623d6b823713aee6b14b8bba99%2FGitbook_diagrams_F5.jpg?alt=media" alt=""><figcaption></figcaption></figure>

1. Le visiteur demande le site protégé par Netacea/F5.
2. Le plugin Netacea F5 interroge le service Netacea Protector API pour vérifier si le visiteur est identifié comme malveillant ou sûr.
3. Une copie de la requête web est envoyée sous forme de données de logs pour analyse à l'aide de notre intelligence collective sur les menaces, de l'apprentissage automatique et de l'analyse comportementale afin de déterminer si la requête est sûre.
4. Les résultats d'analyse sont publiés pour que le plugin Netacea F5 puisse les lire et déterminer quelle stratégie d'atténuation doit être utilisée pour ce trafic.
5. Si les requêtes sont légitimes, elles sont transmises à l'origine normalement.
6. Si les requêtes nécessitent une atténuation, l'action appropriée est effectuée et servie au client.
