web-dev-qa-db-fra.com

Comment vérifier si un serveur Linux est propre à partir de rootkits / porte-retour / botnets, etc.?

Si un serveur Linux a été exposé à Internet avec une stratégie de sécurité extrêmement faible (dossiers Samba R/W anonymes, serveur de base de données Firebird avec mot de passe d'administration par défaut, aucun pare-feu, etc.) pendant une semaine, comment puis-je vous assurer que le système est Non compromis sans formatage et réinstallation complète, accéder uniquement à distance via SSH?

9
Ivan

Normalement, je suggérerais un chèque local avec un outil tel que - Chkrootkit mais si le seul moyen de faire fonctionner le chèque est de le faire à distance, puis je recommanderais que vous essayiez Rootkit Hunter à la place.

Rookit Hunter vérifie pour les rootkits et d'autres activités de ce type en exécutant des tests tels que les éléments suivants (voir Informations sur le projet pour plus de détails):

  • MD5 hachage comparer
  • Recherchez des fichiers par défaut utilisés par rootkits
  • Autorisations de fichier incorrectes pour les fichiers binaires
  • Recherchez des chaînes suspectées dans les modules LKM et KLD
  • Rechercher des fichiers cachés

Je tiens à ajouter que comme d'autres personnes ont dit, le seul moyen sûr de s'assurer qu'il n'y a pas eu d'altération de votre service est de le reconstruire. Ces outils fonctionnent bien, mais ils ne sont pas une garantie de succès à 100%.

7
runlevelsix

OSSEC Vérifie les rootkits et détecte une activité suspecte.

2
chmeee

Je sais que cette réponse n'est pas ce que vous voulez entendre, mais ici, nous allons quand même. Certains outils peuvent vérifier le système le meilleur moyen de s'assurer que le système est propre consiste à essuyer le serveur et à reconstruire. Je ferais ce qui suit:

  • Supprimer l'ordinateur de l'Internet
  • Données de sauvegarde et informations de configuration pour supprimer les périphériques
  • Stockage de format
  • Réinstallez la base/Standard Configuration/Mises à jour
  • Reconfigure Server à l'aide d'anciennes données comme référence
  • Restaurer les données de l'utilisateur

Voici quelques ressources que je commencerais à lire si vous ne l'avez pas déjà fait.

[Texte de liaison] [1] Texte de liaisontexte de liaisontexte de liaison

[1]: http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevent-removal_901 "Débutants Rootkits Linux"

2
JJ01

Non pas la réponse que vous voulez, mais s'il est possible qu'un système soit enraciné, il peut être très difficile d'être sûr de 100% du système. Les rootkits sont conçus pour être difficiles à détecter. Si vous exécutez les différents dames racines et que cela vérifie la propreté, alors "le plus probable" que votre système est propre.

Si la sécurité est une préoccupation, je envisagerais de la reconstruire comme une affiche ci-dessus, je viens de le dire ou de le rétablir de bonnes sauvegardes.

2
USACASD

Rkhunter, TripWire, etc. sont excellents, mais vraiment uniquement de bénéfice s'ils étaient installés avant l'incident - c'est parce qu'ils sont parfaits pour détecter si des fichiers clés ont été modifiés. Si vous installez Rkhunter maintenant et que vous l'exécutez, il détectera l'inclusion de nombreux rootkits, mais il ne détectera aucun porte-retour un attaquant ouvert dans l'OS ou les applications que vous utilisez.

Par exemple, vous pouvez vous faufiler à un ordinateur, créer un nouvel utilisateur, leur donner des autorisations SSH et SUDO, puis nettoyez ensuite une configuration légitime à la recherche de la place et pas de rootkits - puis revenez plus tard et faites votre mal.

La meilleure chose à faire est de regarder quels ports ont des services les écoutant, puis examinez la configuration de tous ces services et assurez-vous qu'ils sont tous légitimes. Ensuite, regardez votre configuration de pare-feu et verrouillez-vous dans les ports dont vous n'avez pas besoin, à la fois dans et en sortant. Ensuite, installez Rkhunter, etc. pour voir si un script-Kiddie a laissé tomber un kit racine dedans.

Pour être franc, il est probablement moins de travail pour faire ce que JJ a suggéré et reconstruire que de faire absolument sûr que l'ordinateur n'a pas été compromis. Ce sont les données précieuses, non pas du système d'exploitation et de configuration (en dehors des heures de travail dans la définition).

Vous ne serez jamais sûr qu'il n'était pas fissuré par quelqu'un plus intelligent que vous.

1
dunxd

Vous devez vraiment être proactif ici. Il n'y a pas de moyen fiable de détecter les rootkits sur des machines, vous devez donc les empêcher d'y arriver en premier lieu et de trouver des moyens de les détecter lors de l'entrée (par exemple, via tripwire et des interfaces verrouillées).

Si vous pensez qu'une machine a été exploitée de quelque manière que ce soit, vous devez vraiment réinstaller - il n'y a pas de moyen garanti de la nettoyer à court de réinstalgie. De loin l'option la plus sûre.

1
Adam Gibbins

La première étape devrait vraiment être Rkhunter/Chkrootkit, mais j'ai également eu une bonne chance dans le passé avec les fonctionnalités qui se sont intégrées à certains gestionnaires de paquets, par exemple "Rpmverify" qui passeront à travers tous les packages de votre système et vérifiez que Les MD5sums des fichiers qu'ils incluaient ne diffèrent pas des fichiers sur disque.

Les binaires principaux devraient vraiment avoir des MD5 identiques à ce qui est spécifié dans les bases de données RPM ou DPKG, donc si elles sont différentes, vous savez qu'il y a quelque chose de bizarre.

0
JamesHannah