2026-04-20 15:51:20 +02:00
2026-04-20 15:51:20 +02:00

Audit SUID GUID Linux

Version Shell

Installation

Copier audit-suid.sh

Exemple:

cp audit-suid.sh /usr/local/bin/audit-suid.sh
chmod +x /usr/local/bin/audit-suid.sh

Exécution

# Exécuter avec les droits root
sudo /usr/local/bin/audit-suid.sh

Planification avec cron

# Audit quotidien à 2h du matin
sudo crontab -e
# Ajouter la ligne :
0 2 * * * /usr/local/bin/audit-suid.sh

Personalisation

Modifier le fichier /etc/audit/suid_whitelist.conf pour ajouter vos propres binaires légitimes.

Ce script vous aidera à maintenir la sécurité de vos serveurs Linux en identifiant rapidement les risques potentiels liés aux permissions SUID/SGID.

Version Python

Installation

Copier audit-suid.py

Exemple:

# Sauvegarde du script
sudo mkdir -p /usr/local/bin/
sudo cp suid_audit.py /usr/local/bin/audit-suid.py
sudo chmod +x /usr/local/bin/audit-suid.py
# Création des répertoires
sudo mkdir -p /etc/audit /var/log/audit

Utilisation

# Exécution simple
sudo python3 audit-suid.py

# Avec options
sudo python3 audit-suid.py --max-depth 15 --no-temp

# Aide
python3 audit-suid.py --help

# Exécution avec droits root (obligatoire)
sudo /usr/local/bin/audit-suid.py

Options disponibles

Option Description

  • --no-temp: Ne pas vérifier /tmp, /var/tmp, /dev/shm
  • --no-orphan: Ne pas vérifier les fichiers orphelins
  • --no-hash: Ne pas calculer les hashs MD5 (plus rapide)
  • --max-depth N: Profondeur maximale de recherche (défaut: 20)
  • --log-dir PATH: Répertoire des logs (défaut: /var/log/audit)
  • --whitelist PATH: Fichier JSON de whitelist

Cron

# Éditer crontab
sudo crontab -e

# Ajouter pour une exécution quotidienne à 2h
0 2 * * * /usr/local/bin/audit-suid.py --no-hash

# Exécution hebdomadaire avec tous les contrôles
0 3 * * 0 /usr/local/bin/audit-suid.py 

Format du fichier de whitelist (JSON)

{
    "SUID": [
        "/bin/su",
        "/usr/bin/sudo",
        "/usr/bin/passwd"
    ],
    "SGID": [
        "/usr/bin/wall",
        "/usr/bin/write"
    ]
}
Description
No description provided
Readme 46 KiB
Languages
Python 69.8%
Shell 30.2%