Blog
-
CI/CD : Supply Chain Security avec cosign, Trivy et SBOM
Introduction La sécurité de la chaîne d'approvisionnement logicielle (supply chain security) est devenue un enjeu critique depuis les attaques SolarWinds et Codecov. Pour un homelab qui produit et déploie des images Docker hardened FROM scratch, garantir l'intégrité et la provenance de chaque artefact est tout aussi important que dans un environnement enterprise. Cet article détaille […] -
K3s : Cluster Kubernetes single-node en homelab
Introduction Dans un homelab, faire tourner un cluster Kubernetes complet (kubeadm, etcd multi-nœuds, control-plane HA) est souvent disproportionné par rapport aux besoins réels. K3s, la distribution légère de Rancher Labs, offre un compromis idéal : un binaire unique de ~70 Mo qui embarque tout le nécessaire — API server, scheduler, controller-manager, etcd intégré (SQLite ou […] -
Monitoring : Graylog, Uptime Kuma et Prometheus
Introduction Un homelab qui héberge des services critiques (DNS, proxy, mail, web) nécessite une observabilité complète. Sans monitoring, les pannes sont découvertes par les utilisateurs, les dégradations de performance passent inaperçues, et le diagnostic post-incident devient un exercice de devinette. Cet article présente la stack de monitoring en trois piliers : Graylog pour la centralisation […] -
Reverse Proxy : HAProxy, Traefik et la chaîne de sécurité
La chaine de reverse proxy Chaque requete entrante traverse 5 couches avant d atteindre l application. Chaque couche a un role precis et des contraintes de configuration qui doivent etre alignees. sequenceDiagram participant Client as Client Internet participant HAP as HAProxy<br/>VyOS Podman participant TFK as Traefik<br/>K3s Ingress participant VRN as Varnish<br/>Cache HTTP participant WAF as […] -
PHP-FPM Hardened : WordPress zero-shell FROM scratch
Introduction Faire tourner WordPress en production sur Kubernetes avec une image de 35 Mo au lieu de 700 Mo, sans shell, sans outils superflus, avec un healthcheck FastCGI en Go pur — c'est le pari de notre stack PHP-FPM hardened. Cet article détaille l'architecture complète déployée sur notre cluster K3s, en production et en intégration. […] -
Suricata IPS : Inspection inline NFQUEUE sur VyOS
Introduction Suricata est déployé en mode IPS inline sur le routeur VyOS via le mécanisme Linux NFQUEUE. Contrairement au mode IDS passif (copie miroir du trafic), le mode IPS permet de bloquer activement les paquets malveillants avant qu'ils n'atteignent leur destination. Cet article détaille l'architecture choisie, la construction de l'image durcie, la gestion des règles […] -
VyOS : Routeur zone-based et containers Podman
Introduction VyOS est le routeur central du homelab. Il assure le routage inter-VLAN, le firewalling zone-based et l'hébergement de services critiques via des containers Podman intégrés nativement au système. Cet article détaille l'architecture réseau, la gestion des zones firewall, le fonctionnement des containers et les bonnes pratiques opérationnelles. Architecture zone-based Le firewall VyOS utilise un […] -
WAF nginx : ModSecurity + OWASP CRS FROM scratch
Rôle Web Application Firewall protégeant tous les services exposés publiquement. Analyse chaque requête HTTP entrante selon les règles OWASP Core Rule Set et bloque les attaques connues (SQLi, XSS, RCE, path traversal, etc.). Position dans la chaîne flowchart LR Internet((Internet)) --> HAProxy["HAProxy<br/>TLS"] HAProxy -->|"re-encryption"| Traefik["Traefik<br/>Ingress"] Traefik --> WAF["WAF nginx<br/>ModSecurity + CRS"] WAF -->|"clean request"| Backend["Backend<br/>application"] […] -
Stack Proxy : Squid SSL Bump + c-icap + ClamAV
Rôle Proxy HTTPS transparent pour le VLAN IoT et proxy explicite pour les hôtes internes. Tout le trafic HTTP/HTTPS des objets connectés passe par cette stack pour inspection et analyse antivirus en temps réel. Architecture Trois containers Podman sur VyOS, issus d'un seul dépôt GitHub : Container Image Version Taille squid squid-hardened 7.5 ~25 MB […] -
BIND9 Hardened : DNS autoritatif FROM scratch
Rôle dans l'architecture BIND9 est le serveur DNS central du homelab. Il gère à la fois les zones internes (.home.arpa) et la zone publique, avec un système de vues (split-horizon) qui adapte les réponses selon le réseau source du client. flowchart LR subgraph Internes C["Clients internes"] end subgraph Externes E["Requetes externes"] end subgraph BIND9 VS["Vue […]