corrections

This commit is contained in:
2026-03-07 15:12:47 +01:00
parent 45400c190c
commit 5e2b2be4ef
2 changed files with 25 additions and 14 deletions

View File

@@ -211,7 +211,7 @@ fi
ufw allow 22/tcp ufw allow 22/tcp
ufw --force enable ufw --force enable
systemctl restart fail2ban systemctl restart fail2ban
(crontab -l 2>/dev/null | grep -v "sys_check.sh" ; echo "0 * * * * /usr/local/bin/sys_check.sh") | crontab - (crontab -l 2>/dev/null | grep -v "sys_check.sh" ; echo "04 * * * * /usr/local/bin/sys_check.sh") | crontab -
# --- 9. RAPPORT FINAL --- # --- 9. RAPPORT FINAL ---

View File

@@ -102,21 +102,25 @@ if [ "$ZOMBIES" -gt 0 ]; then
fi fi
# ------------------------------------------------ # ------------------------------------------------
# 8. FICHIERS SUPPRIMÉS MAIS OUVERTS # 8. FICHIERS SUPPRIMÉS MAIS OUVERTS (Filtré)
# ------------------------------------------------ # ------------------------------------------------
# On utilise tail -n +2 pour ignorer la ligne d'en-tête de lsof # On récupère les données, puis on exclut les processus du script lui-même
DELETED_DATA=$(sudo lsof +L1 2>/dev/null | tail -n +2) # On exclut aussi souvent 'systemd-j' (journal) car il gère ses propres rotations
DELETED_COUNT=$(echo -n "$DELETED_DATA" | grep -c '^' || echo 0) DELETED_DATA=$(sudo lsof +L1 2>/dev/null | tail -n +2 | grep -Ev "lsof|tail|cron|sh|systemd-j|sys_check")
if [ "$DELETED_COUNT" -gt 0 ]; then # On compte proprement les lignes
# On extrait les noms des commandes uniques pour le rapport (ex: systemd-j, apache2) DELETED_COUNT=$(echo "$DELETED_DATA" | grep -v '^$' | wc -l)
PROCESS_NAMES=$(echo "$DELETED_DATA" | awk '{print $1}' | sort -u | tr '\n' ' ')
if (( DELETED_COUNT > 0 )); then
# On extrait les noms des commandes uniques pour le rapport
PROCESS_NAMES=$(echo "$DELETED_DATA" | awk '{print $1}' | sort -u | xargs)
add_to_report "📂 FICHIERS SUPPRIMÉS MAIS OUVERTS : $DELETED_COUNT (Processus : $PROCESS_NAMES)" add_to_report "📂 FICHIERS SUPPRIMÉS MAIS OUVERTS : $DELETED_COUNT (Processus : $PROCESS_NAMES)"
ALERT=true ALERT=true
fi fi
# ------------------------------------------------ # ------------------------------------------------
# 9. CONNEXIONS RÉSEAU # 9. CONNEXIONS RÉSEAU
# ------------------------------------------------ # ------------------------------------------------
@@ -127,16 +131,23 @@ if [ "$CONN_COUNT" -gt "$CONN_THRESHOLD" ]; then
ALERT=true ALERT=true
fi fi
# ------------------------------------------------
# 10. ERREURS RÉCENTES DANS LES LOGS
# ------------------------------------------------
LOG_ERRORS=$(journalctl -p 3 -n 20 --no-pager | wc -l)
if [ "$LOG_ERRORS" -gt 0 ]; then # ------------------------------------------------
add_to_report "ERREURS CRITIQUES DANS LES LOGS : $LOG_ERRORS\n" # 10. ERREURS CRITIQUES (Dernière heure)
# ------------------------------------------------
# On filtre par priorité 3 (Error) ou moins, depuis 1 heure
LOG_CONTENT=$(journalctl -p 3 --since "1 hour ago" --no-pager --quiet)
# On compte le nombre de lignes réelles
LOG_COUNT=$(echo "$LOG_CONTENT" | grep -v '^--' | grep -v '^$' | wc -l)
if (( LOG_COUNT > 0 )); then
add_to_report "📑 ERREURS CRITIQUES (Dernière heure : $LOG_COUNT) :"
add_to_report "$(echo "$LOG_CONTENT" | tail -n 15 | sed 's/^/ /')"
ALERT=true ALERT=true
fi fi
# ------------------------------------------------ # ------------------------------------------------
# ENVOI MAIL # ENVOI MAIL
# ------------------------------------------------ # ------------------------------------------------