Audit de notre serveur web wordpress

Audit de notre serveur web wordpress

1-Comprendre ce qu’il s’est passé

Analyse de logs

  • vérifications de logs Apache et SSH

Vérification de l’ensemble des serveurs OVH

  • Analyse des fichiers modifiés 
  • Monitoring ovh : augmentation importante du trafic entrant et sortant depuis quelques jours
  • Vérifier si le serveur ns2 fonctionne encore.
  • Savoir comment se comporte le serveur (données rajoutées…)

Vérifier le trafic entrant et sortant

qu’est-ce qu’on peut installer pour monitorer du trafic ?

le stockage (taille du stockage, nom du fichier daté du 09/05/22 )

vérifier l’activité des machines.

éplucher les stats et les logs de webmin 

  • se connecter sur ns2 (voir doc multisite) : faire netstat -natp pour retrouver l’historique des connections ssh sur le serveur     

=> Plusieurs connexions inconnues en ssh sur notre serveur (provenant de Chine, Etats-Unis) 

=> Confirmation d’intrusion

Hypothèses

  • Le serveur est utilisé pour héberger des vidéos/images illégales (ex : pédopornographie) = prévenir l’ANSSI 
  • Le serveur est utilisé comme un bot pour faire des attaques DDOS
  • Le serveur est utilisé comme hébergement : site, minage…

Interne : très technique, qu’est-ce qui s’est passé, qu’est-ce qu’on a fait, qu’est-ce qu’on rajoute ?

Externe : expliquer, rassurer, peu technique 

2 – Rétablir les services

  • Récupérer un accès aux portfolios
  • Réinstall WP

– Plugins /thèmes

Améliorations 

De suite :

  • Plugins sécurité : Wordfence/iThemes Security
  • Filtrage 
  • Mises à jour
  • Purge

A terme :

  • Monitoring
  • Backups
  • Backups : Updraft Plus
  • Suivre des newsletters sécurité
  • Dockerisation
  • Communication

3 – Sécuriser

  • auditer le système
  • Réparer ou reconstruire ?
  • Tester
  • Supervision
  • Backup

Ce que l’on voit selon les cas :

Perte d’accès au panel administrateur

Doc Projet Multisite : https://docs.google.com/document/d/1oBJN4NmnGK3Ji4UMikOuB6jkjZijOSMkZye7IEWs1C8/edit#heading=h.8qbfmmqmy4i0 

Doc Vue d’ensemble :

https://docs.google.com/presentation/d/1apGR0QfTM73Qziz-83sQtUrPSFDZ6UcU/edit#slide=id.p1

Différentes pistes : 

Actions : 

  • install fail2ban
  • Logs bandwith on
  • Intervention 15 mai 2022
    • Backuper fichiers du site et base
      • Fichiers 
        • sudo zip -r /var/www/nicolass.zip /var/www/nicolass
          Les données dans le dossier à votre nom sont zippée dans un fichier zip dans /var/www
        •  Base de données
          • Aller sur WebMIN
    • Effacer tous les fichiers existants sauf wp-content
      • sudo rm -r /var/www/loucasr/wordpress/wp-admin
  • aller dans wp-content et supprimer
  • Réinstaller les fichiers
  • Régler le problème de Forbidden access
    • afficher les fichiers cachés dans WinSCP
    • effacer les fichiers .htaccess et le remplacer par le code originel

Renommer le fichier .htaccess

  • sudo mv /var/www/nicolass/.htaccess /var/www/nicolasssudo /.htaccess.sio
  • Le modifier pour le remettre d’origine :
  • sudo nano .htaccess.sio

Puis coller : 

cd wor# BEGIN WordPress

RewriteEngine On

RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteBase /

RewriteRule ^index\.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

# END WordPress

  • Puis ajouter dans /etc/apache2/sites-available/nicolass.conf
  • Et aussi dans /etc/apache2/sites-available/nicolass-le-ssl.conf

AccessFileName .htaccess.sio

  • Vérifier le fonctionnement
  • Post
  • Pour renforcer la sécurité,  : itheme security, sucuri security et wordfence
  • Mettre en place un système de backup
  • Mettre en place un système de monitoring
  • Mettre en place version control et staging

Sauvegarde de toutes les bases de données : 

  • sudo mysqldump -u root -p –all-databases > alldatabases.sql

Restauration de la sauvegarde : 

  • mysql -u root -p < all_databases.sql

Sauvegarde de www contenant tous les sites :

  • cd /var/www
  • sudo tar cvf www.tar www/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *