#1 Le 21/03/2026, à 12:35
- So6sse
[OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Bonjour à tous,
Je souhaite vous présenter un projet sur lequel je travaille depuis un moment : ufw-audit, un outil d'audit de pare-feu UFW conçu pour les utilisateurs Linux ordinaires, pas uniquement pour les administrateurs système.
Ce que ça fait
ufw-audit analyse votre configuration UFW et répond à une question simple : mon pare-feu me protège-t-il vraiment ?
Il détecte les services réseau installés (SSH, Redis, Samba, Docker, Mosquitto, Nextcloud et 16 autres), vérifie leur exposition UFW, analyse vos logs UFW pour détecter les tentatives bloquées et les attaques bruteforce, détecte les clients DDNS actifs et les ports exposés sur internet, vérifie le contournement iptables par Docker, et vous donne un score de sécurité avec des explications en langage clair et des commandes de correction prêtes à l'emploi.
Pourquoi je l'ai créé
La plupart des tutoriels UFW expliquent comment ajouter des règles, mais rien ne vous dit si le résultat est cohérent. Je voulais quelque chose capable de regarder l'ensemble de la configuration et de dire "Redis est actif et n'a pas de règle UFW — voici pourquoi c'est un problème et voici comment le corriger".
Points clés
Python 3.8+, zéro dépendance PyPI — stdlib uniquement
421 tests unitaires, tous au vert
Installateur transparent avec manifeste complet et désinstallation propre
Bilingue EN/FR
22 services détectés avec contexte de risque à deux axes (exposition + menace) pour les services critiques et élevés
État actuel
La v0.9 est prête et sera taguée la semaine prochaine. Déjà testée sur Linux Mint 22.3.
GitHub https://github.com/Masbateno/Automated-UFW-audit
Les retours et les bêta-testeurs sont les bienvenus — en particulier si vous utilisez des services comme Home Assistant, Nextcloud ou Cockpit que je n'ai pas encore pu tester de manière approfondie.
Une précision importante
ufw-audit est un outil d'audit et de diagnostic, pas un bouclier de sécurité. Il analyse votre configuration et vous signale les problèmes — mais il ne les corrige pas automatiquement sans votre accord, et il ne peut pas tout détecter. Certains logiciels comme Docker peuvent contourner UFW en manipulant directement iptables : ufw-audit détecte ce cas spécifique et vous le signale, mais il existe d'autres vecteurs similaires qui sortent du périmètre actuel du projet. En résumé : ufw-audit vous aide à voir plus clair, il ne se substitue pas à une bonne hygiène de sécurité générale.
Hors ligne
#2 Le 28/03/2026, à 08:04
- So6sse
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Le projet en est rendu à la version 0.15.1 :
- Réécriture Python
- Audit complet du code + tests terrain
- Durcissement sécurité + corrections de bugs
- Gros Refactoring de "_main_.py" (quasi orchestrateur pur)
- Grosse évolution de l'UX (logs managment, planificateur multi-cron avec envoi d'email en mode "--quiet" etc...)
- Refonte de la documentation avec ajout d'un README.md plus accéssible.
Retours d'expérience bienvenue.
Hors ligne
#3 Le 28/03/2026, à 21:48
- miguel01
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Bonjour
J'ai testé ton logiciel et il y a une alerte "Le pare-feu UFW est désactivé"
miguel@xu-test:~/Automated-UFW-audit$ sudo ufw-audit --french
╔══════════════════════════════════════════════════════════════════════════════╗
║ ██╗ ██╗ ███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ████████╗ ║
║ ██║ ██║ ██╔════╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔══██╗ ██║ ╚══██╔══╝ ║
║ ██║ ██║ █████╗ ██║ █╗ ██║ ═══ ███████║ ██║ ██║ ██║ ██║ ██║ ██║ ║
║ ██║ ██║ ██╔══╝ ██║███╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║ ██║ ║
║ ╚██████╔╝ ██║ ╚███╔███╔╝ ██║ ██║ ╚██████╔╝ ██████╔╝ ██║ ██║ ║
║ ╚═════╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ UFW-AUDIT v0.15 │ Audit pare-feu UFW ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ Système : Ubuntu Resolute Raccoon (development branch) ║
║ Hôte : xu-test ║
║ UFW : v0.36.2 ║
║ Utilisateur : miguel ║
║ Date : 28/03/2026 20:31 ║
╚══════════════════════════════════════════════════════════════════════════════╝
ℹ [INFO] Démarrage de l'audit
┌──────────────────────────────────────────────────────────────────────────────┐
│ ÉTAT DU PARE-FEU │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] UFW est installé
✖ [ALERTE] Le pare-feu UFW est désactivé. Votre machine n'est actuellement pas protégée.
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES RÈGLES UFW │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucune règle UFW en doublon détectée
✔ [OK] Aucune règle 'allow from any' sans restriction de port détectée
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES SERVICES RÉSEAU │
└──────────────────────────────────────────────────────────────────────────────┘
▶ Avahi (local network discovery)
✔ [OK] Service actif et démarré automatiquement au démarrage
ℹ [INFO] Port 5353/udp — couvert par la politique deny par défaut
▶ CUPS (network printing)
✔ [OK] Service actif et démarré automatiquement au démarrage
ℹ [INFO] Port 631/tcp — lié uniquement sur localhost — aucune règle UFW requise (couvert par refus par défaut)
┌──────────────────────────────────────────────────────────────────────────────┐
│ PANORAMA DES SERVICES │
└──────────────────────────────────────────────────────────────────────────────┘
SERVICE STATUT PORT(S) UFW
──────────────────────────────── ───────────── ──────────────────── ───
SSH Server NON INSTALLÉ — —
VNC Server NON INSTALLÉ — —
Samba (Windows file sharing) NON INSTALLÉ — —
FTP Server NON INSTALLÉ — —
Apache Web Server NON INSTALLÉ — —
Nginx Web Server NON INSTALLÉ — —
MySQL / MariaDB NON INSTALLÉ — —
PostgreSQL NON INSTALLÉ — —
Transmission (web UI) NON INSTALLÉ — —
qBittorrent (web UI) NON INSTALLÉ — —
Avahi (local network discovery) ACTIF 5353/udp ✖
CUPS (network printing) ACTIF 631/tcp ✔
Cockpit (web admin) NON INSTALLÉ — —
WireGuard VPN NON INSTALLÉ — —
Redis NON INSTALLÉ — —
Jellyfin NON INSTALLÉ — —
Plex Media Server NON INSTALLÉ — —
Home Assistant NON INSTALLÉ — —
Nextcloud NON INSTALLÉ — —
Gitea NON INSTALLÉ — —
Mosquitto (MQTT) NON INSTALLÉ — —
Syncthing NON INSTALLÉ — —
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES PORTS EN ÉCOUTE │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] Port système interne — aucun danger (service OS légitime, pas de règle UFW nécessaire) : 53/udp (DNS)
ℹ [INFO] Port 323/udp — lié uniquement à localhost — pas d'exposition externe
ℹ [INFO] Port système interne — aucun danger (service OS légitime, pas de règle UFW nécessaire) : 53/tcp (DNS)
✔ [OK] Tous les ports en écoute sur 0.0.0.0 sont couverts par une règle UFW
┌──────────────────────────────────────────────────────────────────────────────┐
│ PORTS EN ÉCOUTE (VUE GÉNÉRALE) │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] 10 port(s) en écoute détecté(s) sur ce système
Utilisez -v pour afficher le tableau complet des ports
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES LOGS UFW │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] GeoIP2 non disponible — installez python3-geoip2 pour la géolocalisation IP
Période analysée : 7 jour(s) — 1 jour(s) de logs disponibles
✔ [OK] Activité normale — 6 tentative(s) bloquée(s) sur 7 jour(s), aucune menace détectée
ℹ [INFO] Top IPs sources : 178.32.126.79 — 6 tentative(s)
ℹ [INFO] Top ports ciblés : 59662/tcp — 6 tentative(s)
┌──────────────────────────────────────────────────────────────────────────────┐
│ EXPOSITION EXTERNE (DDNS) │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucun client DDNS détecté — pas d'exposition externe via DDNS identifiée
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DOCKER │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] Docker non installé — section ignorée
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DE VIRTUALISATION │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucune technologie de virtualisation détectée
╔══════════════════════════════════════════════════════════════════════════════╗
║ Score de sécurité : 3/10 ║
║ Niveau de risque : ✖ ÉLEVÉ ║
║ Contexte réseau : ? Réseau local uniquement ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ ✖ À corriger ║
║ ✖ Le pare-feu UFW est désactivé. Votre machine n'e… ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ Détail du score ║
║ ⚠ Score plafonné à 3 (pare-feu inactif) ║
╚══════════════════════════════════════════════════════════════════════════════╝
Des corrections sont nécessaires. Traitez en priorité les points marqués 'À corriger'.
ℹ Ce score évalue uniquement la configuration du pare-feu UFW.
ℹ Les mises à jour système, la sécurité applicative et les autres vecteurs d'attaque ne sont pas couverts par cet audit.
miguel@xu-test:~/Automated-UFW-audit$ Pourtant ufw est bien activé
miguel@xu-test:~$ sudo ufw status
[sudo: authenticate] Password:
État : actif
miguel@xu-test:~$ Xubuntu depuis Hardy Heron
Hors ligne
#4 Le 28/03/2026, à 22:30
- So6sse
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Salut miguel, c'est étrange, je n'ai jamais observé ce comportement, et je n'arrive pas à le reproduire, commence par mettre à jour, v0.21.
Merci pour le retour, c'est très important.
Hors ligne
#5 Le 28/03/2026, à 23:18
- miguel01
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Salut So6sse, déjà un bon point, en m'intéressant au pare-feu, je me suis rendu compte que le pare-feu de ma box SFR était désactivé.
Précise comment on fait la mise a jour, je ne suis q'un utilisateur lambda.
Dernière modification par miguel01 (Le 28/03/2026, à 23:34)
Xubuntu depuis Hardy Heron
Hors ligne
#6 Le 29/03/2026, à 00:30
- So6sse
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Salut So6sse, déjà un bon point, en m'intéressant au pare-feu, je me suis rendu compte que le pare-feu de ma box SFR était désactivé.
Précise comment on fait la mise a jour, je ne suis q'un utilisateur lambda.
Si tu as cloné le repos GitHub comme indiqué sur le README, tu n'as juste qu'a faire "git pull origin main" puis "sudo ./install.sh" depuis le répertoire déjà cloné.
Hors ligne
#7 Le 29/03/2026, à 01:10
- miguel01
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Cela n'a pas changé et entre temps j'ai installé samba.
miguel@xu-test:~/Automated-UFW-audit$ sudo ufw-audit --french
╔══════════════════════════════════════════════════════════════════════════════╗
║ ██╗ ██╗ ███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ████████╗ ║
║ ██║ ██║ ██╔════╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔══██╗ ██║ ╚══██╔══╝ ║
║ ██║ ██║ █████╗ ██║ █╗ ██║ ═══ ███████║ ██║ ██║ ██║ ██║ ██║ ██║ ║
║ ██║ ██║ ██╔══╝ ██║███╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║ ██║ ║
║ ╚██████╔╝ ██║ ╚███╔███╔╝ ██║ ██║ ╚██████╔╝ ██████╔╝ ██║ ██║ ║
║ ╚═════╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ UFW-AUDIT v0.22 │ Audit pare-feu UFW ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ Système : Ubuntu Resolute Raccoon (development branch) ║
║ Hôte : xu-test ║
║ UFW : v0.36.2 ║
║ Utilisateur : miguel ║
║ Date : 29/03/2026 00:26 ║
╚══════════════════════════════════════════════════════════════════════════════╝
ℹ [INFO] Démarrage de l'audit
┌──────────────────────────────────────────────────────────────────────────────┐
│ ÉTAT DU PARE-FEU │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] UFW est installé
✖ [ALERTE] Le pare-feu UFW est désactivé. Votre machine n'est actuellement pas protégée.
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES RÈGLES UFW │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucune règle UFW en doublon détectée
✔ [OK] Aucune règle 'allow from any' sans restriction de port détectée
✔ [OK] Configuration IPv6 cohérente avec les règles UFW
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES SERVICES RÉSEAU │
└──────────────────────────────────────────────────────────────────────────────┘
▶ Samba (Windows file sharing)
┄ Contexte de risque — CRITIQUE
Exposition : Conçu exclusivement pour les réseaux locaux — dangereux par nature si exposé sur internet
Menace potentielle : Accès et chiffrement de fichiers (ransomware), mouvement latéral (EternalBlue/WannaCry), exfiltration de données
✔ [OK] Service actif et démarré automatiquement au démarrage
✖ [ALERTE] Port 445/tcp — exposé sur internet — aucune restriction source dans UFW
✖ [ALERTE] Port 139/tcp — exposé sur internet — aucune restriction source dans UFW
▶ Avahi (local network discovery)
✔ [OK] Service actif et démarré automatiquement au démarrage
ℹ [INFO] Port 5353/udp — couvert par la politique deny par défaut
▶ CUPS (network printing)
✔ [OK] Service actif et démarré automatiquement au démarrage
ℹ [INFO] Port 631/tcp — lié uniquement sur localhost — aucune règle UFW requise (couvert par refus par défaut)
┌──────────────────────────────────────────────────────────────────────────────┐
│ PANORAMA DES SERVICES │
└──────────────────────────────────────────────────────────────────────────────┘
SERVICE STATUT PORT(S) UFW
──────────────────────────────── ───────────── ──────────────────── ───
SSH Server NON INSTALLÉ — —
VNC Server NON INSTALLÉ — —
Samba (Windows file sharing) ACTIF 445/tcp, 139/tcp ⚠
FTP Server NON INSTALLÉ — —
Apache Web Server NON INSTALLÉ — —
Nginx Web Server NON INSTALLÉ — —
MySQL / MariaDB NON INSTALLÉ — —
PostgreSQL NON INSTALLÉ — —
Transmission (web UI) NON INSTALLÉ — —
qBittorrent (web UI) NON INSTALLÉ — —
Avahi (local network discovery) ACTIF 5353/udp ✖
CUPS (network printing) ACTIF 631/tcp ✔
Cockpit (web admin) NON INSTALLÉ — —
WireGuard VPN NON INSTALLÉ — —
Redis NON INSTALLÉ — —
Jellyfin NON INSTALLÉ — —
Plex Media Server NON INSTALLÉ — —
Home Assistant NON INSTALLÉ — —
Nextcloud NON INSTALLÉ — —
Gitea NON INSTALLÉ — —
Mosquitto (MQTT) NON INSTALLÉ — —
Syncthing NON INSTALLÉ — —
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES PORTS EN ÉCOUTE │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] Port système interne — aucun danger (service OS légitime, pas de règle UFW nécessaire) : 53/udp (DNS)
ℹ [INFO] Port 323/udp — lié uniquement à localhost — pas d'exposition externe
ℹ [INFO] Port système interne — aucun danger (service OS légitime, pas de règle UFW nécessaire) : 53/tcp (DNS)
✔ [OK] Tous les ports en écoute sur 0.0.0.0 sont couverts par une règle UFW
┌──────────────────────────────────────────────────────────────────────────────┐
│ PORTS EN ÉCOUTE (VUE GÉNÉRALE) │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] 14 port(s) en écoute détecté(s) sur ce système
Utilisez -v pour afficher le tableau complet des ports
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES LOGS UFW │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] GeoIP2 non disponible — installez python3-geoip2 pour la géolocalisation IP
Période analysée : 7 jour(s) — 1 jour(s) de logs disponibles
✔ [OK] Activité normale — 14 tentative(s) bloquée(s) sur 7 jour(s), aucune menace détectée
ℹ [INFO] Top IPs sources : 2a02:8429:eee1:ed01:3aca:84ff:fe11:d564 — 4 tentative(s)
ℹ [INFO] Top ports ciblés : 3702/udp — 6 tentative(s)
┌──────────────────────────────────────────────────────────────────────────────┐
│ EXPOSITION EXTERNE (DDNS) │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucun client DDNS détecté — pas d'exposition externe via DDNS identifiée
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DOCKER │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] Docker non installé — section ignorée
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DE VIRTUALISATION │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucune technologie de virtualisation détectée
╔══════════════════════════════════════════════════════════════════════════════╗
║ Score de sécurité : 3/10 ║
║ Niveau de risque : ✖ ÉLEVÉ ║
║ Contexte réseau : ? Réseau local uniquement ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ ✖ À corriger ║
║ ✖ Le pare-feu UFW est désactivé. Votre machine n'e… ║
║ ✖ Port 445/tcp — exposé sur internet — aucune rest… ║
║ ✖ Port 139/tcp — exposé sur internet — aucune rest… ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ Détail du score ║
║ -2 Samba (Windows file sharing) 445/tcp open_wo… ║
║ -2 Samba (Windows file sharing) 139/tcp open_wo… ║
║ ⚠ Score plafonné à 3 (pare-feu inactif) ║
╚══════════════════════════════════════════════════════════════════════════════╝
Des corrections sont nécessaires. Traitez en priorité les points marqués 'À corriger'.
ℹ Ce score évalue uniquement la configuration du pare-feu UFW.
ℹ Les mises à jour système, la sécurité applicative et les autres vecteurs d'attaque ne sont pas couverts par cet audit.
miguel@xu-test:~/Automated-UFW-audit$ miguel@xu-test:~/Automated-UFW-audit$ sudo ufw status
État : actif
Vers Action De
---- ------ --
137,138/udp ALLOW Anywhere
139,445/tcp ALLOW Anywhere
137,138/udp (v6) ALLOW Anywhere (v6)
139,445/tcp (v6) ALLOW Anywhere (v6)
miguel@xu-test:~/Automated-UFW-audit$ Dernière modification par miguel01 (Le 29/03/2026, à 01:35)
Xubuntu depuis Hardy Heron
Hors ligne
#8 Le 29/03/2026, à 01:31
- So6sse
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Ton git pull pointe probablement vers une ancienne version ou une branche différente.
Lance :
git remote -vet
git log --oneline -3pour vérifier, puis
git checkout main && git pull origin maindepuis la racine du dépôt.
Hors ligne
#9 Le 29/03/2026, à 01:38
- miguel01
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Entre temps j'ai réparé et modifié le message 7
Xubuntu depuis Hardy Heron
Hors ligne
#10 Le 29/03/2026, à 01:45
- So6sse
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Entre temps j'ai réparé et modifié le message 7
Ok, tu as révélé un bug, c'est précisément ce que j'attend, c'est très utile pour moi.
relance :
git pull origin main && sudo ./install.shpuis relance
sudo ufw-audit --frenchHors ligne
#11 Le 29/03/2026, à 02:07
- miguel01
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
ça fonctionne, Bravo et bonne nuit
miguel@xu-test:~/Automated-UFW-audit$ git pull origin main && sudo ./install.sh
Depuis https://github.com/Masbateno/Automated-UFW-audit
* branch main -> FETCH_HEAD
Déjà à jour.
ufw-audit v0.22 — Installer
Pre-flight checks
✔ Python 3.14 found at /usr/bin/python3
✔ Source files present
Creating directories
✔ Created directory: /usr/local/bin
✔ Created directory: /usr/local/lib/ufw_audit
✔ Created directory: /usr/local/lib/ufw_audit/checks
✔ Created directory: /usr/local/share/ufw-audit
✔ Created directory: /usr/local/share/ufw-audit/locales
✔ Created directory: /usr/local/share/ufw-audit/data
✔ Created directory: /usr/local/share/doc/ufw-audit
Installing Python package
✔ Copied: /usr/local/lib/ufw_audit/__init__.py
✔ Copied: /usr/local/lib/ufw_audit/__main__.py
✔ Copied: /usr/local/lib/ufw_audit/_paths.py
✔ Copied: /usr/local/lib/ufw_audit/cli.py
✔ Copied: /usr/local/lib/ufw_audit/config.py
✔ Copied: /usr/local/lib/ufw_audit/cron.py
✔ Copied: /usr/local/lib/ufw_audit/display.py
✔ Copied: /usr/local/lib/ufw_audit/fixes.py
✔ Copied: /usr/local/lib/ufw_audit/i18n.py
✔ Copied: /usr/local/lib/ufw_audit/manage_logs.py
✔ Copied: /usr/local/lib/ufw_audit/output.py
✔ Copied: /usr/local/lib/ufw_audit/panorama.py
✔ Copied: /usr/local/lib/ufw_audit/registry.py
✔ Copied: /usr/local/lib/ufw_audit/report.py
✔ Copied: /usr/local/lib/ufw_audit/report_markdown.py
✔ Copied: /usr/local/lib/ufw_audit/scoring.py
✔ Copied: /usr/local/lib/ufw_audit/sysinfo.py
✔ Copied: /usr/local/lib/ufw_audit/checks/__init__.py
✔ Copied: /usr/local/lib/ufw_audit/checks/_run.py
✔ Copied: /usr/local/lib/ufw_audit/checks/firewall.py
✔ Copied: /usr/local/lib/ufw_audit/checks/services.py
✔ Copied: /usr/local/lib/ufw_audit/checks/ports.py
✔ Copied: /usr/local/lib/ufw_audit/checks/logs.py
✔ Copied: /usr/local/lib/ufw_audit/checks/ddns.py
✔ Copied: /usr/local/lib/ufw_audit/checks/docker.py
✔ Copied: /usr/local/lib/ufw_audit/checks/virtualization.py
Installing data files
✔ Copied: /usr/local/share/ufw-audit/locales/en.json
✔ Copied: /usr/local/share/ufw-audit/locales/fr.json
✔ Copied: /usr/local/share/ufw-audit/data/services.json
Installing documentation
✔ Copied: /usr/local/share/doc/ufw-audit/README.md
✔ Copied: /usr/local/share/doc/ufw-audit/README_FR.md
✔ Copied: /usr/local/share/doc/ufw-audit/LICENSE
✔ Copied: /usr/local/share/doc/ufw-audit/AUTOMATION_FR.md
✔ Copied: /usr/local/share/doc/ufw-audit/AUTOMATION.md
✔ Copied: /usr/local/share/doc/ufw-audit/CHANGELOG_FR.md
✔ Copied: /usr/local/share/doc/ufw-audit/CHANGELOG.md
✔ Copied: /usr/local/share/doc/ufw-audit/README_DEV_FR.md
✔ Copied: /usr/local/share/doc/ufw-audit/README_DEV.md
✔ Copied: /usr/local/share/doc/ufw-audit/README_TECH_FR.md
✔ Copied: /usr/local/share/doc/ufw-audit/README_TECH.md
✔ Copied: /usr/local/share/doc/ufw-audit/TESTING_FR.md
✔ Copied: /usr/local/share/doc/ufw-audit/TESTING.md
Installing bash completion
✔ Copied: /etc/bash_completion.d/ufw-audit
→ To activate immediately: source /etc/bash_completion.d/ufw-audit
Creating entry point
✔ Entry point created: /usr/local/bin/ufw-audit
Writing install manifest
✔ Manifest written: /usr/local/share/ufw-audit/install.manifest
✔ ufw-audit v0.22 installed successfully.
Run the audit: sudo ufw-audit
French mode: sudo ufw-audit --french
Full report: sudo ufw-audit -v -d
Help: ufw-audit --help
Uninstall: sudo ./install.sh --uninstallmiguel@xu-test:~/Automated-UFW-audit$ sudo ufw-audit --french
╔══════════════════════════════════════════════════════════════════════════════╗
║ ██╗ ██╗ ███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ████████╗ ║
║ ██║ ██║ ██╔════╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔══██╗ ██║ ╚══██╔══╝ ║
║ ██║ ██║ █████╗ ██║ █╗ ██║ ═══ ███████║ ██║ ██║ ██║ ██║ ██║ ██║ ║
║ ██║ ██║ ██╔══╝ ██║███╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║ ██║ ║
║ ╚██████╔╝ ██║ ╚███╔███╔╝ ██║ ██║ ╚██████╔╝ ██████╔╝ ██║ ██║ ║
║ ╚═════╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ UFW-AUDIT v0.22 │ Audit pare-feu UFW ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ Système : Ubuntu Resolute Raccoon (development branch) ║
║ Hôte : xu-test ║
║ UFW : v0.36.2 ║
║ Utilisateur : miguel ║
║ Date : 29/03/2026 00:57 ║
╚══════════════════════════════════════════════════════════════════════════════╝
ℹ [INFO] Démarrage de l'audit
┌──────────────────────────────────────────────────────────────────────────────┐
│ ÉTAT DU PARE-FEU │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] UFW est installé
✔ [OK] Le pare-feu UFW est actif
✔ [OK] Politique par défaut : connexions entrantes bloquées (recommandé)
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES RÈGLES UFW │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucune règle UFW en doublon détectée
✔ [OK] Aucune règle 'allow from any' sans restriction de port détectée
✔ [OK] Configuration IPv6 cohérente avec les règles UFW
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES SERVICES RÉSEAU │
└──────────────────────────────────────────────────────────────────────────────┘
▶ Samba (Windows file sharing)
┄ Contexte de risque — CRITIQUE
Exposition : Conçu exclusivement pour les réseaux locaux — dangereux par nature si exposé sur internet
Menace potentielle : Accès et chiffrement de fichiers (ransomware), mouvement latéral (EternalBlue/WannaCry), exfiltration de données
✔ [OK] Service actif et démarré automatiquement au démarrage
✖ [ALERTE] Port 445/tcp — exposé sur internet — aucune restriction source dans UFW
✖ [ALERTE] Port 139/tcp — exposé sur internet — aucune restriction source dans UFW
▶ Avahi (local network discovery)
✔ [OK] Service actif et démarré automatiquement au démarrage
ℹ [INFO] Port 5353/udp — couvert par la politique deny par défaut
▶ CUPS (network printing)
✔ [OK] Service actif et démarré automatiquement au démarrage
ℹ [INFO] Port 631/tcp — lié uniquement sur localhost — aucune règle UFW requise (couvert par refus par défaut)
┌──────────────────────────────────────────────────────────────────────────────┐
│ PANORAMA DES SERVICES │
└──────────────────────────────────────────────────────────────────────────────┘
SERVICE STATUT PORT(S) UFW
──────────────────────────────── ───────────── ──────────────────── ───
SSH Server NON INSTALLÉ — —
VNC Server NON INSTALLÉ — —
Samba (Windows file sharing) ACTIF 445/tcp, 139/tcp ⚠
FTP Server NON INSTALLÉ — —
Apache Web Server NON INSTALLÉ — —
Nginx Web Server NON INSTALLÉ — —
MySQL / MariaDB NON INSTALLÉ — —
PostgreSQL NON INSTALLÉ — —
Transmission (web UI) NON INSTALLÉ — —
qBittorrent (web UI) NON INSTALLÉ — —
Avahi (local network discovery) ACTIF 5353/udp ✖
CUPS (network printing) ACTIF 631/tcp ✔
Cockpit (web admin) NON INSTALLÉ — —
WireGuard VPN NON INSTALLÉ — —
Redis NON INSTALLÉ — —
Jellyfin NON INSTALLÉ — —
Plex Media Server NON INSTALLÉ — —
Home Assistant NON INSTALLÉ — —
Nextcloud NON INSTALLÉ — —
Gitea NON INSTALLÉ — —
Mosquitto (MQTT) NON INSTALLÉ — —
Syncthing NON INSTALLÉ — —
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES PORTS EN ÉCOUTE │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] Port système interne — aucun danger (service OS légitime, pas de règle UFW nécessaire) : 53/udp (DNS)
ℹ [INFO] Port 323/udp — lié uniquement à localhost — pas d'exposition externe
ℹ [INFO] Port système interne — aucun danger (service OS légitime, pas de règle UFW nécessaire) : 53/tcp (DNS)
✔ [OK] Tous les ports en écoute sur 0.0.0.0 sont couverts par une règle UFW
┌──────────────────────────────────────────────────────────────────────────────┐
│ PORTS EN ÉCOUTE (VUE GÉNÉRALE) │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] 14 port(s) en écoute détecté(s) sur ce système
Utilisez -v pour afficher le tableau complet des ports
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DES LOGS UFW │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] GeoIP2 non disponible — installez python3-geoip2 pour la géolocalisation IP
Période analysée : 7 jour(s) — 1 jour(s) de logs disponibles
✔ [OK] Activité normale — 19 tentative(s) bloquée(s) sur 7 jour(s), aucune menace détectée
ℹ [INFO] Top IPs sources : 2a02:8429:eee1:ed01:3aca:84ff:fe11:d564 — 6 tentative(s)
ℹ [INFO] Top ports ciblés : 3702/udp — 9 tentative(s)
┌──────────────────────────────────────────────────────────────────────────────┐
│ EXPOSITION EXTERNE (DDNS) │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucun client DDNS détecté — pas d'exposition externe via DDNS identifiée
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DOCKER │
└──────────────────────────────────────────────────────────────────────────────┘
ℹ [INFO] Docker non installé — section ignorée
┌──────────────────────────────────────────────────────────────────────────────┐
│ ANALYSE DE VIRTUALISATION │
└──────────────────────────────────────────────────────────────────────────────┘
✔ [OK] Aucune technologie de virtualisation détectée
╔══════════════════════════════════════════════════════════════════════════════╗
║ Score de sécurité : 6/10 ║
║ Niveau de risque : ✖ MOYEN ║
║ Contexte réseau : Réseau local uniquement ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ ✖ À corriger ║
║ ✖ Port 445/tcp — exposé sur internet — aucune rest… ║
║ ✖ Port 139/tcp — exposé sur internet — aucune rest… ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ Détail du score ║
║ -2 Samba (Windows file sharing) 445/tcp open_wo… ║
║ -2 Samba (Windows file sharing) 139/tcp open_wo… ║
╚══════════════════════════════════════════════════════════════════════════════╝
Des corrections sont nécessaires. Traitez en priorité les points marqués 'À corriger'.
ℹ Ce score évalue uniquement la configuration du pare-feu UFW.
ℹ Les mises à jour système, la sécurité applicative et les autres vecteurs d'attaque ne sont pas couverts par cet audit.
miguel@xu-test:~/Automated-UFW-audit$ Xubuntu depuis Hardy Heron
Hors ligne
#12 Le 29/03/2026, à 02:12
- So6sse
Re : [OUTIL] ufw-audit — Outil d'audit de pare-feu UFW pour Linux
Super.
Le bug venait de la variable d'environnement LANGUAGE. UFW est un script Python qui utilise gettext pour ses messages, gettext donne priorité à LANGUAGE au-dessus de LC_ALL. Sur ton système en locale française, LANGUAGE=fr_FR était défini (je n'avais testé qu'en locale Anglaise pour le moment), ce qui faisait retourner à UFW État : actif au lieu de Status: active. Le regex ne matchait pas, donc le pare-feu était détecté comme inactif à tort.
Le fix (v0.22.1) : tous les appels subprocess forcent maintenant LC_ALL=C, LANG=C et LANGUAGE="". Vider LANGUAGE explicitement était la clé.
Merci pour ton retour très utile, bonne nuit.
Hors ligne