IDS : mise en oeuvre de Tripwire pour WordPress

IDS : mise en oeuvre de Tripwire pour WordPressTripwire fait partie de la grande famille des IDS Intruder Detection System. Mais, là où Snort scanne l’activité réseau à partir de signatures, Tripwire contrôle les modifications apportées au système de fichiers. AIDE et Afick sont des offres concurrentes à Tripware. Le paquet AIDE disponible sur le Fedora 27, hélas, ne fonctionne pas du fait d’un problème de version de la libraire gcrypt. Quant à Afick, j’aurais bientôt l’occasion de vous en parler !

Le gros reproche que l’on peut faire à Tripwire est de ne pas permettre de restreindre la surveillance à partir de masques de fichiers ou d’expressions régulières. Contrairement à AIDE, il ne dispose pas non plus de règles d’exception. L’exemple ci-dessous concerne un site WordPress. Dans ce cadre, je voudrais indiquer qu’il est difficile de surveiller l’activité du dossier /wp-content/plugins de WordPress du fait d’extensions qui écrivent dans les répertoires !

Installation de Tripwire

Sous Red Hat / CentOS / Fedora, l’installation de Tripwire se fait très simplement :

yum install tripwire

Génération des clés

La génération des clés se réalise par la commande tripwire-setup-keyfiles. Elles sont sauvegardées dans le dossier /etc/tripwire sous les noms site.key et hostname-local.key, où hostname désigne le nom de votre machine. Les fichiers de règles tw.pol et twpol.txt sont générés par la commande.  twcfg.txt est, quant à lui, le fichier de configuration générale.

Fichier de configuration

Vous devez éditer le fichier /etc/tripwire/twpol.txt, en ayant pris la précaution, d’en faire une copie préalable.

@@section GLOBAL
 TWWWW=/home/www/dsfc;
 SIG_HI=100;
 HOSTNAME=vmfedora;

@@section FS
 SEC_WP = +bcdgimnpsu;

(
 rulename = "WordPress",
 severity = $(SIG_HI),
 emailto = votre@email.com
 )
 {
 # $(TWWWW) -> $(SEC_WP) (recurse=-1;emailto="votre@email.com",severity=100);
 $(TWWWW) -> $(SEC_WP) (recurse=0);
 $(TWWWW)/wp-admin -> $(SEC_WP) (recurse=-1);
 $(TWWWW)/wp-includes -> $(SEC_WP) (recurse=-1);
 $(TWWWW)/wp-theme/themes -> $(SEC_WP) (recurse=-1); 
 }

Dans la section FS, vous pouvez définir des variables disposant utilisant la codification de Tripwire :

-      Ignore the following properties
+     Record and check the following properties
a     Access timestamp
b     Number of blocks allocated
c     Inode timestamp (create/modify)
d     ID of device on which inode resides
g     File owner's group ID
i     Inode number
l     File is increasing in size (a "growing file")
m     Modification timestamp
n     Number of links (inode reference count)
p     Permissions and file mode bits
r     ID of device pointed to by inode (valid only for device objects)
s     File size
t     File type
u     File owner's user ID
C     CRC-32 hash value
H     Haval hash value
M     MD5 hash value
S     SHA hash value

Vous devez ensuite le convertir au format .pol  à l’aide de la commande twadmin :

cd /etc/tripwire
twadmin -m P twpol.txt

Initialisation de la base Tripwire

Il faut disposer d’un snapshot préalable des dossiers à surveiller :

tripwire --init

En cas de modification de votre système de fichiers, vous devrez réexécuter cette commande.

Surveillance par tâche planifiée

Vous devez exécuter, par tâche planifiée, la commande suivante :

/usr/sbin/tripwire --check --email-report

Sécurité informatique  / Afick AIDE Formateur Sécurité informatique Formateur WordPress IDS Sécurité informatique Tripwire Wordpress 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)