Dans l'article Rechercher un compromis de sécurité :portes dérobées et intrus, vous avez appris quelques techniques de base pour collecter les informations nécessaires pour identifier les intrus qui ont compromis votre serveur. Cet article explique comment utiliser le mode de secours du panneau de configuration du cloud. pour examiner de plus près votre système. Vous pouvez utiliser le mode de secours pour mieux comprendre comment votre serveur a été compromis et pour identifier les fichiers non compromis avant de sauvegarder les données.
Activer le mode de secours
Étant donné que le système d'exploitation de votre serveur cloud peut également être compromis, vous ne pouvez pas vous y fier. L'intrus pourrait avoir compromis des binaires tels que "ls", "find" et "netstat", de sorte que leur sortie pourrait vous induire en erreur. Par conséquent, vous devez utiliser un environnement de système d'exploitation différent pour enquêter en toute sécurité sur la compromission.
Vous pouvez le faire en utilisant la fonction de mode de secours fournie dans le Panneau de configuration Cloud. Pour obtenir des instructions et plus d'informations, consultez Mode de secours.
Pendant que votre serveur est en mode de secours, vous pouvez effectuer les actions suivantes pour localiser la source du compromis.
Rechercher les rootkits
Nous vous recommandons d'installer et d'utiliser les outils suivants pour analyser votre système à la recherche de rootkits.
Rechercher les rootkits avec chkrootkit
chkrootkit
recherche les signatures connues dans les systèmes binaires compromis. Par exemple, certaines versions compromises de ps
avoir "/dev/ptyp
» à l'intérieur d'eux. Nous vous recommandons d'installer chkrootkit
en utilisant votre gestionnaire de paquets plutôt qu'en compilant à partir des sources. Pour plus d'options et d'informations sur l'utilisation de chkrootkit, voir http://www.chkrootkit.org/README.
-
Pour l'installer, exécutez la commande suivante :
apt-get install chkrootkit
-
Exécutez
chkrootkit
contre le système de fichiers monté du Serveur Cloud :chkrootkit -r /mnt/demo
Les messages suivants sont imprimés par chkrootkit
lors de ses tests :
-
INFECTED
- le test a identifié une commande probablement modifiée par un rootkit connu -
not infected
- le test n'a trouvé aucune signature de rootkit connue -
not tested
- le test n'a pas été effectuéCela peut se produire dans les situations suivantes :
- Le test est spécifique au système d'exploitation
- Le test dépend d'un programme externe qui n'est pas disponible
- Certaines options de ligne de commande spécifiques sont fournies (par exemple,
-r
)
-
not found
- la commande à tester est introuvable -
Vulnerable but disabled
- la commande est infectée
Pour plus d'options et d'informations sur l'utilisation de chkrootkit
, voir https://www.chkrootkit.org/README.
Rechercher les rootkits avec rkhunter
Chasseur de rootkits (rkhunter
) vérifie les systèmes par rapport à une base de données de rootkits connus. Il peut également vérifier d'autres fichiers système pour s'assurer qu'ils sont conformes aux propriétés et aux valeurs attendues.
-
Connectez-vous à votre application de terminal et passez à vos
sources
répertoire :cd ~/sources
-
Téléchargez la dernière version de
rkhunter
depuis la zone de téléchargement de SourceForge :https://sourceforge.net/projects/rkhunter/files/
-
Après avoir installé
rkhunter
, exécutez-le sur/mnt/demo
.rkhunter -c -r /mnt/demo
rkhunter
produit des avertissements pendant les tests qui indiquent où un fichier a dévié des valeurs par défaut attendues. Après le test, vous pouvez consulter le journal pour obtenir des informations plus détaillées sur les fichiers à l'origine de l'avertissement. Pour plus d'options et d'informations sur l'utilisation de rkhunter
, voir https://rkhunter.cvs.sourceforge.net/viewvc/rkhunter/rkhunter/files/README.
Vérifier les dernières commandes
Pour avoir une idée de la manière dont la sécurité du serveur cloud a été compromise, vérifiez quels utilisateurs ont exécuté des commandes avant que le serveur cloud ne soit compromis.
Le .bashhistory contient les dernières commandes utilisées avec le shell Bash. Vous devez vérifier le .bashhistory fichiers dans le répertoire personnel de chaque utilisateur. Le plus important .bashhistory le fichier est celui appartenant à la racine :/root/.bashhistory .
Un Serveur Cloud compromis peut avoir des entrées comme celles-ci :
wget https://malware.tar.gz
gunzip malware.tar.gz
tar xf malware.tar
Vérifier les packages installés
Toutes les modifications apportées au système de conditionnement sont stockées dans /var/log/dpkg.log distributions basées sur Debian. Vérifiez ce fichier pour toute activité suspecte comme des packages installés ou supprimés, ou un bus modifié.
Exécutez la commande suivante pour afficher les 50 dernières lignes de dpkg.log fichier :
tail 50 /mnt/demo/var/log/dpkg.log
Utiliser la commande de recherche
Le find
La commande est généralement utilisée pour rechercher des noms de fichiers avec des modèles spécifiques. Cependant, vous pouvez également l'utiliser pour rechercher les fichiers qui ont été modifiés ou consultés au cours d'une période spécifique.
Par exemple, vous pouvez trouver tous les fichiers dans /etc appartenant à root qui ont été modifiés au cours des deux derniers jours, comme suit :
find /mnt/demo/etc -user root -mtime -2
Les options disponibles sont les suivantes :
-atime: when the file was last accessed
-ctime: when the file's permissions were last changed
-mtime: when the file's data was last modified
Notez le signe moins devant « 2 » dans l'exemple précédent. Les options 'time' pour find
commande sont exprimées par incréments de 24 heures, et le symbole utilisé devant le nombre peut indiquer inférieur à ou supérieur à .Ainsi '-2' signifie que vous voulez trouver les fichiers qui ont été modifiés au cours des deux derniers jours. Si vous voulez trouver des fichiers qui ont été modifiés il y a plus de 2 jours, utilisez +2
:
find /mnt/demo/etc -user root -mtime +2
Il existe également des versions de atime
, ctime
, et mtime
arguments qui mesurent le temps en minutes :
-amin: when (in minutes) the file was last accessed
-cmin: when (in minutes) the file's permissions were last changed
-mmin: when (in minutes) the file's data was last modified
Exemple
Trouvez tous les fichiers de votre serveur cloud appartenant à la demo
utilisateur auquel on a accédé au cours des cinq dernières minutes :
find /mnt/demo -user demo -amin -5
La liste suivante de find
les options de commande peuvent être utiles lors de l'enquête sur l'investigation du serveur cloud compromis :
-nouser: shows output not associated with an existing userid
-nogroup: shows output not associated with an existing groupid
-links n: file has n links
-newer file: file was modified more recently than file
-perm mode: file has mode permissions
Vérifier les journaux et les fichiers suspects
Vous pouvez trouver un intrus en vérifiant les fichiers suspects dans /tmp ,/var/tmp , /dev/shm , /var/spool/samba , /var/spool/squid , et/var/spool/cron .
Vous pouvez également consulter les fichiers journaux dans /var/log annuaire. Par exemple,auth.log enregistre les informations de connexion de l'utilisateur, y compris les adresses IP.
Résumé
Dans Recherche d'un compromis de sécurité :portes dérobées et intrus, vous avez appris quelques techniques à utiliser pour découvrir les portes dérobées et suivre les intrus sur votre serveur cloud. Cela vous aidera à éviter la situation ou l'erreur qui a conduit au compromis, minimisant ainsi les risques de futurs compromis. Dans cet article, vous avez appris comment enquêter sur votre serveur cloud en mode de secours.
Qu'elle soit causée par des virus, la corruption de fichiers, une panne de machine ou d'autres incidents imprévus, la possibilité de perte de données est réelle. Pour éviter les perturbations qu'une telle perte peut causer, sauvegardez régulièrement vos fichiers. Voici quelques options pour vous aider à sécuriser vos fichiers :
- Rackspace Cloud Backup est un bon choix pour les clients Cloud Servers. Il est entièrement intégré aux serveurs cloud et constitue une alternative de sauvegarde basée sur des fichiers à la sauvegarde complète du serveur d'images.
- Pour ceux qui préfèrent le faire eux-mêmes, consultez Sauvegarder vos fichiers avec rsync.