Fonctionnement du module Amon

Pour jouer son rôle, le module Amon repose sur beaucoup de projets libres : iptables, strongSwan, squid, e2guardian, Nginx.

Tous les services sont activables, désactivables, pour construire une passerelle sur mesure.

La passerelle permet :

  • la mutualisation de l'accès Internet pour les réseaux locaux ;

  • la gestion des Réseaux Virtuels Privés (RVP/VPN).

Le module Amon permet de mettre en place rapidement et facilement tous les services nécessaires à la sécurisation d'un réseau et à l'application des règles de communication autorisées. Le pare-feu[1] repose sur le logiciel iptables[2] et l'éditeur de règles ERA[3] permet de générer les règles et de gérer la description de la politique de sécurité d'un pare-feu. Cette politique est sauvegardée intégralement dans un fichier de type XML[4] avec un format spécifique à l'application.

Par un processus de compilation, ERA transforme le fichier XML en un bloc de règles iptables, de manière à instancier ces règles sur un pare-feu cible.

Typiquement, le module Amon devrait être équipé au minimum de 2 cartes réseau :

  • l'interface-0, carte affectée pour le trafic réseau extérieur ;

  • l'interface-1, carte affectée pour le trafic réseau intérieur ;

Des cartes supplémentaires interface-n peuvent être ajoutées.

Les modèles de zone par défaut proposés supportent jusqu'à 5 cartes réseau :

  • 2zones : gestion d'une zone admin ou pedago sur eth1 ;

  • 2zones-amonecole : modèle spécifique au module AmonEcole (pedago sur eth1) ;

  • 3zones : gestion d'une zone admin sur eth1 et d'une zone pedago sur eth2 ;

  • 3zones-dmz : gestion d'une zone pedago sur eth1 et d'une zone DMZ publique pouvant accueillir un module Scribe sur eth2 ;

  • 4zones : gestion d'une zone admin sur eth1, d'une zone pedago sur eth2 et d'une zone DMZ publique pouvant accueillir un module Scribe sur eth3 ;

  • 5zones : gestion d'une zone admin sur eth1, d'une zone pedago sur eth2, d'une zone DMZ publique pouvant accueillir un module Scribe sur eth3 et d'une zone DMZ privée sur eth4.

Complément

Le modèle de zone proposés correspondent à un modèle de filtrage ERA. Les modèles de filtrage ERA sont la description de pare-feu enregistrés dans des fichiers XML situés par défaut dans le répertoire /usr/share/era/modeles/.

Truc & astuce

Avec ERA il est possible de créer un nouveau modèle personnalisé dans le répertoire /usr/share/era/modeles/. Celui-ci apparaîtra dans la liste des modèles proposés par défaut.

Chaque carte réseau devra avoir sa propre adresse IP. Le choix de celles-ci dépend de l'architecture réseau en place.

Le service bastion récupère les règles par défaut des zones ainsi que toutes les règles personnalisées :

  • les règles optionnelles de l'EAD ;

  • les postes et les groupes de postes interdits ou restreints dans l'EAD ;

  • les règles sur les horaires de l'EAD ;

  • les règles ipsets (les exceptions sur une directive) ;

  • les règles de la QOS ;

  • les règles tcpwrapper (host allow et hosts deny).

Le service bastion gère également les règles iptables dans les conteneurs lorsque le module en est pourvu.

La liste des actions du service se trouve dans le script /usr/share/era/bastion.sh.

Le service bastion met en cache les règles mais ne les régénère pas à chaque fois.

Seules les commandes CreoleService bastion restart ou service bastion restart vont régénérer les règles.

Le proxy filtrant repose sur l'utilisation de squid et de e2guardian et permet :

  • de gérer une liste de sites et d'URL interdits ;

  • le filtrage syntaxique ;

  • l'interdiction par extension et type MIME ;

  • de gérer une liste blanche (« tout interdit sauf ») ;

  • d'interdire une plage d'IP et plage horaire ;

  • l'économie de bande passante par la mise en cache.

Le module Amon utilise Nginx pour mettre en place un proxy inverse qui permet :

  • d'ouvrir des services Web sur Internet ;

  • de rediriger par URL ;

  • de forcer l'utilisation de HTTPS ;

  • la ré-écriture d'URL (expressions régulières).

D'autres services sont également proposés.

Parmi les plus couramment utilisés :

  • l'établissement de réseaux virtuels privés ;

  • la délégation de zone DNS et le DNS local reposent sur bind ;

  • l'authentification Wifi repose sur le logiciel libre FreeRADIUS.