Gardien de périphérie en un binaire · sécurité + santé des sites · Linux · nftables

Calme jusqu'à ce qu'il se passe quelque chose.

Edge Guardian lit vos logs pour faire deux choses : bannir le mauvais trafic — scanners, brute-force, exploits — au pare-feu, et surveiller la santé de chaque site (5xx, latence, trafic), en alertant dès qu'il se dégrade. Un tableau de bord est gratuit. Un seul binaire statique. Une ligne pour l'installer.

$ curl -fsSL https://raw.githubusercontent.com/sondt/edge-guardian/main/install.sh | sudo bash
Star sur GitHub ★
un seul binaire statique △ pas de base de données, pas d'agent △ nftables natif △ démarrage sûr en dry-run △ Apache-2.0
Le problème

Tout serveur public est sous le feu en permanence.

Dès qu'une machine a une IP, les bots la sondent — à la recherche de panneaux d'admin oubliés, de secrets divulgués et de mots de passe SSH faibles. Les outils qui ripostent vous obligent tous à choisir entre trop fastidieux et trop lourd.

/wp‑login.phpdrop
/.envdrop
/.git/configdrop
?id=1' OR 1=1drop
UA: sqlmap/1.7drop
sshd: 5× faildrop
:23 honeypotdrop

fail2ban

Léger et éprouvé — mais ne voit qu'un seul hôte, s'appuie lourdement sur des règles regex et devient pénible dès que vous avez plus d'une machine. Aucun tableau de bord.

CrowdSec

Puissant, avec des listes de blocage communautaires — mais il faut apprendre un agent, une API locale, un bouncer et des collections. Et la jolie console ? C'est la partie payante.

Pourquoi Edge Guardian

Deux tâches, depuis un seul flux de logs.

Le même flux qui attrape les attaquants vous dit aussi quand un site va mal. Bloquez le mauvais trafic et sachez à l'instant où quelque chose casse — sans second outil, sans base de données, sans agent.

01

Bloquer le mauvais trafic.

Scanners, brute-force, sondes d'exploit et floods — comparés à une fenêtre glissante et rejetés au niveau du noyau via nftables. Les récidivistes sont punis de plus en plus durement.

  • Scanners HTTP, brute-force SSH, signatures d'exploit, mauvais bots, abus de débit, scans de ports & honeypots
  • Bannissements nftables à expiration automatique ; punition croissante pour les récidivistes
  • Importez les listes FireHOL & Spamhaus ; liste d'autorisation CIDR pour ne jamais vous auto-verrouiller
  • Mode dry-run — détecter & alerter sans bloquer, pour lui faire confiance avant de l'armer
02

Voir quand un site casse.

Le même log d'accès alimente une vue de santé : taux d'erreur, latence et trafic par site. Il alerte quand un site est dégradé ou hors service — et de nouveau quand il se rétablit.

  • Taux de 5xx, latence p95 & débit de requêtes par site, sur une page /sites
  • Alertes dégradé / hors service / rétabli avec maintien + cooldown — sans spam
  • Un tableau de bord intégré gratuit : la ligne Sentinel, le journal des bannissements, le flux en direct
  • Répond à « quelque chose ne va pas ? » — jamais « qui regarde quoi » (pas d'analytics)
Detection · enforcement · health · alerting

De quoi faire tourner un vrai serveur.

DETECT · HTTP

Chemins de scan

Regex sur les URI des requêtes — les sondes .php/.env/wp-login qu'une stack propre ne sert jamais. Banni dès le premier coup.

DETECT · SSH

Brute‑force

Compte les échecs de connexion depuis auth.log / journald. Durci contre l'injection : un nom d'utilisateur forgé ne peut pas accuser une IP innocente.

DETECT · EXPLOIT

Signatures d'attaque

SQLi, traversée de chemin, sondes RCE & Log4Shell dans l'URI. Désactivé par défaut, ancré pour garder les faux positifs proches de zéro.

DETECT · BOTS

Bad‑bot UA

Bannit les user-agents de scanners connus — sqlmap, nikto, nuclei, masscan, wpscan — qui n'ont aucune raison honnête de vous appeler.

DETECT · FLOOD

Abus de débit

Compte chaque requête par IP et bannit un flood type DoS-lite. Seuil élevé et conscient de la liste d'autorisation pour laisser passer les vrais clients.

DETECT · NETWORK

Scan de ports

Compte les ports de destination distincts par IP via la journalisation nftables. Marteler un port n'est pas un scan ; en balayer plusieurs, oui.

DETECT · TRAP

Ports leurres

Touchez un port leurre, vous êtes banni instantanément. Le signal le plus fiable qui soit — aucune raison légitime d'y frapper.

HEALTH

Site healthnew

Taux de 5xx, latence p95 & débit de requêtes par site — sites découverts via nginx -T. Alertes en cas de dégradation / panne / rétablissement, avec une vue /sites.

ENFORCE

nftables bansescalating

Rejeté au niveau du noyau via un set à expiration. Les récidivistes sont punis plus durement : un jour, une semaine, un mois, pour toujours.

INTEL

Listes de blocage publiques

Importez FireHOL & Spamhaus DROP dans un interval set nftables — bloquez les plages malveillantes connues avant qu'elles ne vous atteignent.

ALERT

Telegram & Email

En temps réel à chaque bannissement et à chaque alerte de santé, sur tous les canaux à la fois. Email via Resend. Pays & ASN quand GeoIP est activé.

GEO

GeoIP hors ligne

Pays, région & FAI depuis des fichiers MMDB locaux — fonctionne avec les bases sapics gratuites, sans compte MaxMind.

SAFE

Allowlist & dry‑run

Liste d'autorisation CIDR pour votre bureau, VPN & supervision. Dry-run pour observer pendant des jours avant de tout activer.

HEALTH · ERRORS

Error lognew

Chaque requête 4xx/5xx au même endroit — hôte, chemin, statut, IP, user-agent et origine GeoIP — filtrable et paginée sur une page /errors.

OPS

Auto‑updatenew

Un timer systemd optionnel maintient le binaire à jour depuis les releases GitHub — binaire uniquement, avec un redémarrage sûr. Désactivé par défaut.

How it works

Un flux. Deux branches.

Chaque ligne se dédouble : la branche sécurité repère le mauvais trafic et le bannit ; la branche santé compte le statut, la latence et le débit par site et alerte en cas de problème. Ajouter un détecteur, c'est un parseur et un seuil — jamais une réécriture.

01

Lecture

Logs nginx, sshd & noyau — une seule lecture, distribuée aux deux branches.

02

Détection

Analyse l'IP source, compare à une fenêtre glissante + seuil.

03

Allowlist?

Vos CIDR ne sont jamais touchés. La dernière ligne de défense contre l'auto-verrouillage.

04

Bannir

Ajouté au set nftables avec expiration. Rejeté sur tous les ports, instantanément.

05

Notifier

Bannissements et alertes de santé — Telegram, email, le flux du tableau de bord & la ligne Sentinel.

The wedge

Voyez qui vous attaque — et ce qui casse.

Un instrument calme qui reste silencieux jusqu'à ce que ça compte. Quand la ligne Sentinel vire au rouge, ou qu'un site passe en dégradé, ça veut dire quelque chose. Inclus dans le binaire gratuit — pas de Grafana, pas de paywall.

Install

Opérationnel et en veille en une minute.

Démarre en dry-run : il observe sans bloquer jusqu'à ce que vous soyez prêt. Ensuite, changez une ligne.

Une ligne

Détecte votre architecture, installe le binaire + l'unité systemd et initialise nftables.

# Linux, needs nftables + root
curl -fsSL https://raw.githubusercontent.com/sondt/edge-guardian/main/install.sh \
  | sudo bash

.deb / .rpm

Paquets natifs pour amd64 & arm64. La config est un conffile — préservée lors des mises à jour.

# Debian / Ubuntu
sudo apt install ./edge-guardian_0.4.4_linux_amd64.deb
# RHEL / Rocky / Fedora
sudo dnf install ./edge-guardian_0.4.4_linux_amd64.rpm

Docker

Protège le pare-feu de l'hôte via le namespace réseau de l'hôte.

docker run -d --name edge-guardian \
  --network host --cap-add NET_ADMIN \
  -v /etc/edge-guardian:/etc/edge-guardian \
  ghcr.io/sondt/edge-guardian
En un coup d'œil

Comment il se compare.

 Edge Guardianfail2banCrowdSec
Single static binaryYes
One‑line installYespkgscript + repo
Dashboard in the free tierYespaid / DIY Grafana
HTTP + SSH + port‑scan + honeypotYesvia rulesscenarios
Exploit + bad‑bot + rate‑abuseYesDIY rulesscenarios
Per‑site health monitoringYes
nftables‑native enforcementYesbackendbouncer
Public blocklist importYescommunity
No external service to runYesYeslocal API
Questions

Réponses claires.

Qu'est-ce qu'Edge Guardian ?

Edge Guardian est un gardien de périphérie libre, open source et en un seul binaire pour Linux. À partir d'un seul flux de logs, il fait deux choses : sécurité — détecter scanners, brute-force et exploits, puis bannir les IP sources au pare-feu nftables — et santé en périphérie — surveiller le taux de 5xx, la latence et le débit de requêtes de chaque site, et alerter quand un site est dégradé ou hors service. Il alerte via Telegram ou email et embarque un tableau de bord local intégré.

En quoi Edge Guardian diffère-t-il de fail2ban et CrowdSec ?

fail2ban repose lourdement sur les regex, ne voit qu'un seul hôte et n'a pas de tableau de bord. CrowdSec est puissant mais exige un agent, une API locale, un bouncer et des collections — et son tableau de bord est payant. Edge Guardian est un seul binaire statique avec une installation en une ligne, un tableau de bord inclus gratuitement, et il surveille aussi la santé des sites — pas seulement la sécurité.

Que détecte Edge Guardian ?

Chemins de scanners HTTP, brute-force SSH, signatures d'exploit (SQLi, traversée de chemin, sondes RCE, Log4Shell), mauvais bots par User-Agent (sqlmap, nikto, nuclei, masscan), floods d'abus de débit / DoS-lite, scans de ports (ports de destination distincts par IP) et accès aux ports leurres. Il peut aussi importer des listes de blocage publiques comme FireHOL et Spamhaus.

Surveille-t-il la santé des sites, pas seulement les attaques ?

Oui. Le même log d'accès alimente une branche de santé qui agrège, par site, la répartition des statuts, le taux d'erreurs 5xx, le débit de requêtes et la latence p95, et alerte (avec maintien + cooldown pour éviter le bruit) quand un site est dégradé ou hors service — et de nouveau lorsqu'il se rétablit. Il ne fait délibérément pas d'analytics web : il répond à « quelque chose ne va pas ? », pas à « qui regarde quoi ? ».

Edge Guardian est-il gratuit ?

Oui. Edge Guardian est libre et open source sous licence Apache-2.0 — y compris le tableau de bord et la surveillance de santé.

De quoi Edge Guardian a-t-il besoin pour fonctionner ?

Un serveur Linux avec nftables (Debian 11+, Ubuntu 20.04+, RHEL 9+ ou équivalent) et root ou CAP_NET_ADMIN. Aucune base de données, aucun agent et aucun service externe ne sont requis.

Comment installer Edge Guardian ?

Lancez l'installateur en une ligne (curl -fsSL .../install.sh | sudo bash), installez le paquet .deb ou .rpm, ou lancez l'image Docker. Edge Guardian démarre en mode dry-run : il observe et alerte avant de bloquer.

Drop it on a box.
Forget about scanners.

Gratuit, open source, et conçu pour rester discret jusqu'à ce qu'il se passe vraiment quelque chose.

$ curl -fsSL https://raw.githubusercontent.com/sondt/edge-guardian/main/install.sh | sudo bash
Voir le code ↗