L'image montre le logo NGINX à gauche, un symbole de cadenas vert au milieu, et le logo WordPress à droite, suggérant un hébergement WordPress sécurisé avec NGINX - idéal pour ceux qui veulent bloquer l'énumération des utilisateurs WordPress. L'arrière-plan est transparent.

Bloquer complètement l’énumération des utilisateurs WordPress avec Nginx ou Apache

Lorsque vous gérez un site WordPress, la sécurité doit être une priorité. Parmi les failles les plus méconnues, il existe ce qu’on appelle l’énumération des utilisateurs.

Mais qu’est-ce que c’est exactement ?

En résumé, l’énumération des utilisateurs consiste à découvrir publiquement les noms d’utilisateurs de votre site WordPress. Pourquoi est-ce un problème ? Parce que si un pirate connaît déjà votre nom d’utilisateur, il ne lui reste plus qu’à deviner ou voler le mot de passe. En d’autres termes, c’est comme si vous laissiez la moitié de la clé de votre maison sur la porte.

Comment fonctionne l’énumération des utilisateurs ?

Par défaut, WordPress crée certaines adresses (URLs) qui permettent de révéler les noms d’utilisateurs. Ces URLs sont accessibles à tout le monde sur Internet, même sans être connecté à votre site.

Voici quelques exemples (remplacés par example.com) :

  • https://example.com/?author=1
  • https://example.com/author/admin
  • https://example.com/?author={num:1}
  • https://example.com/wp-sitemap-users-1.xml
  • https://example.com/wp-json/wp/v2/users

Si vous ouvrez ces adresses dans votre navigateur, vous risquez de voir apparaître des informations sur vos utilisateurs WordPress (souvent l’administrateur du site). Et vous pouvez imaginer ce que cela représente pour un pirate : un point d’entrée facile.

Pourquoi est-ce dangereux ?

  • Les pirates peuvent scanner automatiquement ces URLs avec des outils comme WPScan.
  • Une fois le nom d’utilisateur trouvé, ils peuvent lancer des attaques par force brute pour tester des milliers de mots de passe.
  • Cela augmente fortement les risques de piratage de votre site.

En clair : si vous laissez l’énumération des utilisateurs active, vous donnez gratuitement une information critique aux attaquants.

Lire Bloquer complètement l’énumération des utilisateurs WordPress avec Nginx ou Apache

Un logo Ubuntu orange apparaît à gauche, tandis qu'à droite se trouve une pile stylisée de trois disques de serveur blancs avec un éclair jaune, symbolisant les capacités de base de données à grande vitesse - parfaites pour avertir un administrateur de courrier électronique lors d'un redémarrage du serveur.

Recevoir un email après le redémarrage d’un serveur Linux avec systemd

Un serveur qui redémarre sans prévenir, c’est rarement anodin. Cela peut venir d’une maintenance planifiée, d’un kernel fraîchement installé, d’un crash, d’une coupure électrique, d’un watchdog un peu nerveux ou d’un humain qui a tapé reboot avec la sérénité d’un moine tibétain.

Dans tous les cas, recevoir un email après le redémarrage d’un serveur Linux permet de réagir rapidement. C’est simple, fiable, et cela donne un premier signal avant même d’ouvrir les graphes de monitoring.

Dans ce guide, nous allons créer une notification email automatique au boot avec systemd, mailutils et un script Bash propre. L’objectif : recevoir un message après chaque reboot avec le nom du serveur, la date, l’uptime, les adresses IP et quelques informations utiles.

Lire Recevoir un email après le redémarrage d’un serveur Linux avec systemd

Illustration numérique avec des motifs de circuits géométriques dans les tons sarcelle et orange. Au premier plan, un texte blanc indique "SSH" avec un symbole d'invite de terminal à gauche et une icône de clé à droite, évoquant SSH-Audit et les étapes pour sécuriser le serveur SSH.

Comment sécuriser efficacement votre serveur SSH avec SSH-Audit

La sécurité SSH est souvent négligée… jusqu’au jour où une attaque brute force ou une mauvaise configuration vous met à genoux. Heureusement, il existe un outil open source simple, rapide et redoutablement efficace pour auditer la sécurité de votre serveur SSH : SSH-Audit.

Dans ce guide, on va voir ensemble comment utiliser SSH-Audit pour scanner, comprendre les failles et corriger les erreurs sur un serveur Ubuntu 24.04.

Installer SSH-Audit avec Python

SSH-Audit est un script Python autonome. Pas besoin de bibliothèque externe, pas de dépendances lourdes. Juste Python, un terminal et c’est parti :

pipx install ssh-audit

Résultat:

  installed package ssh-audit 3.3.0, installed using Python 3.12.3
  These apps are now globally available
    - ssh-audit
done! ✨ 🌟 ✨Langage du code : CSS (css)

Vous pouvez lancer l’audit depuis votre fenêtre de terminal:

ssh-audit monserveur.exemple.com -pPORTNUMBERLangage du code : CSS (css)

Si vous voulez tester sans rien installer, vous pouvez aussi passer par le service en ligne ssh-audit.com : entrez simplement l’adresse IP ou le nom de domaine de votre serveur, SSH-Audit vous renvoie un rapport clair et lisible.

Voici le rapport de ssh-audit pour un Ubuntu Server de base, avant optimisation :

# general
(gen) banner: SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.12
(gen) software: OpenSSH 9.6p1
(gen) compatibility: OpenSSH 9.6+, Dropbear SSH 2020.79+
(gen) compression: enabled (zlib@openssh.com)

# key exchange algorithms
(kex) sntrup761x25519-sha512@openssh.com    -- [info] available since OpenSSH 8.5
                                            `- [info] default key exchange from OpenSSH 9.0 to 9.8
                                            `- [info] hybrid key exchange based on post-quantum resistant algorithm and proven conventional X25519 algorithm
(kex) curve25519-sha256                     -- [info] available since OpenSSH 7.4, Dropbear SSH 2018.76
                                            `- [info] default key exchange from OpenSSH 7.4 to 8.9
(kex) curve25519-sha256@libssh.org          -- [info] available since OpenSSH 6.4, Dropbear SSH 2013.62
                                            `- [info] default key exchange from OpenSSH 6.5 to 7.3
(kex) ecdh-sha2-nistp256                    -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp384                    -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp521                    -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) diffie-hellman-group-exchange-sha256 (3072-bit) -- [info] available since OpenSSH 4.4
                                                      `- [info] OpenSSH's GEX fallback mechanism was triggered during testing. Very old SSH clients will still be able to create connections using a 2048-bit modulus, though modern clients will use 3072. This can only be disabled by recompiling the code (see https://github.com/openssh/openssh-portable/blob/V_9_4/dh.c#L477).
(kex) diffie-hellman-group16-sha512         -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73
(kex) diffie-hellman-group18-sha512         -- [info] available since OpenSSH 7.3
(kex) diffie-hellman-group14-sha256         -- [warn] 2048-bit modulus only provides 112-bits of symmetric strength
                                            `- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73
(kex) ext-info-s                            -- [info] available since OpenSSH 9.6
                                            `- [info] pseudo-algorithm that denotes the peer supports RFC8308 extensions
(kex) kex-strict-s-v00@openssh.com          -- [info] pseudo-algorithm that denotes the peer supports a stricter key exchange method as a counter-measure to the Terrapin attack (CVE-2023-48795)

# host-key algorithms
(key) rsa-sha2-512 (3072-bit)               -- [info] available since OpenSSH 7.2
(key) rsa-sha2-256 (3072-bit)               -- [info] available since OpenSSH 7.2, Dropbear SSH 2020.79
(key) ecdsa-sha2-nistp256                   -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency
                                            `- [warn] using weak random number generator could reveal the key
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(key) ssh-ed25519                           -- [info] available since OpenSSH 6.5, Dropbear SSH 2020.79

# encryption algorithms (ciphers)
(enc) chacha20-poly1305@openssh.com         -- [info] available since OpenSSH 6.5, Dropbear SSH 2020.79
                                            `- [info] default cipher since OpenSSH 6.9
(enc) aes128-ctr                            -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes192-ctr                            -- [info] available since OpenSSH 3.7
(enc) aes256-ctr                            -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes128-gcm@openssh.com                -- [info] available since OpenSSH 6.2
(enc) aes256-gcm@openssh.com                -- [info] available since OpenSSH 6.2

# message authentication code algorithms
(mac) umac-64-etm@openssh.com               -- [warn] using small 64-bit tag size
                                            `- [info] available since OpenSSH 6.2
(mac) umac-128-etm@openssh.com              -- [info] available since OpenSSH 6.2
(mac) hmac-sha2-256-etm@openssh.com         -- [info] available since OpenSSH 6.2
(mac) hmac-sha2-512-etm@openssh.com         -- [info] available since OpenSSH 6.2
(mac) hmac-sha1-etm@openssh.com             -- [fail] using broken SHA-1 hash algorithm
                                            `- [info] available since OpenSSH 6.2
(mac) umac-64@openssh.com                   -- [warn] using encrypt-and-MAC mode
                                            `- [warn] using small 64-bit tag size
                                            `- [info] available since OpenSSH 4.7
(mac) umac-128@openssh.com                  -- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 6.2
(mac) hmac-sha2-256                         -- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha2-512                         -- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha1                             -- [fail] using broken SHA-1 hash algorithm
                                            `- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28

# fingerprints
(fin) ssh-ed25519: SHA256:YnkJfR0z/UMb2wQ+wYvEwgTJPheozRsMH41BvEXL56Q
(fin) ssh-rsa: SHA256:Ax+2iFsBx5juS8y+bVXxvs3DT0bdoX4nKAdGje1iknQ

# algorithm recommendations (for OpenSSH 9.6)
(rec) -ecdh-sha2-nistp256                   -- kex algorithm to remove
(rec) -ecdh-sha2-nistp384                   -- kex algorithm to remove
(rec) -ecdh-sha2-nistp521                   -- kex algorithm to remove
(rec) -ecdsa-sha2-nistp256                  -- key algorithm to remove
(rec) -hmac-sha1                            -- mac algorithm to remove
(rec) -hmac-sha1-etm@openssh.com            -- mac algorithm to remove
(rec) -diffie-hellman-group14-sha256        -- kex algorithm to remove
(rec) -hmac-sha2-256                        -- mac algorithm to remove
(rec) -hmac-sha2-512                        -- mac algorithm to remove
(rec) -umac-128@openssh.com                 -- mac algorithm to remove
(rec) -umac-64-etm@openssh.com              -- mac algorithm to remove
(rec) -umac-64@openssh.com                  -- mac algorithm to removeLangage du code : PHP (php)

Et le résultat en image :

Audit SSH sous un serveur Ubuntu avant optimisation, pas top!
Audit SSH sous un serveur Ubuntu avant optimisation, pas top :(

Ce n’est pas vraiment idéal ! Passons à l’étape suivante pour sécuriser le service SSH.

Lire Comment sécuriser efficacement votre serveur SSH avec SSH-Audit