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.

Faut-il paniquer face aux failles de sécurité ?


Faut-il vraiment paniquer face aux failles de sécurité ? 

Faut-il vraiment paniquer face aux failles de sécurité

Faut-il vraiment paniquer face aux failles de sécurité ? Réalité, exemples concrets, et bon sens

🛡️ Faut-il vraiment paniquer face aux failles de sécurité ? Entre réalité, marketing et bon sens

Chaque semaine, une nouvelle alerte sécurité débarque. CVE critique par-ci, 0-day par-là. Sur Windows comme sur Linux, le mot « faille » déclenche immédiatement une chasse aux patchs, des nuits blanches en entreprise… et parfois des achats précipités de solutions de sécurité.

Mais faut-il vraiment s’affoler ? Est-on en danger immédiat ou juste en train d’alimenter un écosystème qui capitalise sur la peur ?


🔍 C’est quoi, une faille de sécurité ?

Une faille de sécurité, ou vulnérabilité, est une faiblesse dans un système, un logiciel ou un protocole qui peut permettre à un acteur malveillant de compromettre :

  • La confidentialité (accès à des données)
  • L’intégrité (modification non autorisée)
  • La disponibilité (mise hors service d’un système)

Mais attention :

❗ Une faille n’est pas automatiquement exploitable.
Il faut que plusieurs conditions soient réunies :

  • La version vulnérable doit être présente
  • Elle doit être accessible à l’attaquant
  • Il doit exister un code d’exploitation (exploit)
  • L’attaquant doit pouvoir agir avant que la faille ne soit corrigée

🖥️ Cas concrets : Windows vs Linux

Exemple 1 — Windows : Faille PrintNightmare (CVE-2021-34527)

Microsoft a alerté en 2021 sur une faille critique du spouleur d’impression qui permettait à un utilisateur distant d’exécuter du code à distance.

🔹 Réalité :

  • Exploitable uniquement si le service était activé
  • Sur de nombreuses machines, le spouleur n’est actif que sur les postes utilisateurs, pas les serveurs critiques
  • Patch publié rapidement, mais des POC ont circulé très vite sur GitHub

🔹 Analyse :
Si tu désactives ce service sur tes machines non imprimantes, le risque est nul.


Exemple 2 — Linux : Sudoedit (CVE-2023-22809)

Cette faille permettait à un utilisateur local malveillant d’obtenir des privilèges root via la commande sudoedit, en manipulant des liens symboliques.

🔹 Réalité :

  • Exploitable localement uniquement
  • Nécessite un accès au compte utilisateur
  • Corrigé dans les versions récentes de sudo

🔹 Analyse :
Un serveur bien configuré avec un accès SSH restreint et des utilisateurs non privilégiés n’était pas réellement à risque.


💰 La cybersécurité, un business de la peur ?

La peur vend.

Derrière chaque vulnérabilité médiatisée :

  • Un éditeur de solutions de sécurité qui propose de “réduire votre surface d’attaque”
  • Un rapport qui « prouve » que 97% des entreprises sont vulnérables
  • Un service managé qui vous promet une tranquillité absolue contre un abonnement mensuel

🔎 Exemple : L’effet buzz des CVE

Certains chercheurs publient des CVE sur des outils obscurs ou peu utilisés, uniquement pour :

  • Booster leur visibilité
  • Pousser leur scanner de sécurité maison
  • Générer des backlinks vers leur blog

🧘‍♂️ Faille ≠ alarme rouge immédiate

La majorité des vraies intrusions ne passent pas par des failles logicielles complexes, mais par :

  • 🟠 Des mots de passe faibles (admin/admin, 123456)
  • 🟠 Du phishing avec pièce jointe piégée
  • 🟠 Des erreurs de configuration (rsync ouvert en écriture publique…)
  • 🟠 Des services laissés accessibles sans authentification

Ce n’est pas la complexité du vecteur qui réussit l’attaque, c’est sa simplicité.


🛠️ Bonnes pratiques : la sécurité raisonnée

Voici ce qu’un admin système (Linux ou Windows) devrait faire au lieu de paniquer à chaque alerte CVE :

Action Pourquoi c’est utile
🔄 Mettre à jour régulièrement Corrige automatiquement les failles connues
🚫 Désactiver les services inutiles Moins de surface d’attaque (ex: smb ou rpcbind)
🔐 Mettre en place un MFA (authentification à deux facteurs) Protège même si un mot de passe fuit
🧱 Séparer les réseaux internes et publics Évite que toute une infra tombe via une seule faille
👨‍🏫 Former les utilisateurs au phishing Réduit les compromissions par négligence humaine

🎯 Linux et Windows : même combat, autres méthodes

OS Risques typiques Défenses
Windows Phishing, macros Office, RDP mal sécurisé GPO, Defender, isolation des sessions
Linux Failles de daemons exposés, sudo mal configuré Firewalld/iptables, AppArmor/SELinux, auditd

Aucune plateforme n’est invulnérable. Mais sur les deux, la bonne hygiène système et la réduction du périmètre exposé restent les meilleures armes.


🤖 Et les outils automatiques dans tout ça ?

Certains scripts ou outils promettent de scanner toutes les CVE d’un système (ex : lynis, clamav, vulners, ou même Windows Security Scanner).
Ils peuvent aider, mais ne doivent pas dicter la panique. Beaucoup d’alertes sont inutiles, ou nécessitent un contexte très spécifique.

Un bon professionnel filtre, priorise, et agit avec méthode. Pas avec fébrilité.


✅ Conclusion : lucidité, pas paranoïa

Le monde ne va pas s’effondrer à chaque CVE critique.
La cybersécurité efficace ne se base ni sur la peur, ni sur la communication anxiogène. Elle repose sur des :

  • Décisions techniques raisonnables
  • Procédures bien établies
  • Capacités à répondre, pas à réagir en panique

Rester calme face aux vulnérabilités, c’est être pro.
Et c’est ce qui sépare un technicien d’un pompier numérique débordé. Donc, Faut-il paniquer face aux failles de sécurité ? La réponse est NON ! Pas toujours.


📥 Tu veux aller plus loin ?

💡 Quelques outils recommandés pour évaluer calmement ton exposition :

  • trivy (Linux/Docker) : analyse de vulnérabilités dans les containers
  • OpenVAS / Greenbone : scanner réseau open source
  • Windows Security Baseline : recommandations Microsoft pour renforcer les postes
  • osquery : interrogez vos systèmes comme une base de données

Recherche et remplace dans Vi et Vim

Recherche et remplace dans Vi et Vim

Recherche et remplacer dans Vi et Vim

Recherche et remplace dans Vi et Vim

Introduction

Vi et Vim sont des éditeurs de texte puissants utilisés dans les environnements Unix et bien sur GNU/Linux.

Ils offrent des commandes avancées de recherche et de remplacement qui permettent d’éditer rapidement et efficacement des fichiers texte. Ce guide détaille comment utiliser ces commandes.

Commandes de base

Remplacer toutes les occurrences sans confirmation

:%s/toto/tata/g
  • % : applique la commande à l’ensemble du fichier.
  • s : commande de substitution.
  • g : remplace toutes les occurrences sur chaque ligne.

Remplacer toutes les occurrences avec confirmation

:%s/toto/tata/gc
  • c : demande confirmation pour chaque remplacement.

Options supplémentaires

Limiter à une plage de lignes

:10,20s/toto/tata/g
  • 10,20 : remplace de la ligne 10 à la ligne 20.

Utiliser des expressions régulières

:%s/\<toto\>/tata/g
  • \< et \> : délimitent des mots complets.

Remplacer la première occurrence par ligne

:%s/toto/tata/

Commandes avancées

Remplacement avec une commande VimScript

:%s/\v(toto|foo)/\=submatch(0) == 'toto' ? 'tata' : 'bar'/g
  • \v : mode de regex « very magic ».
  • submatch(0) : récupère la correspondance trouvée.

Sauvegarder et quitter après remplacement

:%s/toto/tata/g | wq

Exemple pratique

Prenons un fichier de configuration où vous devez remplacer une ancienne adresse IP par une nouvelle :

:%s/192\.168\.1\.1/10.0.0.1/g

Conclusion

Recherche et remplace dans Vi et Vim : La maîtrise de ces commandes permet d’effectuer des modifications de texte rapides et efficaces dans Vi et Vim. N’hésitez pas à expérimenter avec différentes options pour adapter les commandes à vos besoins.

« `

Debian – Examiner ses sources APT

Debian – Examiner rapidement les configurations de source de paquet APT

logo Debian

Debian examiner ses sources APT

Debian examiner ses sources APT

Examiner rapidement les configurations de source de paquet APT sur un système Debian : exemple avec la commande find

Dans un système Debian (ou tout système basé sur Debian, comme Ubuntu) pour trouver et afficher le contenu de certains fichiers dans le répertoire /etc/apt

 

find /etc/apt -type f -regex ".*list$\|.*sources$" -exec bash -c 'echo "$1"; nl -ba "$1"; echo' _ '{}' \;

Voici une analyse détaillée de chaque partie de cette commande :

  • find /etc/apt: Cette partie de la commande recherche dans le répertoire /etc/apt et ses sous-répertoires. /etc/apt est le répertoire où sont stockées les configurations du gestionnaire de paquets APT, y compris les sources des paquets (repositories).
  • -type f: Cette option limite la recherche aux fichiers (et non aux répertoires, liens symboliques, etc.).
  • -regex ".*list$\|.*sources$": Cette option filtre les résultats de la recherche pour ne retourner que les fichiers dont les noms se terminent par list ou sources. Le $ indique la fin du nom du fichier. L’utilisation de \| permet de chercher des fichiers qui correspondent à l’un ou l’autre des motifs spécifiés (.*list ou .*sources).
  • -exec bash -c 'echo "$1"; nl -ba "$1"; echo' _ '{}' \;: Cette partie de la commande est un peu plus complexe. Elle exécute une commande pour chaque fichier trouvé qui correspond aux critères spécifiés précédemment.
    • -exec: Permet d’exécuter une commande sur chaque fichier trouvé.
    • bash -c '...' _ '{}': Exécute la commande spécifiée par les guillemets ('...') dans un nouveau shell Bash. Le {} est remplacé par le chemin du fichier trouvé. Le _ est un placeholder pour $0 dans le script exécuté par bash -c, qui n’est pas utilisé dans ce cas.
    • echo "$1": Affiche le chemin du fichier traité. $1 fait référence au premier argument après le script bash, qui dans ce cas est le chemin du fichier (remplacement de {}).
    • nl -ba "$1": Utilise la commande nl pour numéroter toutes les lignes (-ba) du fichier spécifié et afficher son contenu.
    • echo: Affiche une ligne vide après le contenu de chaque fichier pour une meilleure lisibilité.

En résumé, cette commande recherche dans /etc/apt tous les fichiers se terminant par list ou sources, puis pour chaque fichier trouvé, affiche son chemin, numérote et affiche son contenu, suivi d’une ligne vide. Cette commande peut être utile pour examiner rapidement les configurations de source de paquet APT sur un système Debian ou dérivés.

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

grub2 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.

 

Bonus script  :

#!/bin/bash

# fail2ban-tools.sh : utilitaire multifonction pour auditer les IPs bannies par Fail2Ban
# Usage :
#   ./fail2ban-tools.sh --list      # Liste les IP bannies par prison
#   ./fail2ban-tools.sh --whois     # Affiche les infos WHOIS des IP bannies
#   ./fail2ban-tools.sh --count     # Compte le nombre d'IPs bannies par prison
#   ./fail2ban-tools.sh --help      # Affiche l'aide

list_ips() {
    echo "Liste des IP bannies par prison"
    echo "-------------------------------"
    for jail in $(fail2ban-client status | grep 'Jail list' | cut -d: -f2 | tr ',' ' '); do
        jail=$(echo "$jail" | xargs)
        echo -e "\n[$jail]"
        fail2ban-client status "$jail" | grep 'Banned IP list' | cut -d: -f2
    done
}

whois_ips() {
    echo "Audit WHOIS des IPs bannies"
    echo "---------------------------"
    for jail in $(fail2ban-client status | grep 'Jail list' | cut -d: -f2 | tr ',' ' '); do
        jail=$(echo "$jail" | xargs)
        echo -e "\n[$jail]"
        IPs=$(fail2ban-client status "$jail" | grep 'Banned IP list' | cut -d: -f2)
        for ip in $IPs; do
            echo "IP : $ip"
            whois "$ip" | grep -iE 'OrgName|Country|OrgID|netname' | head -n 5
            echo "---"
        done
    done
}

count_ips() {
    echo "Nombre d'IPs bannies par prison"
    echo "-------------------------------"
    for jail in $(fail2ban-client status | grep 'Jail list' | cut -d: -f2 | tr ',' ' '); do
        jail=$(echo "$jail" | xargs)
        count=$(fail2ban-client status "$jail" | grep -oP '(?<=Banned IP list: ).*' | wc -w)
        echo "$jail : $count IP(s)"
    done
}

print_help() {
    echo "Usage: $0 [--list | --whois | --count | --help]"
    echo ""
    echo "  --list     Liste les IP bannies par prison"
    echo "  --whois    Affiche les infos WHOIS des IP bannies"
    echo "  --count    Compte le nombre d'IPs bannies par prison"
    echo "  --help     Affiche cette aide"
}

case "$1" in
    --list) list_ips ;;
    --whois) whois_ips ;;
    --count) count_ips ;;
    --help|-h|*) print_help ;;
esac

 

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