====== Procédure en cas de piratage d'un compte sur un serveur ====== ===== En cas de problème non identifié ===== * Vérifier les stats Munin. * Regarder le statut temps réel d'Apache/Nginx. * Vérifier sur le serveur après connexion par ssh : * la place libre sur les disques : '' df -h '' * les commandes précédemment tapées : '' history '' * la charge du serveur : '' htop '' * le messages du noyau : '' dmesg '' * Vérifier les logs ftp à la recherche d'adresses IP inconnue * Si des fichiers ont été déposé sur le domaine par le piratage : * rechercher les noms de ces fichiers dans les logs du serveur web pour ce domaine * si une URL est trouvé extraire tous les logs de l'adresse IP ayant consulté l'URL suspecte : '' cat fichier.log | grep "^adresse_ip_du_pirate" > piratage.txt '' * Lancer les outils anti-intrusions : * Rkhunter : * vérifier la version de rkhunter : '' rkhunter --versioncheck '' * mettre à jour la base de rkhunter : '' rkhunter --update '' * vérifier la présence de rootkit : '' rkhunter -c '' * si certains fichiers sont considérés comme suspects [ Warning ] (ex. /usr/sbin/unhide), mettre à jour après vérification de leur innocuité : '' rkhunter --propupd '' * Vérificateur de rootkit : '' chkrootkit '' * Tenter de redémarrer les serveurs : * Apache : '' /etc/init.d/httpd restart '' * Mysql : '' /etc/init.d/mysql restart '' * Vérifier les derniers fichiers modifiés sur le domaine piraté : * avec **find** (ex. avec les 3 derniers jours) : '' find /repertoire -type f -mtime -3 -print | more '' * avec **mc** : voir ci-dessous ==== Commandes utiles en cas de piratage ==== * Voir la taille d'un ensemble de dossier : '' du -h --max-depth=1 /home/ '' * Compter le nombre de fichier d'un utilisateur dans un dossier donné : ''find ./ -type f -user telabotap | wc -l'' * Vérifier qu'un dossier ne contient pas de fichiers cachés : ''lsattr -a'' * Rechercher les fichiers contenant une chaine de caractères particulière (plusieurs solutions ) : 1) '' grep "la chaine de caractère" -HnR nom_du_dossier_de_recherche '' * '' grep "la chaine de caractère" -HnRo --exclude=*.svn-base nom_du_dossier_de_recherche/ '' * '' find nom_du_dossier_de_recherche -type f -name "*" -exec grep -Hn "la chaine de caractère" {} \; '' * Rechercher les fichiers modifiées ces 3 derniers jours : '' find /repertoire -type f -mtime -3 -print | more '' ==== Méthode pour lister tous les fichiers modifiés d'un domaine ==== * Se rendre dans /home/monSite/www : '' cd /home/monSite/www '' * Ouvrir mc : '' mc '' * Pour afficher tous les fichiers, appuyer sur les touches : '' Esc '' puis '' ? '' puis '' Entrée '' * Afficher les résultats en panneau, en appuyant sur : '' p '' * Choisir dans le menu accessible via '' F9 '' , l'entrée '' Ordre de trie...''. Puis sélectionner avec la barre espace le tri par '' date de modification '' * Examiner ensuite les fichiers modifiés récemment ===== En cas de piratage avéré ===== ==== À faire en urgence ! ==== * Faire sur le home concerné par le piratage : '' chmod -r 000 /home/nom_du_compte_pirate '' * changer le mot de passe du compte concerné en se connectant en root puis : '' passwd nom_du_compte_pirate '' * Lancer les outils anti-intrusions (rootkit) : * Rkhunter : * mettre à jour la base de rkhunter : '' rkhunter --update '' * vérifier la présence de rootkit : '' rkhunter -c '' * Chkrootkit : '' chkrootkit '' ==== À faire par la suite ==== Modifier les mots de passe : * Générer un nouveau mot de passe sur votre ordi à l'aide de : ''pwgen'' * Mysql et FTP : via webmin > OVH server > clic sur le nom de domaine > modif de mots de passe > clic sur "modifier" > redémarrez Apache * Vérifier que le fichier ''/etc/passwd'' contient bien une shell sécurisé pour les utilisateurs dont on a modifié le mot de passe : ''/bin/false'' ou ''""/bin/MySecureShell""'' * Changer le mot de passe de l'utilisateur : '' passwd nom_utilisateur '' * htpasswd : modifier le mot de passe dans le dossier stat * Test la connexion à Phpmyadmin, FTP... Créer un fichier .htpasswd pour limiter l'accès au seul webmaster du site : * créer un fichier .htpasswd à la racine du site et y mettre un login et mot de passe nouveau * modifier le fichier .htaccess à la racine du site pour qu'il prenne en compte le fichier htpasswd