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.

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.

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