protection des sites WordPress

Le problème:

Évitez absolument d’utiliser « admin » comme nom d’utilisateur pour un site sous WordPress. Depuis le début de l’année 2013, on assiste à  une attaque en masse des sites sous WordPress (et aussi sous Joomla). Il s’agit d’essayer de rentrer dans l’interface de gestion en essayant les noms d’utilisateurs les plus courant dont « admin » et les 1000 mots de passe les plus utilisés.

Exemple:

130821_DDOS_attack_900x516Ci-contre l’image d’un extrait d’un fichier log enregistrant les tentatives de connections. Entouré en rouge: un site unique reçoit en moins de 2 secondes une dizaine de tentatives depuis une dizaine d’adresses Internet (ou adresse IP, chaque IP représente un ordinateur compromis). La durée des attaques est de l’ordre de l’heure.

Protection par une extension:

On installe une extension bloquant les adresses IP ayant fait une tentative de login. En pratique, cela divise par 10 environ les tentatives de login. Mais le réseau des adresses IPs compromises qui font des tentatives de login est immense: elles se comptent en dizaine de milliers. D’autre part, sur un serveur chaque site WordPress bloque ces IPs indépendamment des autres sites WordPress sur le même serveur. D’où la répétition des attaques: une IP compromise attaque tous les sites d’un serveur avant d’être bloquée. Finalement ces attaques restent nombreuses. L’utilisation de petites quantités de mémoire sur chaque attaque multipliée par leur nombre importante provoque un ralentissementdu serveur, parfois son arrêt.

Protection par la suppression de droit d’exécution:

Lors d’un login dans l’interface d’administration de WordPress, le fichier wp-login.php est lancé. En supprimant le droit d’exécution de ce fichier, on empêche de lancer la procédure d’identification, d’analyse des identifiants, du blocage éventuel de l’IP, … et finalement les ressources consommées sont bien moindres.

Une erreur « Sbox error: not world executable  » apparaît lors de toute tentative de login.

L’inconvénient est de devoir changer manuellement ce droit pour pouvoir se loguer et utiliser l’interface d’administration, puis ensuite de le changer à nouveau pour protéger le serveur.

Pour changer le droit d’exécution du fichier, il faut utiliser un logiciel FTP tel que FileZilla ou WinSCP, faire un click droit sur le fichier, ouvrir les propriétés, modifier les permissions d’utilisation de 0755 à 0754 ou l’inverse.

Automatisation du changement de permission:

Une solution plus simple est à l’étude pour faire ce changement en cliquant sur un bouton pour changer les droits puis se loguer. Le retour à un droit protégeant se faisant automatiquement après une durée à définir.

Protection par les tables IP du serveur:

Une solution basée sur les IP TABLES d’un serveur pour les attaques brutes forces sur le login SSH en root a été développée par Manuel, ancien membre de l’équipe support GPLHost.
http://rudd-o.com/linux-and-free-software/a-better-way-to-block-brute-force-attacks-on-your-ssh-server

Une solution de ce type est à l’étude pour les sites WordPress.