Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
harbian-audit — Audit de distribution Debian GNU/Linux durcie | Kitploit
Outils/GitHubGitHub/hardenedlinux/harbian-audit
Sécurité de l'Infrastructure CloudAudit de ConfigurationSécurité Cloud
GitHubhardenedlinux/harbian-audit

harbian-audit

Audit de distribution Debian GNU/Linux durcie

Voir le dépôt
470653il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

harbian-audit Hardening

Introduction

Audit de distributions durcies Debian GNU/Linux et CentOS 8.

L'environnement de test principal est Debian GNU/Linux 9/10/11/12/13, CentOS 8 et Ubuntu 22. Les autres versions ne sont pas complètement testées. Cette version ne comporte aucune implémentation relative au bureau.

Le cadre du code est basé sur le projet OVH-debian-cis. Certaines implémentations originales ont été modifiées selon les caractéristiques de Debian 9/10/11/12/13 et CentOS 8. Des éléments de vérification ont été ajoutés et implémentés pour les recommandations STIG Red_Hat_Enterprise_Linux_7_V2R5, STIG Ubuntu V1R2 et cisecurity.org, ainsi que certains éléments de vérification par la communauté HardenedLinux. Les fonctions d'audit et d'application de l'infrastructure sont implémentées, et la fonction de correction automatique est implémentée pour les éléments pouvant être corrigés automatiquement.

root@kitploit:~
# bash bin/hardening.sh --audit-all
[...]
hardening                 [INFO] Treating /home/test/harbian-audit/bin/hardening/13.15_check_duplicate_gid.sh
13.15_check_duplicate_gid [INFO] Working on 13.15_check_duplicate_gid
13.15_check_duplicate_gid [INFO] Checking Configuration
13.15_check_duplicate_gid [INFO] Performing audit
13.15_check_duplicate_gid [ OK ] No duplicate GIDs
13.15_check_duplicate_gid [ OK ] Check Passed

[...]
################### SUMMARY ###################
      Total Available Checks : 271
         Total Checks Run : 271
         Total Passed Checks : [ 226/271 ]
         Total Failed Checks : [  44/271 ]
   Enabled Checks Percentage : 100.00 %
       Conformity Percentage : 83.39 %
Télécharger l’outil

Démarrage rapide

root@kitploit:~
$ git clone https://github.com/hardenedlinux/harbian-audit.git && cd harbian-audit
# cp etc/default.cfg /etc/default/cis-hardening
# sed -i "s#CIS_ROOT_DIR=.*#CIS_ROOT_DIR='$(pwd)'#" /etc/default/cis-hardening
# bin/hardening.sh --init
# bin/hardening.sh --audit-all
hardening                 [INFO] Treating /home/test/harbian-audit/bin/hardening/1.1_install_updates.sh
1.1_install_updates       [INFO] Working on 1.1_install_updates
1.1_install_updates       [INFO] Checking Configuration
1.1_install_updates       [INFO] Performing audit
1.1_install_updates       [INFO] Checking if apt needs an update
1.1_install_updates       [INFO] Fetching upgrades ...
1.1_install_updates       [ OK ] No upgrades available
1.1_install_updates       [ OK ] Check Passed
[...]
################### SUMMARY ###################
      Total Available Checks : 284
         Total Checks Run : 284
         Total Passed Checks : [ 260/284 ]
         Total Failed Checks : [  24/284 ]
   Enabled Checks Percentage : 100.00 %
       Conformity Percentage : 91.55 %
# bin/hardening.sh --set-hardening-level 5
# bin/hardening.sh --apply 
hardening                 [INFO] Treating /home/test/harbian-audit/bin/hardening/1.1_install_updates.sh
1.1_install_updates       [INFO] Working on 1.1_install_updates
1.1_install_updates       [INFO] Checking Configuration
1.1_install_updates       [INFO] Performing audit
1.1_install_updates       [INFO] Checking if apt needs an update
1.1_install_updates       [INFO] Fetching upgrades ...
1.1_install_updates       [ OK ] No upgrades available
1.1_install_updates       [INFO] Applying Hardening
1.1_install_updates       [ OK ] No Upgrades to apply
1.1_install_updates       [ OK ] Check Passed
[...]

Utilisation

Pré-installation

Si vous utilisez une installation réseau à partir d'un CD minimal pour installer Debian GNU/Linux, vous devez installer des paquets avant d'utiliser l'outil de durcissement.

root@kitploit:~
# apt-get install -y bc net-tools pciutils network-manager 

Redhat/CentOS nécessite l'installation de paquets avant d'utiliser l'outil de durcissement :

root@kitploit:~
# yum install -y bc net-tools pciutils NetworkManager epel-release 

Pré-configuration

Vous devez définir un mot de passe pour tous les utilisateurs avant le durcissement. Sinon, vous ne pourrez pas vous connecter après la fin du durcissement. Exemple (utilisateur OS : root et test) :

root@kitploit:~
 
# passwd 
# passwd test 

Configuration

Les scripts de durcissement se trouvent dans bin/hardening. Chaque script a un fichier de configuration correspondant dans etc/conf.d/[nom_script].cfg.

Chaque script de durcissement peut être activé individuellement à partir de son fichier de configuration. Par exemple, voici le fichier de configuration par défaut pour disable_system_accounts :

root@kitploit:~
# Configuration for script of same name
status=disabled
# Put here your exceptions concerning admin accounts shells separated by spaces
EXCEPTIONS=""

Le paramètre status peut prendre 3 valeurs :

  • disabled (ne rien faire) : Le script ne s'exécutera pas.
  • audit (lecture seule) : Le script vérifiera si un changement devrait être appliqué.
  • enabled (lecture-écriture) : Le script vérifiera si un changement doit être effectué et appliquera automatiquement ce qu'il peut.

Vous pouvez également définir l'élément de configuration pour activer en modifiant le niveau, avec la commande suivante :

  1. Générer etc/conf.d/[nom_script].cfg via audit-all lors de la première utilisation
root@kitploit:~
# bash bin/hardening.sh --audit-all
  1. Activer [nom_script].cfg via set-hardening-level Utilisez la commande pour définir le niveau de durcissement afin que l'entrée d'audit de niveau correspondant prenne effet.
root@kitploit:~
# bash bin/hardening.sh --set-hardening-level <level>

La configuration globale se trouve dans etc/hardening.cfg. Ce fichier contrôle le niveau de journalisation ainsi que le répertoire de sauvegarde. Lorsqu'un script est invité à modifier un fichier, il créera une sauvegarde horodatée dans ce répertoire.

Exécution alias « Durcissez votre distribution (Après le durcissement, vous devez effectuer la section « Après remédiation »)

Pour exécuter les vérifications et appliquer les corrections, exécutez bin/hardening.sh.

Cette commande a 2 modes de fonctionnement principaux :

  • --audit : Auditez votre système avec tous les scripts activés et en mode audit
  • --apply : Auditez votre système avec tous les scripts activés et en mode audit et appliquez les modifications pour les scripts activés

De plus, --audit-all peut être utilisé pour forcer l'exécution de tous les scripts d'audit, y compris ceux désactivés. Cela ne modifiera pas le système.

--audit-all-enable-passed peut être utilisé comme un moyen rapide de démarrer votre configuration. Il exécutera tous les scripts en mode audit. Si un script réussit, il sera automatiquement activé pour les exécutions futures. N'UTILISEZ PAS cette option si vous avez déjà commencé à personnaliser votre configuration.

Utilisez la commande pour durcir votre OS :

root@kitploit:~
# bash bin/hardening.sh --apply 

Configuration rsyslog

Si rsyslog est utilisé et que vous souhaitez imprimer le journal harbian-audit dans un fichier journal séparé, la configuration est la suivante :

root@kitploit:~
user.info			/var/log/harbian-audit.log
user.*				-/var/log/user.log

Le journal sera écrit dans le fichier /var/log/harbian-audit.log.

Si vous appliquez docs/configurations/etc.iptables.rules.v4.sh à vos règles de pare-feu et souhaitez imprimer le journal iptables dans un fichier journal séparé, insérez les lignes suivantes dans rsyslog.conf :

root@kitploit:~
:msg,contains,"FW-"                     -/var/log/firewalllog.log
&                                       stop

Après remédiation (Très important)

Lorsque vous exécutez --apply et que set-hardening-level est défini sur 5 (le niveau le plus élevé), vous devez effectuer les opérations suivantes :

  1. Lors de l'application de 9.4 (Restreindre l'accès à la commande su), vous devez utiliser le compte root pour vous connecter à l'OS car les utilisateurs ordinaires ne peuvent pas effectuer les opérations suivantes. Si vous ne pouvez utiliser que ssh pour la connexion à distance, vous devez utiliser la commande su lorsque l'utilisateur normal se connecte. Ensuite, effectuez les opérations suivantes :
root@kitploit:~
# sed -i '/^[^#].*pam_wheel.so.*/s/^/# &/' /etc/pam.d/su 

Commentez temporairement la ligne contenant pam_wheel.so. Après avoir fini d'utiliser la commande su, veuillez décommenter la ligne.

  1. Lors de l'application de 7.4.4_hosts_deny.sh, l'OS ne peut pas être connecté via le service ssh, vous devez donc définir la liste des hôtes autorisés dans /etc/hosts.allow, exemple :
root@kitploit:~
# echo "ALL: 192.168.1. 192.168.5." >> /etc/hosts.allow

Cet exemple n'autorise que 192.168.1.[1-255] 192.168.5.[1-255] à accéder à ce système. À configurer selon votre situation.

  1. Définissez les capacités pour l'utilisateur habituel, exemple (nom d'utilisateur : test) :
root@kitploit:~
# sed -i "/^root/a\test    ALL=(ALL:ALL) ALL" /etc/sudoers 
  1. Définissez les règles de base du pare-feu Définissez les règles de pare-feu correspondantes en fonction des applications utilisées. La communauté HardenedLinux pour les règles de pare-feu de base Debian GNU/Linux :

Règles au format Iptables :

etc.iptables.rules.v4.sh Installez d'abord le paquet iptables-persistent, puis effectuez les opérations suivantes :

root@kitploit:~
$ INTERFACENAME="your network interfacename(Example eth0)"
# bash docs/configurations/etc.iptables.rules.v4.sh $INTERFACENAME

# iptables-save > /etc/iptables/rules.v4 
# ip6tables-save > /etc/iptables/rules.v6 

Règles au format nft :

nftables.conf Effectuez les opérations suivantes (votre nom d'interface réseau, par exemple eth0) :

root@kitploit:~
$ sed -i 's/^define int_if = ens33/define int_if = eth0/g' etc.nftables.conf 
# nft -f ./etc.nftables.conf 
  1. Lorsque toutes les réparations sont terminées. La méthode --final effectuera :
    1. Utilisez la commande passwd pour changer le mot de passe de l'utilisateur normal et root afin d'appliquer la complexité et la robustesse du mot de passe de la configuration du module pam_cracklib.
    2. Aide se réinitialise.
root@kitploit:~
# bin/hardening.sh --final

Note spéciale

Certains éléments de vérification couvrent diverses situations et sont interdépendants ; ils doivent être appliqués (corrigés) plusieurs fois, et l'OS doit être redémarré après chaque application (correction).

Éléments à appliquer après la première application (un redémarrage après est préférable)

8.1.35 Parce que cet élément est défini, les règles d'audit ne seront pas ajoutées.

Éléments à appliquer après que toutes les applications sont correctes

8.4.1
8.4.2
Ils sont tous liés à aide. Il est préférable de corriger tous les éléments après qu'ils aient été corrigés pour fixer l'intégrité de la base de données dans le système.

Éléments qui doivent être corrigés deux fois

4.5

Développement

Obtenir le code source

root@kitploit:~
$ git clone https://github.com/hardenedlinux/harbian-audit.git

Ajouter un script de durcissement personnalisé

root@kitploit:~
$ cp src/skel bin/hardening/99.99_custom_script.sh
$ chmod +x bin/hardening/99.99_custom_script.sh
$ cp src/skel.cfg etc/conf.d/99.99_custom_script.cfg

Codez votre vérification en expliquant ce qu'elle fait, puis si vous voulez tester

root@kitploit:~
$ sed -i "s/status=.+/status=enabled/" etc/conf.d/99.99_custom_script.cfg
$ bash bin/hardening.sh --audit --only 99.99
$ bash bin/hardening.sh --apply --only 99.99

Documentation

Benchmark Harbian-audit pour Debian GNU/Linux 9

Ce document décrit les ajouts aux sections non incluses dans la documentation de référence CIS. Il inclut la documentation de référence STIG et des vérifications supplémentaires recommandées par la communauté HardenedLinux.

CIS Debian GNU/Linux 8 Benchmark v1.0.0
CIS Debian GNU/Linux 9 Benchmark v1.0.0
harbian audit Debian Linux 9 Benchmark

Documentation des opérations manuelles

How to config grub2 password protection
How to persistent iptables rules with debian 9
How to deploy audisp-remote for auditd log
How to migrating from iptables to nftables in debian10
How to persistent nft rules with debian 10
How to fix SELinux access denied

Documentation des cas d'utilisation

Nodejs + redis + mysql demo
deploy-hyperledger-cello-on-debian-9
nginx-mutual-ssl-proxy-http
nginx-mutual-ssl-proxy-tcp-udp

Image conforme harbian-audit

AMI (Amazon Machine Image) publique

Documentation

how to creating and making an AMI public
how to use harbian-audit complianced for GNU/Linux Debian 9

Image QEMU

Documentation

How to creating and making a QEMU image of harbian-audit complianced Debian GNU/Linux 9
How to use QEMU image of harbian-audit complicanced Debian GNU/Linux 9

Licence de harbian-audit

GPL 3.0

Avertissement OVH

Ce projet est un ensemble d'outils. Ils sont destinés à aider l'administrateur système à construire un environnement sécurisé. Bien que nous les utilisions chez OVH pour durcir notre infrastructure conforme PCI-DSS, nous ne pouvons pas garantir qu'ils fonctionneront pour vous. Ils ne sécuriseront pas magiquement n'importe quel hôte.

De plus, citant la licence :

CE LOGICIEL EST FOURNI PAR OVH SAS ET LES CONTRIBUTEURS « EN L'ÉTAT » ET TOUTE GARANTIE EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE ET D'ADÉQUATION À UN USAGE PARTICULIER SONT DÉCLINÉES. EN AUCUN CAS OVH SAS ET LES CONTRIBUTEURS NE SERONT TENUS RESPONSABLES DE TOUT DOMMAGE DIRECT, INDIRECT, ACCESSOIRE, SPÉCIAL, EXEMPLAIRE OU CONSÉCUTIF (Y COMPRIS, MAIS SANS S'Y LIMITER, L'ACQUISITION DE BIENS OU SERVICES DE SUBSTITUTION ; LA PERTE D'UTILISATION, DE DONNÉES OU DE PROFITS ; OU L'INTERRUPTION D'ACTIVITÉ) QUELLE QU'EN SOIT LA CAUSE ET SUR TOUTE THÉORIE DE RESPONSABILITÉ, QUE CE SOIT CONTRACTUELLE, STRICTE OU DÉLICTUELLE (Y COMPRIS LA NÉGLIGENCE OU AUTRE) DÉCOULANT DE L'UTILISATION DE CE LOGICIEL, MÊME SI LA POSSIBILITÉ DE TELS DOMMAGES A ÉTÉ SIGNALÉE.

Licence OVH

3-Clause BSD

Références

  • Center for Internet Security : https://www.cisecurity.org
  • STIG V1R4 : https://iasecontent.disa.mil/stigs/zip/U_Red_Hat_Enterprise_Linux_7_V1R4_STIG.zip
  • Règles de pare-feu : https://github.com/citypw/arsenal-4-sec-testing/blob/master/bt5_firewall/debian_fw