Code Source DynFi Firewall
Le code source DynFi Firewall est divisé en plusieurs sections, chaque section joue un rôle bien précis et est reliée aux autres sections, permettant ainsi de compiler l’ensemble du firewall de façon autonome. L’objectif de notre projet est de permettre de construire un pare-feu en utilisant des méthodes de compilations plus simple et plus modernes que celle proposées par OPNsense.
Pour ce faire nous avons donc retravaillé l’ensemble du processus de compilation en utilisant Poudriere qui est utilisé par FreeBSD pour la construction de nombreux packages et pour construire le système FreeBSD dans son intégralité.
Accédez à tous les codes sources publiés par DynFiDynFi Build
Ceci est une collection de scripts de compilation qui permet de construire DynFi Firewall.
build_base.sh
build_pacakges.sh
build_installer.sh
poudriere.sh
build_sync.sh
FreeBSD-Base
Le code source de FreeBSD nécessaire pour construire le système.
Code source de FreeBSD utilisé pour le buildOverlay DynFi
Cet overlay doit être utilisé avec les ports FreeBSD et permet de construire les logiciels nécessaires à la construction de DynFi Firewall.
Overlay nécessaire au build de DynFi FirewallDynFi OPNsense-core
DynFi Core est basé sur opensense-core, mais comporte de nombreux changements supplémentaires et notament un GUI largement revisité.
DynFi GUI and system managementComment construire DynFi Firewall
Tout d’abord, vous devez récupérer tous les dépôts nécessaires :
- le dépôt FreeBSD utilisé par DynFi Firewall : https://github.com/DynFi/FreeBSD-base
- le dépôt des ports DynFi Firewall : https://github.com/DynFi/opnsense-core
- l’overlay Poudriere nécessaire au build de DynFi Firewall : https://github.com/DynFi/dynfi-overlay
Nous vous encourageons à prendre connaissance des différents readme fournis dans chacune des sections.
Le fichier que vous devez modifier est common.subr, et les valeurs intéressantes sont :
OVERLAY_PORTS
- est un répertoire où se trouve le repo dynfi-overlayFBSD_TREE
- est un répertoire où se trouve le répertoire FreeBSD
Ensuite, vous pouvez utiliser un script build_base.sh
pour compiler le noyau et FreeBSD world
.
L’étape suivante est de construire les paquets. Le script build_packages.sh
est responsable de cela.
Quand vous avez un paquetage, le noyau et le monde, vous pouvez construire l’installation avec build_installer.sh
.
Enfin, vous pouvez pousser le dépôt requis vers un serveur distant avec le script build_sync.sh
.
DynFi GUI and system management
Code source de FreeBSD utilisé pour le build
Overlay nécessaire au build de DynFi Firewall
Le projet de R&D DynFiltering
DynFiltering est un projet de recherche et développement qui a été initié par DynFi avec l'école Centrale Supelec. L’objectif de ce projet est d’explorer les possibilités offertes par le filtrage à grande échelle basé sur l’empreinte SSL à partir de la signature du certificat.
Les différents scripts et outils qui se trouvent dans ce projet permettent d’analyser un grand nombre d’URL, de sauvegarder efficacement les signatures SSL dans une base de données et de produire des listes d’empreintes SSL prêtes à être importées dans Suricata.
Le passage à l’échelle et en particulier l’inclusion de plusieurs dizaine de milliers de signature dans Suricata semble toujours problématique à ce stade. Des tests complémentaires doivent être fait pour trouver des méthodes d’inclusion optimisées de ces règles.
DynFiltering projectLe code source des Agents de Connexion DynFi Manager
DynFi Manager permet l’utilisation d’Agents de connexion déployés sur les firewalls qui permettent à ces derniers d’étbalir la connexion vers le Manager. Cela s’avère particulièrement utile dans des cas où le firewall est déployé derrière un pare-feu ou utilise du NAT.
Nous donnons ici accès au code source de la partie client de l’agent de connexion :
Code source Agent de Connexion DynFi DFConAgOPNsense
Code Source Agent de Connexion DynFi DFConAgPfSense