📤 Vue d'Ensemble des Téléchargements
L'onglet Téléchargements protège votre WordPress contre l'un des vecteurs d'attaque les plus critiques : le téléchargement de fichiers malveillants. Un attaquant qui parvient à télécharger un fichier PHP peut exécuter du code arbitraire, installer des backdoors, voler des données ou prendre le contrôle total du site.
🎯 Ce qui est bloqué
- PHP Fichiers .php, .phtml, .php5, .php7, .pht
- EXÉCUTABLES .exe, .bat, .cmd, .sh, .bin, .msi
- SCRIPTS .js, .vbs, .jsp, .asp, .aspx, .shtml
- DOUBLE EXT. image.jpg.php, fichier.pdf.exe
- NULL BYTE fichier.php%00.jpg
- TAILLE Fichiers dépassant la limite configurée
🔍 Exemples d'attaques réelles
📋 Extensions Bloquées & Types MIME
Le firewall maintient par défaut une liste de plus de 30 extensions dangereuses bloquées. C'est un champ de texte libre séparé par des virgules : vous pouvez ajouter ou supprimer des extensions selon les besoins de votre site. Vous pouvez également configurer des limites de taille maximale et personnaliser la liste des types MIME bloqués.
| Catégorie | Extensions Bloquées par Défaut |
|---|---|
| PHP | .php .php3 .php4 .php5 .php7 .phtml .pht .phps .phar .pgif |
| EXÉCUTABLES | .exe .bat .cmd .com .pif .scr .msi .app .deb .rpm |
| SCRIPTS | .js .ws .wsh .vbs .ps1 .sh .shtml .cgi .pl .py .jar |
📏 Taille maximale du fichier
Définissez la limite en Mo (10 Mo par défaut). Si vous mettez 0, la limite générale de téléchargement de votre WordPress/hébergement est utilisée à la place, régie par upload_max_filesize et post_max_size dans php.ini.
🚫 Types MIME bloqués
Liste modifiable des types MIME qui seront automatiquement rejetés. Par défaut : application/x-php, application/x-httpd-php, text/php, application/x-executable, text/x-php. Vous pouvez ajouter d'autres types selon vos besoins.
🔬 Protection Avancée
Les trois options avancées fournissent des couches d'analyse supplémentaires qui détectent les techniques d'évasion courantes que les attaquants utilisent pour contourner les listes d'extensions.
🔍 Analyser le contenu du fichier
Inspecte le contenu réel du fichier à la recherche de signatures de code malveillant. Détecte le PHP caché dans les images (GIF malveillant), les scripts embarqués, l'obfuscation et autres techniques de camouflage. Il ne se fie pas uniquement à l'extension ou au MIME déclaré — il examine les octets réels.
🔗 Détecter la double extension
Détecte les fichiers avec plusieurs extensions comme image.jpg.php ou document.pdf.exe. Les attaquants utilisent cette technique car certains systèmes ne valident que la dernière extension (trompant les validations de base), mais le serveur exécute la première extension dangereuse. Détecte également les variantes comme file.php;.jpg ou file.php..jpg.
💉 Détecter l'injection null byte
The attacker adds a null byte character (%00) in the filename to truncate the extension at the filesystem level. For example, shell.php%00.jpg — the system sees .jpg and allows it, but the server saves shell.php because the filesystem truncates at the null byte.
L'attaquant ajoute un caractère null byte (%00) dans le nom du fichier pour tronquer l'extension au niveau du système de fichiers. Par exemple, shell.php%00.jpg — le système voit .jpg et l'autorise, mais le serveur enregistre shell.php car le système de fichiers tronque au niveau du null byte.
⭐ Recommandations & Bonnes Pratiques
Suivez ces recommandations pour maximiser la protection des téléchargements sans affecter la fonctionnalité de votre site.
📏 Limites de taille recommandées
🖼️ Images
10 Mo — Suffisant pour les photos haute résolution sur les sites portfolio, galeries ou WooCommerce. Une image légitime dépasse rarement cette taille.
🎥 Vidéos / PDFs
50 Mo — Adapté aux vidéos courtes, présentations et grands documents PDF. Si vous avez besoin de plus, envisagez le streaming externe (YouTube, Vimeo).
📦 Fichiers compressés
25 Mo — Pour les fichiers .zip, .rar, .tar.gz. Méfiez-vous des fichiers compressés très volumineux — ils contiennent souvent du contenu malveillant empaqueté.
📋 Règles d'or
- Gardez les 3 options avancées ACTIVÉES — Analyse du contenu, double extension et null byte. Elles sont votre dernière ligne de défense contre les contournements.
- Ne retirez pas d'extensions de la liste sans raison — Chaque extension bloquée est un vecteur d'attaque fermé. Si vous en avez besoin, évaluez le risque et envisagez des alternatives plus sûres.
- Consultez le journal d'activité périodiquement — Les 20 dernières tentatives de téléchargement bloquées apparaissent dans le journal. Leur examen vous aide à identifier les schémas d'attaque et à ajuster les paramètres.
- Combinez-le avec la sécurité au niveau du serveur — La protection des téléchargements fonctionne au niveau de l'application WordPress. Pour une sécurité maximale, combinez-la avec des règles du serveur web (bloquer l'exécution PHP dans wp-content/uploads via .htaccess ou Nginx).
📊 Journal d'Activité
Le panneau affiche les 20 dernières tentatives de téléchargement bloquées, chacune avec les colonnes suivantes :
| Colonne | Description |
|---|---|
| Heure | Horodatage de la tentative |
| Fichier | Nom du fichier tenté |
| Raison | Badge avec la raison du blocage |
| Action | Si la tentative a été bloquée (firewall en mode Protection/Strict) ou seulement enregistrée (mode Monitoring) |
| IP | Adresse IP source du téléchargement |
| Rôle | Rôle WordPress de l'utilisateur ayant tenté le téléchargement |
Les badges de raison peuvent être :
🆚 Protection des téléchargements vs. Sécurité serveur
Il est important de comprendre la différence entre les deux couches. Elles ne sont pas exclusives — au contraire, elles se complètent.
| Aspect | Protection des téléchargements (SeenSecure) | Sécurité serveur (.htaccess / Nginx) |
|---|---|---|
| Niveau | Application WordPress (PHP) | Serveur web (Apache / Nginx) |
| Ce qu'il protège | Bloque les téléchargements malveillants avant qu'ils ne soient enregistrés sur le serveur. Analyse l'extension, le MIME, le contenu, la double extension, le null byte. | Bloque l'exécution de fichiers dans des répertoires spécifiques. N'empêche pas le téléchargement, mais empêche leur exécution en tant que PHP. |
| Avantage | Détection intelligente : contenu, contournements. Configurable depuis le tableau de bord WordPress. | Fonctionne même si WordPress est compromis. Ne dépend pas de PHP. |
| Recommandation | Utilisez les deux. La protection des téléchargements bloque 99% des attaques. La sécurité au niveau du serveur est le filet de sécurité qui attrape le 1% restant si quelque chose échoue. | |
<script> ou onload). Si vous devez télécharger des SVG pour des icônes, vous pouvez les retirer de la liste, mais envisagez de les assainir d'abord ou d'utiliser un plugin qui nettoie les SVG automatiquement.