Shield monte le code de vos sites en lecture seule au niveau noyau Linux. Fortress ajoute WAF nginx, hardening PHP, scanner d'uploads temps réel et contrôle de sortie réseau. Pas de chmod cosmétique — protection réelle, kernel-enforced.
Le docroot est monté en lecture seule au niveau VFS du kernel via Docker bind mount :ro. Même un root compromis dans le container ne peut pas écrire.
Bind mount Docker en read-only au niveau VFS. Aucun chmod, chattr ou exploit PHP ne contourne ça. Protection structurelle, pas cosmétique.
WordPress, WooCommerce, Joomla, PrestaShop, Magento, Drupal, Laravel et Custom. Chaque profil sait quels dossiers garder en écriture (uploads, cache, sessions).
Seuls les dossiers réellement nécessaires (wp-content/uploads, cache, logs) restent en écriture. Tout le reste — core, plugins, thèmes — est immuable.
En complément du mont kernel, nginx renvoie 403 pour tout .php / .phtml / .phar / .pl / .cgi / .sh / .py uploadé dans les zones writable. Défense en profondeur.
Le cron healthcheck vérifie depuis l'intérieur du container que le docroot est toujours en lecture seule. Détecte instantanément toute dérive de mount.
Bouton dans l'UI ou commande CLI shield-enable. Activable depuis la création du container. Désactivable à chaud sans perte de données.
WAF nginx généré par règle, hardening PHP, scanner d'uploads temps réel et contrôle de sortie réseau. Activable / désactivable couche par couche.
SQLi, LFI, XSS, RFI, scanners, fichiers sensibles, exec PHP en zones uploads, xmlrpc, rate-limit. Généré à partir du store, injecté au reconfigure-domain.
Service systemd par domaine. Check MIME (libmagic), pattern PHP, ZipSlip, SVG, PDF, entropie Shannon, régénération Pillow image. 7 checks individuels.
disable_functions chirurgical (exec, system, passthru, ...) + open_basedir + extra-disable / extra-allow par domaine. Mode strict optionnel pour les zones à risque.
3 modes : permissive (défaut), standard (block bind-shell vers IPs non whitelisted), strict (DNS interne + IP allowlist stricte). Empêche l'exfiltration de données.
Block xmlrpc.php, block REST API si non utilisé. Mu-plugin déposé dans wp-content/mu-plugins/ pour les protections inline.
Bouton « Tester le WAF » lance un vrai curl avec payload SQLi vers le domaine et vérifie que nginx renvoie 403. Validation continue, pas déclarative.
Démo live : on tente une upload PHP malveillante sur un WordPress, on regarde Shield + Fortress repousser. Sans engagement.