Archives de catégorie : Debian GNU/Linux

Debian est une distribution Linux, composée presque exclusivement de logiciels libres. Elle est développée par le « Debian Project », une organisation communautaire fondée le 16 août 1993 par Ian Murdock. La plupart des décisions sont prises par résolution générale ou par vote.

Dionaea honeypot

Dionaea honeypot

DIONAEA HONEYPOT

Dionaea est une application fascinante conçue principalement pour capturer et analyser les malwares qui circulent sur Internet, en se faisant passer pour une proie vulnérable. Étant donné sa nature et son utilité, Dionaea trouve sa place dans les environnements de recherche en sécurité, les honeypots, et parmi les outils utilisés par les professionnels de la cybersécurité pour étudier les menaces et renforcer les défenses. Dans cet article, nous allons explorer ce qu’est Dionaea, comment il fonctionne, et vous guider à travers le processus d’installation sur un système Debian, une distribution Linux populaire pour les serveurs et les applications de sécurité.

Qu’est-ce que Dionaea?

Dionaea est un honeypot de nouvelle génération, successeur du projet Nepenthes. Il est conçu pour être facile à utiliser, flexible et pour capter plus que simplement les vers propagés par le réseau. Dionaea est capable de capturer des malwares en utilisant des vulnérabilités dans les protocoles de réseau. Il peut simuler plusieurs services vulnérables pour attirer les attaquants, tels que SMB, HTTP, FTP, et MSSQL. Une fois qu’une tentative d’attaque est détectée, Dionaea capture le malware utilisé dans l’attaque et peut télécharger les détails de l’incident à un serveur central pour analyse.

Pourquoi utiliser Dionaea sous Debian?

Debian est réputé pour sa stabilité, sa sécurité et son vaste dépôt de logiciels. Ces caractéristiques en font une excellente option pour faire tourner Dionaea. Debian fournit un environnement solide et prévisible pour déployer des honeypots comme Dionaea, permettant aux utilisateurs de se concentrer sur l’analyse des malwares capturés sans se soucier de la fiabilité du système d’exploitation.

Conclusion

Dionaea est un outil puissant pour la recherche en sécurité et la défense contre les malwares. En l’exécutant sur un système Debian, vous bénéficiez d’une plateforme stable et sécurisée pour capturer et analyser les menaces. N’oubliez pas que l’exécution d’un honeypot nécessite une surveillance et une gestion prudente pour éviter qu’il ne soit utilisé contre vous. Assurez-vous de suivre les meilleures pratiques de sécurité et de tenir votre système à jour.

Fail2ban Sécurisez Votre Serveur Linux Contre les Attaques

Fail2ban : Sécurisez Votre Serveur Linux Contre les Attaques

Fail2ban - illustration

Fail2ban Sécurisez Votre Serveur Linux Contre les Attaques

Introduction

La sécurité en ligne est essentielle de nos jours, en particulier pour les serveurs Linux exposés sur Internet. Fail2ban est un outil puissant conçu pour protéger votre serveur contre les attaques pa force brute et les intrusions. Dans cet article, nous allons explorer l’histoire de Fail2ban, vous guider à travers son installation sur différentes distributions Linux, puis vous montrer comment l’utiliser efficacement avec des exemples et des scripts.

Histoire de Fail2ban

Fail2ban a été créé en 2004 par Cyril Jaquier en réponse à la nécessité croissante de protéger les serveurs contre les attaques automatisées. Il est devenu un outil incontournable pour de nombreux administrateurs système et est toujours activement développé et maintenu aujourd’hui.

Installation de Fail2ban

Debian/Ubuntu

Sur Debian et Ubuntu, l’installation de Fail2ban est simple. Ouvrez votre terminal et exécutez les commandes suivantes :

sudo apt update
sudo apt install fail2ban

CentOS/RHEL

Pour CentOS et Red Hat Enterprise Linux (RHEL), vous pouvez utiliser yum pour installer Fail2ban :

sudo yum install epel-release
sudo yum install fail2ban

Configuration de Fail2ban

Une fois Fail2ban installé, vous devez configurer son comportement en modifiant le fichier de configuration principal `/etc/fail2ban/jail.conf`. Vous pouvez également créer un fichier de configuration personnalisé dans `/etc/fail2ban/jail.d/` pour éviter de modifier directement le fichier principal.

Voici quelques paramètres importants que vous pouvez configurer dans le fichier de configuration :

– `bantime` : Durée en secondes pendant laquelle un hôte est interdit d’accès après un certain nombre d’échecs.
– `maxretry` : Nombre maximum d’échecs autorisés avant que l’IP soit bannie.
– `findtime` : Fenêtre de temps en secondes pendant laquelle `maxretry` doit être atteint pour bannir une IP.

Utilisation de Fail2ban

Une fois configuré, Fail2ban surveille les journaux de votre serveur à la recherche de tentatives d’intrusion. Par exemple, pour surveiller les tentatives de connexion SSH échouées, il faut ajouter la configuration suivante dans le fichier de configuration :

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Après avoir enregistré la configuration, redémarrez Fail2ban pour appliquer les modifications :

sudo systemctl restart fail2ban

Exemples d’utilisation

– Bloquer les tentatives de connexion SSH échouées :

sudo fail2ban-client set sshd banip IP_ADDRESS

– Afficher la liste des adresses IP bannies :

sudo fail2ban-client status sshd

– Retirer une adresse IP de la liste des bannies :

sudo fail2ban-client unban IP_ADDRESS

Automatisation avec des Scripts

Pour faciliter l’exploitation de Fail2ban, vous pouvez créer des scripts personnalisés pour automatiser certaines tâches. Par exemple, vous pouvez créer un script qui extrait automatiquement les adresses IP bannies et les envoie par e-mail à l’administrateur.

#!/bin/bash

banned_ips=$(sudo fail2ban-client status sshd | grep "Banned IP list" | awk '{print $7}')

if [ -n "$banned_ips" ]; then
echo "IPs bannies :"
echo "$banned_ips"
# Envoyer par e-mail à l'administrateur
# Insérer votre code d'envoi d'e-mail ici
else
echo "Aucune IP n'est bannie pour le moment."
fi

 

N’oubliez pas de rendre le script exécutable avec :

chmod +x script.sh

 

D’autres scriptes sont disponible ici

Conclusion

Fail2ban est un outil puissant pour renforcer la sécurité de votre serveur Linux en protégeant contre les attaques automatisées. En installant, configurant et automatisant son utilisation, vous pouvez renforcer la sécurité de votre serveur tout en minimisant les risques d’intrusion. Assurez-vous de garder Fail2ban à jour pour bénéficier des dernières fonctionnalités et corrections de sécurité.

Fail2ban Sécurisez Votre Serveur Linux Contre les Attaques

grub2 – partitions bootable manquante

grub2 et osprober

Message d’erreur :

warning: osprober will not be executed to detect other bootable partitions:
check GRUB_DISABLE_OS_PROBER documentation entry

Explication :

Depuis Grub 2.6, la valeur par défaut de GRUB_DISABLE_OS_PROBER est passée de « false » à « true« 

Résolution :

Pour activer os-prober lors de l’exécution de update-grub il faut donc ajouter à /etc/default/grub

GRUB_DISABLE_OS_PROBER=false

puis relancer un update-grub

update-grub

Grub en quelques mots

GRUB2, également connu sous le nom de GRand Unified Bootloader 2, est un gestionnaire de démarrage utilisé principalement dans les systèmes d’exploitation basés sur Linux. Il est la version améliorée de GRUB (GRUB Legacy) et est largement utilisé sur de nombreuses distributions Linux.

Voici quelques points importants à savoir sur GRUB2 :

Gestionnaire de démarrage

GRUB2 est responsable de l’amorçage du système d’exploitation lors du démarrage de l’ordinateur. Il est installé dans le MBR (Master Boot Record) ou le secteur de démarrage de la partition et permet de choisir le système d’exploitation à lancer.

Configuration flexible

GRUB2 utilise un fichier de configuration appelé « grub.cfg » pour déterminer les options de démarrage et la manière dont les différents systèmes d’exploitation sont chargés. Ce fichier de configuration peut être modifié pour personnaliser les options de démarrage, ajouter des entrées supplémentaires, modifier les paramètres par défaut, etc.

Support de plusieurs systèmes d’exploitation

GRUB2 est capable de démarrer différents systèmes d’exploitation, y compris différentes versions de Linux, Windows, macOS, BSD, Solaris, etc. Il détecte automatiquement les systèmes d’exploitation installés sur le disque dur et les ajoute à son menu de démarrage.

Interface utilisateur

GRUB2 propose une interface utilisateur en ligne de commande pour sélectionner les options de démarrage. Il permet également de définir un menu graphique avec des thèmes personnalisés, des images de fond, des couleurs, etc., offrant une expérience plus conviviale.

Fonctionnalités avancées

GRUB2 offre de nombreuses fonctionnalités avancées, telles que le support du chiffrement des partitions, la prise en charge des volumes logiques LVM, le démarrage en réseau (PXE), la gestion des modules, la détection automatique des noyaux Linux, etc.

Dépannage

En cas de problèmes de démarrage, GRUB2 propose des options de dépannage, notamment l’accès à une ligne de commande pour effectuer des réparations manuelles, la restauration de la configuration par défaut, la réinstallation de GRUB2, etc.

Il convient de noter que GRUB2 est un logiciel open source. Il est largement utilisé et maintenu par la communauté Linux. De ce fait, il continue d’évoluer avec de nouvelles fonctionnalités, des correctifs de sécurité et des améliorations apportées par les développeurs et les contributeurs.

Fail2ban – lister et trier les IP bannies

Lister et trier les ips bannies par Fail2ban

Il est utile de connaitre les IPs actuellement bannies par l’excellent Fail2ban.Nous allons lister et trier les ips bannies par Fail2ban avec awk.Fail2ban_logo

 

Pour rappelle cette application permet de définir le nombre de tentative maximum de connexion pour un service donné. Il peux être très intéressant pour des services tel que ssh et son daemon sshd, mais pas que. Je vous laisse vous documenter sur Fail2ban

les ips bannies par Fail2ban

Personnellement j’utilise :

awk '($(NF-1) = /Ban/){print $NF}' /var/log/fail2ban.log | sort | uniq -c | sort -n

cette commande vous renvoi les IP bannies avec leur nombre de tentative. Information importante pour bannir les IP définitivement de l’accès à votre serveur/machine.

Vérifier le fonctionnement de Fail2ban :

fail2ban-client status sshd

retourne le statut de la prison « sshd » (avec le nombre de tentatives échouées et la liste des IP bannies)

sinon le classique

systemctl status fail2ban

doit retourner un Active: active (running) since et une date depuis laquelle Fail2ban est actif.

Vulnérabilité dans le gestionnaire de paquets APT – CERT-FR

Objet: Vulnérabilité dans le gestionnaire de paquets APT

Max Justicz a découvert une vulnérabilité dans APT, le gestionnaire de paquet de haut niveau. Le code traitant les redirections HTTP dans la méthode de transport HTTP ne vérifie pas correctement les champs transmis sur le réseau. Cette vulnérabilité pourrait être utilisée par un attaquant dans la position « d’homme du milieu » entre APT et un miroir pour injecter un contenu malveillant dans la connexion HTTP. Ce contenu pourrait ensuite être reconnu comme un paquet valable par APT et être utilisé plus tard pour l’exécution de code avec les droits du superutilisateur sur la machine cible.

Source : Vulnérabilité dans le gestionnaire de paquets APT – CERT-FR

Bulletin d’alerte Debianhttps://www.debian.org/security/2019/dsa-4371

Find où sont mes répertoires vides sous GNU/Linux

La commande find permet de trouver des fichiers, des répertoires et éventuellement d’exécuter une action par dessus. C’est exactement ce que je veux : trouver les répertoires vides d’un répertoire donné.

find -maxdepth 2 -empty -type d
  • -maxdepth : permet de limiter le find à une profondeur de 2
  • -empty : trouver les « vides »
  • -type d : on veux les répertoire

Pour exécuter une commande sur le résultat

find -maxdepth 2 -empty -type d -delete

Attention, il n’y a pas de confirmation, d’où l’intérêt de tester sans l’option -delete avant

D’autres exemples de commandes

Donne la liste des fichiers de « /etc » ayant été modifiés ces dernières 24 heures :

find /etc -mtime -1

Cette utilisation de ‘find’ permet de supprime (après confirmation) tous les fichiers (sous Unix, GNU/Linux tout est fichiers, le répertoires sons aussi concernées) de « /tmp » n’ayant pas été utilisés depuis plus de 5 jours :

find /tmp -atime +5 -exec rm -ri {} \;

Pour trouver les fichiers de plus de 100 Mo on peux utiliser :

find ~ -size +100M

Des logs en temps réel avec syslog

Comment voir des logs en temps réel avec syslog ?

Il peut être intéressant d’avoir une console sur laquelle les logs (les journaux d’événements système) défilent en direct. Cela permet de voir en temps réel ce qui se passe au niveau du système, et donc de résoudre les éventuels problèmes plus rapidement.

Syslog c’est quoi ?

C’est un protocole définissant un service de journaux d’événements d’un système informatique. C’est aussi le nom du format qui permet ces échanges.

Donc pour cela, on va créer en root le fichier de configuration de rsyslog (le programme qui gère les logs)

#vi /etc/rsyslog.d/tty8.conf

 

daemon,mail.*;\
        news.=crit;news.=err;news.=notice;\
        *.=debug;*.=info;\
        *.=notice;*.=warn       /dev/tty8

Puis on relance syslog via la commande

# /etc/init.d/rsyslog restart

Ainsi, en allant sur la console n°8 (Ctrl + Alt + F8), vous devez déjà voir une première ligne de texte qui vous informe que rsyslog a redémarré !