Trois outils pour analyser un serveur Linux à la recherche de virus, de logiciels malveillants et de rootkits
Les serveurs connectés à Internet sont exposés à un flux constant d’attaques et d’analyses tout au long de la journée. Même si un pare-feu et des mises à jour régulières du système constituent une bonne première défense pour assurer la sécurité du système, vous devez également vérifier régulièrement qu'aucun attaquant ne s'est infiltré. Les outils décrits dans ce didacticiel sont conçus pour ces tests, en recherchant les logiciels malveillants, les virus et les rootkits. Ils doivent être exécutés régulièrement, par exemple tous les soirs, et vous envoyer des rapports par e-mail. Vous pouvez également utiliser Chkrootkit, Rkhunter et ISPProtect pour analyser un système lorsque vous remarquez une activité suspecte, telle qu'une charge élevée, des processus suspects ou lorsque le serveur commence soudainement à envoyer des logiciels malveillants.
Tous ces scanners doivent être exécutés en tant qu'utilisateurs root. Connectez-vous en tant que root avant de les exécuter. Sur Ubuntu, utilisez :
sudo -s
pour devenir l'utilisateur root.
chkrootkit - Scanner de rootkits Linux
Chkrootkit est un scanner de rootkit classique. Il vérifie votre serveur à la recherche de processus de rootkit suspects et recherche une liste de fichiers de rootkit connus.
Soit installez le package fourni avec votre distribution (sur Debian et Ubuntu, vous exécuteriez
apt-get install chkrootkit
), ou téléchargez les sources depuis www.chkrootkit.org et installez manuellement :
wget --passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar xvfz chkrootkit.tar.gz
cd chkrootkit-*/
make sense
Ensuite, vous pouvez déplacer le répertoire chkrootkit ailleurs, par exemple. dans /usr/local/chkrootkit :
cd ..
mv chkrootkit-<version>/ /usr/local/chkrootkit
et créez un lien symbolique pour un accès facile :
ln -s /usr/local/chkrootkit/chkrootkit /usr/local/bin/chkrootkit
Pour vérifier votre serveur avec chkrootkit, exécutez la commande :
chkrootkit
Un rapport de faux positif courant est :
Checking `bindshell'... INFECTED (PORTS: 465)
Ne vous inquiétez pas lorsque vous recevez ce message sur un serveur de messagerie, il s'agit du port SMTPS (Secure SMTP) de votre système de messagerie et d'un faux positif bien connu.
Vous pouvez même exécuter chkrootkit via une tâche cron et recevoir les résultats par courrier électronique. Tout d’abord, recherchez le chemin où chkrootkit est installé sur votre serveur avec :
which chkrootkit
Exemple :
root@server1:/tmp/chkrootkit-0.52# which chkrootkit
/usr/sbin/chkrootkit
Chkrootkit est installé dans le chemin /usr/sbin/chkrootkit, nous avons besoin de ce chemin dans la ligne cron ci-dessous :
Courir :
crontab -e
Pour créer une tâche cron comme celle-ci :
0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit output of my server" [email )
Cela exécuterait chkrootkit tous les soirs à 15h00. Remplacez le chemin d'accès à chkrootkit par le chemin que vous avez reçu de la commande ci-dessus et échangez l'adresse e-mail avec votre adresse réelle.
Lynis - Outil universel d'audit de sécurité et scanner de rootkits
Lynis (anciennement rkhunter) est un outil d'audit de sécurité pour les systèmes Linux et BSD. Il effectue un audit détaillé de nombreux aspects de sécurité et configurations de votre système. Téléchargez les dernières sources Lynis depuis https://cisofy.com/downloads/lynis/ :
cd /tmp
wget https://downloads.cisofy.com/lynis/lynis-3.0.7.tar.gz
tar xvfz lynis-3.0.7.tar.gz
mv lynis /usr/local/
ln -s /usr/local/lynis/lynis /usr/local/bin/lynis
Cela installera Lynis dans le répertoire /usr/local/lynis et créera un lien symbolique pour un accès facile. Maintenant, cours
lynis update info
pour vérifier si vous utilisez la dernière version.
Vous pouvez maintenant analyser votre système à la recherche de rootkits en exécutant :
lynis audit system
Lynis effectuera quelques vérifications puis s'arrêtera pour vous donner le temps de lire les résultats. Appuyez sur [ENTER] pour continuer la numérisation.
À la fin, il vous montrera un résumé de l’analyse.
Pour exécuter Lynis de manière non interactive, démarrez-le avec l'option --quick :
lynis --quick
Pour exécuter Lynis automatiquement la nuit, créez une tâche cron comme celle-ci :
0 3 * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "lynis output of my server" [email )
Lynis fonctionnera tous les soirs à 15h00. Remplacez l'adresse e-mail par votre véritable adresse.
ISPProtect - Scanner de logiciels malveillants pour sites Web
ISPProtect est un scanner de logiciels malveillants pour les serveurs Web, il recherche les logiciels malveillants dans les fichiers de sites Web et les systèmes CMS comme WordPress, Joomla, Drupal, etc. Si vous utilisez un serveur d'hébergement Web, les sites Web hébergés sont la partie la plus attaquée de votre serveur et c'est Il est recommandé de procéder régulièrement à des contrôles d'intégrité. ISPProtect contient 5 moteurs d'analyse :
- Scanner de malware basé sur les signatures.
- Scanner heuristique de malware.
- Un scanner pour afficher les répertoires d'installation des systèmes CMS obsolètes.
- Un scanner qui vous montre tous les plugins WordPress obsolètes de l'ensemble du serveur.
- Un scanner de contenu de base de données qui vérifie les bases de données MySQL à la recherche de contenu potentiellement malveillant.
ISPProtect n'est pas un logiciel gratuit, mais il existe un essai gratuit qui peut être utilisé sans inscription pour rechercher des logiciels malveillants sur votre serveur ou nettoyer un système infecté. La clé de licence gratuite pour utiliser la version complète du logiciel une fois sur votre serveur est simplement « d'essai ».
ISPProtect nécessite que PHP et ClamAV soient installés sur le serveur, cela devrait être le cas sur la plupart des systèmes d'hébergement. ClamAV est utilisé par ISPProtect au premier niveau d'analyse avec le propre jeu de signatures Malware d'ISPProtect. Si vous n'avez pas encore installé de PHP en ligne de commande, exécutez :
sudo apt install php7.4-cli php7.4-curl clamav
sur Debian 11 ou Ubuntu 20.04 ou
yum install PHP php-curl
sur AlmaLinux, Fedora, CentOS ou Rocky Linux.
Exécutez les commandes suivantes pour installer ISPProtect.
mkdir -p /usr/local/ispprotect
chown -R root:root /usr/local/ispprotect
chmod -R 750 /usr/local/ispprotect
cd /usr/local/ispprotect
wget http://www.ispprotect.com/download/ispp_scan.tar.gz
tar xzf ispp_scan.tar.gz
rm -f ispp_scan.tar.gz
ln -s /usr/local/ispprotect/ispp_scan /usr/local/bin/ispp_scan
Pour démarrer ISPProtect, exécutez :
ispp_scan
Le scanner vérifie automatiquement les mises à jour, puis demande la clé (entrez le mot « essai » ici), puis demande le chemin des sites Web, normalement c'est /var/www.
Please enter scan key: <-- trial
Please enter path to scan: <-- /var/www
Le scanner va maintenant lancer l'analyse. La progression de la numérisation est affichée. Les noms des fichiers infectés sont affichés à l'écran à la fin de l'analyse et les résultats sont stockés dans un fichier dans le répertoire d'installation d'ISPProtect pour une utilisation ultérieure :
Pour mettre à jour ISPProtect, exécutez la commande :
ispp_scan --update
Pour exécuter ISPProtect automatiquement en tant que tâche cron nocturne, créez un fichier cron avec nano :
nano /etc/cron.d/ispprotect
et insérez la ligne suivante :
0 3 * * * root /usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --path=/var/www --email-results=root@localhost --non-interactive --scan-key=AAA-BBB-CCC-DDD
Remplacez "root@localhost" par votre adresse email, le rapport d'analyse est envoyé à cette adresse. Échangez ensuite « AAA-BBB-CCC-DDD » avec votre clé de licence. Vous pouvez obtenir une clé de licence ici.
Une liste complète des options de ligne de commande de la commande ISPProtect ispp_scan peut être obtenue avec :
ispp_scan --help