Firewall ResEl 3

Tâches

  1. Création d'un environnement de test
  2. Création d'une plateforme de script avec interface web, pour faciliter le suivi et la configuration
  3. Passage à nftables
  4. Création d'une abstraction pour la définition des règles et leur administration
  5. Vérification de l'utilité des règles en place (certaines étant historiques)
  6. Refactoring en profondeur du firewall v2 et de son architecture : mise en place de modules indépendant pour les modules annexes

Lot 1 : Création d'un environnement de test

L'objectif est de créer un environnement vagrant pour réaliser des tests en intégration continue sur le firewall. Les tests peuvent dès à présent être menés sur le firewall v2 (reselqos), l'ensemble des fonctionnalités à tester étant similaire à la v3.

Tests:

  • Accès internet/coupure en zone user en fonction du statut (inscription, paiement, banni)
  • Scan des ports ouverts à l'extérieur en comparaison à la liste de pat en place
  • Tests des pat vers les différentes machines
  • Vérification de la zone inscription et de la redirection vers resel.fr
  • Tests tcp,udp,icmp dans les différentes conditions
  • Tests de débits pour vérifier les shapes
  • Tests d'attaques ?

Environnement: Utilisations de plusieurs machines vagrant pour simuler différents éléments réels:

  • firewall
  • bases de données : mysql & ldap
  • machine admin : test de redirection... (même machine que celle des bases de données ?)
  • utilisateur

Architecture de test Vagrant du fw

Réalisation des tests avec python unittest. A tester avec la version actuelle du fw. Mise en place incrémentale des tests (pas besoin de faire tout les tests d'un coup, déjà l'environnement et vérifier l'accès à internet c'est une première étape).

Lot 2 : Création d'une plateforme de script

Lot 3 : Passage à nftables

Debian Stretch (9) va être livré avec nftables, youhou \o/ Je vous laisse regarder tout ce que ça apporte en plus par rapport à iptables : En soit la syntaxe est plus simple, et c'est surtout plus rapide. Du coup il faudra utiliser ça pour la prochaine version (stretch devrait sortir bientôt), de plus ça reste très similaire à iptables donc on ne perd pas l'acquis de reselqos.

Lot 4 : Création d'une abstraction pour la définition des règles et leur administration

Politique de redondance

Schéma de la tête