corrections
This commit is contained in:
@@ -211,7 +211,7 @@ fi
|
||||
ufw allow 22/tcp
|
||||
ufw --force enable
|
||||
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 ---
|
||||
|
||||
@@ -102,21 +102,25 @@ if [ "$ZOMBIES" -gt 0 ]; then
|
||||
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
|
||||
DELETED_DATA=$(sudo lsof +L1 2>/dev/null | tail -n +2)
|
||||
DELETED_COUNT=$(echo -n "$DELETED_DATA" | grep -c '^' || echo 0)
|
||||
# On récupère les données, puis on exclut les processus du script lui-même
|
||||
# On exclut aussi souvent 'systemd-j' (journal) car il gère ses propres rotations
|
||||
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 extrait les noms des commandes uniques pour le rapport (ex: systemd-j, apache2)
|
||||
PROCESS_NAMES=$(echo "$DELETED_DATA" | awk '{print $1}' | sort -u | tr '\n' ' ')
|
||||
# On compte proprement les lignes
|
||||
DELETED_COUNT=$(echo "$DELETED_DATA" | grep -v '^$' | wc -l)
|
||||
|
||||
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)"
|
||||
ALERT=true
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------
|
||||
# 9. CONNEXIONS RÉSEAU
|
||||
# ------------------------------------------------
|
||||
@@ -127,16 +131,23 @@ if [ "$CONN_COUNT" -gt "$CONN_THRESHOLD" ]; then
|
||||
ALERT=true
|
||||
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
|
||||
fi
|
||||
|
||||
|
||||
# ------------------------------------------------
|
||||
# ENVOI MAIL
|
||||
# ------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user