Archives pour l'étiquette wordpress

Sécuriser un blog WordPress par un IPS avec wpsyslog2 et ossec

Adeptes de l’utilisation du bazooka pour tuer une mouche ? Ou de l’utilisation d’IDS/IPS pour sécuriser votre blog visité par 5 personnes par an ?? wpsyslog2 est l’extension WordPress faite pour vous.

Petite mise en bouche en image (contenu du syslog et screen du module dans wordpress) :

wpsyslog2wpsyslog1

Pour cela, il suffit d’installer la dernière version de l’IPS Ossec (qui peut être couplé avec le manager de prelude).

Ayant déjà installé prelude en suivant mon tuto (‘tention recursivité powaaa!!!), la manip a été la suivante :

apt-get install libprelude-dev
wget http://www.ossec.net/files/ossec-hids-2.2.tar.gz
tar -xvf http://www.ossec.net/files/ossec-hids-2.2.tar.gz
cd ossec-hids-2.2/src
make setprelude
cd ..
sh install.sh

(Pour ceux qui n’ont (et ne veulent) pas installer prelude, il faut juste faire le wget, le sh install.sh et installer le module wpsyslog2 sur votre blog)

Pour l’install.sh, choisir le mode « local », et installer le logiciel où vous voulez.
Ensuite pour accoupler la bestiole avec prelude :

screen -R manager
prelude-adduser registration-server prelude-manager
CTRL+A puis D
screen -R register
prelude-adduser register OSSEC "idmef:w" localhost --uid ossec --gid ossec
CTRL+A puis D
screen -r manager

Attendre la fin de la création de la clé et suivre la manipulation pour le one-time-password généré (voir mon premier tuto pour prelude), puis modifier la configuration de ossec pour sortir les logs dans prelude.
Ajouter :

<prelude_output>yes</prelude_output>
  <prelude_profile>OSSEC</prelude_profile>
  <prelude_log_level>6</prelude_log_level>

Dans le fichier /var/ossec/etc/ossec.conf, entre les balises global.
Puis démarrer par un sympatique /var/ossec/bin/ossec-control start (ou suivant l’install /etc/init.d/ossec start) qui doit renvoyer ceci :

Starting OSSEC HIDS v2.2 (by Trend Micro Inc.)...
21 Sep 15:33:36 (process:25711) INFO: Connecting to 127.0.0.1:4690 prelude Manager server.
21 Sep 15:33:36 (process:25711) INFO: TLS authentication succeed with Prelude Manager.
Started ossec-maild...
Started ossec-execd...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-syscheckd...
Started ossec-monitord...
Completed.

Pour montrer qu’il s’est accouplé avec prelude (you’re 4 53X M4ch1N3!!!!).

Ensuite, il suffit d’installer le plugins wpsyslog2 sur votre blog (comme n’importe quel autre plugins), et hop go ban da world 😉 Le must … ça detecte aussi les commentaires refusés (spam), et on peut mettre en place des règles pour bannir les spammeurs 😉

Alors bon … pourquoi préférer Ossec vis-à-vis de prelude-lml ?

Pour ma part (étant un gros noob sur la question ^^), l’intérêt étant la possibilité offerte par défaut d’Ossec de ban les ip incriminés dans les logs (à partir d’un certain niveau de sévérité), alors que prelude se contente de logger les alertes (pas de réponses actives … c’est à peu près la différence entre un IDS avec le D de Détection et IPS avec le P de Prévention qui en plus de détecter, met en place des moyens plus ou moins complexe (ban ^^) pour bloquer les accès suivant de la source).

Pourquoi cette différences entre un IPS et un IDS ? (J’en sais rien ;)), dans certain cas il vaut mieux alerter et ne rien faire (genre un système bancaire qui va commencer à drop les transactions de certains clients ça le fait pas … quoique ;)).

Bé voilà bloggez bien 😉

PS: Un des autres trucs sympa, c’est les check system qui vérifient si des fichiers de configurations ont été modifiés depuis le dernier check (modifications du fichier host, de la config d’apache, des certificats d’openvpn, …). Si vous êtes plusieurs à administrer un serveur, ça peut être sympa pour avoir le suivi de l’administration de la bête.

Marre du spam sur wordpress ??

Plopinou …

Une rapide technique pour baisser d’un nombre assez important le spam sur un blog wordpress, en profitant de la gentillesse des spammers ^^.
En effet, la plupart du temps :

  • les ip tournent (donc impossible de bannir toutes les ip)
  • les adresses mails sont générées à la volées et comme c’est sur le domaine de gmail, bannir le domaine est impossible
  • Les commentaires changent …

Il reste donc une information qu’ils donnent, et qu’ils ne semblent pas changer … l’url de leurs sites, qui terminent toujours par « map.html » … sympa non ??

Donc pour leurs envoyer un message plein d’amour et de paix on peut gentillement modifier le fichier wp-comments-post.php : (après la ligne 38)
[sourcecode language=php]
if(preg_match("#^.*/map.html$#",$comment_author_url))
die("Go home and die!!!");
[/sourcecode]
Et voilà … 90% du spam de vos blogs devraient disparaitre. (reste plus qu’à trouver un filtre pour les casinos et on héradique toutes forme de spam sur les blogs ^^ (pas complexe je pense, mais ça fait un bail que j’en ai plus chopé donc je peux pas créer la regexp :D) ).

Petite note : J’ai testé le code ci-dessous pendant une journée et ma liste de commentaires indésirables est encore vide … ce qui est un miracle !!! Je chopais entre 25 et 50 spams par jour … (ok c’est pas beaucoup … mais c’est quand même ça de moins).

EDIT : Ne pas oublier de refaire la modification, après une mise à jour de wordpress (comme tous les fichiers sont réecrit, on perd les modifications et on remarque tout de suite le spam qui revient ;))