Если ты хочешь узнать, кто чем занимался на сервере, не прибегая к сложным средствам аудита - начни с простого: разбор
~/.bash_history. Это быстрый способ получить отчёт об активности пользователей, особенно если логи команд не централизуются.❓ Что можно узнать:
📍Самые часто используемые команды
📍Подозрительные или потенциально опасные действия
📍Время последней активности (если HISTTIMEFORMAT включён)
📍Кто запускал sudo, rm, curl, scp и прочие «чувствительные» команды
🛠 Пример скрипта:
#!/bin/bash
REPORT="/tmp/history_report.txt"
KEY_CMDS="sudo|rm|curl|scp|wget|nc|nmap|python|ssh|dd"
echo "Отчёт об активности пользователей - $(date)" > "$REPORT"
echo >> "$REPORT"
for user_home in /home/*; do
user=$(basename "$user_home")
hist_file="$user_home/.bash_history"
[[ -f "$hist_file" ]] || continue
echo "Пользователь: $user" >> "$REPORT"
echo "— Топ 5 команд:" >> "$REPORT"
grep -v '^#' "$hist_file" | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 5 >> "$REPORT"
echo "— Подозрительные команды:" >> "$REPORT"
grep -E "$KEY_CMDS" "$hist_file" | tail -n 5 >> "$REPORT"
echo >> "$REPORT"
done
cat "$REPORT"
▪️ Проверка root-пользователя:
grep -E "$KEY_CMDS" /root/.bash_history | tail -n 5
А если у вас включён HISTTIMEFORMAT, можно дополнительно привязать команды к датам.
🌟 Этот простой анализ позволяет выявить:
- кто часто использует sudo, rm -rf, dd
- несанкционированную установку пакетов (apt install, curl | bash)
- запуск сетевых туннелей (ssh -R, ngrok, socat)
BashTex 📱 #security