Les serveurs connectés à Internet sont exposés à un flux constant d'attaques et d'analyses tout au long de la journée. Bien qu'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 analysant les logiciels malveillants, les virus et les rootkits. Ils doivent être exécutés régulièrement, par exemple toutes les nuits, 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 analyseurs 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 rootkit Linux
Chkrootkit est un scanner de rootkit classique. Il recherche sur votre serveur les processus de rootkit suspects et recherche une liste de fichiers de rootkit connus.
Soit installez le paquet 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-les 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 ex. vers /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 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 par une tâche cron et recevoir les résultats par e-mail. Tout d'abord, découvrez le chemin d'installation de chkrootkit sur votre serveur avec :
which chkrootkit
Exemple :
[email protected]:/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 :
Exécuter :
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 protected])
Cela exécuterait chkrootkit tous les soirs à 3h00. Remplacez le chemin vers 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 rootkit
Lynis (anciennement rkhunter) est un outil d'audit de sécurité pour les systèmes basés sur Linux et BSD. Il effectue un audit détaillé de nombreux aspects et configurations de sécurité 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 lancez
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 le scan.
À 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 protected])
Cela exécutera Lynis tous les soirs à 3h00. Remplacez l'adresse e-mail par votre adresse réelle.
ISPProtect - Analyseur de logiciels malveillants de site 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 tels que 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 il est recommandé de les vérifier régulièrement. ISPProtect contient 5 moteurs d'analyse :
- Scanner de logiciels malveillants basé sur les signatures
- Analyseur de logiciels malveillants heuristique.
- Un analyseur 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 analyseur de contenu de base de données qui recherche dans les bases de données MySQL des contenus potentiellement malveillants.
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 de logiciels malveillants 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 la numérisation. La progression de la numérisation s'affiche. 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 du 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 automatiquement ISPProtect 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 protected] --non-interactive --scan-key=AAA-BBB-CCC-DDD
Remplacez "[email protected]" par votre adresse e-mail, le rapport d'analyse est envoyé à cette adresse. Ensuite, échangez "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