О чем статья и кому пригодится
Эта шпаргалка — быстрый рабочий инструмент для аналитиков DFIR/Blue Team и администраторов, которым нужно провести первичный live response в Linux: зафиксировать состояние, собрать артефакты, выделить аномалии и подготовить базу для дальнейшей форензики (off‑host анализ образов, таймлайнов и журналов).
Принципы работы аналитика:
минимизируем изменения на целевой системе;
всё, что собираем, хешируем;
фиксируем контекст (версию ОС, локаль/часовой пояс, сетевое окружение);
по возможности работаем из однопользовательской сессии с ограниченными правами, повышая привилегии только точечно.
Готов? Погнали!

1. Быстрый чек-лист live response
Зафиксируйте дату/время и часовой пояс:
bash date -u; timedatectl
Снимите базовые системные метрики и аптайм:
bash uname -a; cat /etc/os-release uptime; who; w free -h; df -hT
Список процессов/служб и аномалий автозапуска:
bash ps auxf --sort=-%mem | head -n 30 systemctl list-units --type=service --state=running systemctl list-timers --all
Сетевые соединения и прослушивание портов:
bash ss -tupan; ip -br a; ip r firewall-cmd --list-all 2>/dev/null || iptables -S
Пользователи, входы, sudo, история логинов:
bash who; last -F | head -n 25; lastlog | head getent passwd | awk -F: '$3>=1000{print $1,$6,$7}' grep -E '^\s*%?wheel|sudo' /etc/sudoers /etc/sudoers.d/* 2>/dev/null for u in $(awk -F: '$3>=1000{print $1}' /etc/passwd); do tail -n 50 /home/$u/.bash_history 2>/dev/null; done
Журналы и аномалии загрузки/авторизации:
bash journalctl -p warning --since "2 days ago" journalctl -u sshd --since "7 days ago" grep -Ei 'fail|error|denied' /var/log/* /var/log/*/* 2>/dev/null | head -n 200
Открытые файлы/сокеты и запущенные из /tmp:
bash lsof -nP | head lsof -nP +L1 # бинарники без ссылок ps aux | grep -E '(^|/)(tmp|\.cache|\.local)/'
SUID/SGID и подозрительные права:
bash find / -xdev -type f -perm -4000 -o -perm -2000 2>/dev/null
Пакеты/обновления и изменения:
bash rpm -qa --last | head -n 30 dnf history | head -n 20
Создайте бандл с артефактами и хешами:
bash ref=/root/ir_$(hostname)_$(date -u +%Y%m%dT%H%M%SZ) mkdir -p "$ref"/{sys,logs,net,users} (uname -a; cat /etc/os-release; date -u) > "$ref/sys/info.txt" cp -a /var/log "$ref/logs/" ss -tupan > "$ref/net/ss.txt"; ip a > "$ref/net/ip_a.txt"; ip r > "$ref/net/routes.txt" ps auxf > "$ref/sys/ps.txt"; systemctl list-units > "$ref/sys/systemd_units.txt" tar -C "$(dirname "$ref")" -czf "$ref.tgz" "$(basename "$ref")" sha256sum "$ref.tgz" > "$ref.tgz.sha256"

2. Системные ресурсы и аптайм
bash uptime; who; w top -b -n1 | head -n 20 free -h; df -hT
Проверяем загрузку CPU/IO, количество пользователей, своп и заполнение томов — всплески / неожиданные пользователи — повод углубиться.
3. Журналы (journald и /var/log)
bash journalctl --no-pager -b # текущая загрузка journalctl -p err..alert --since "24 hours ago" journalctl -u sshd --since "7 days ago" ls -lh /var/log; ls -lh /var/log/secure* /var/log/auth.log* 2>/dev/null
Ищем массовые неудачные logon’ы, перезапуски сервисов, ошибки SELinux и т.п.

4. Пользователи и входы
bash last -F | head -n 30 lastlog | head getent passwd | awk -F: '$3<1000{print "sys:",$1} $3>=1000{print "user:",$1,$6,$7}' grep -E '^\s*%?wheel|sudo' /etc/sudoers /etc/sudoers.d/* 2>/dev/null
Для историй команд:bash for u in $(awk -F: '$3>=1000{print $1}' /etc/passwd); do echo "== $u ==" tail -n 100 /home/$u/.bash_history 2>/dev/null done
5. Процессы и службы
bash ps auxf --sort=-%cpu | head -n 30 systemctl --failed systemctl list-timers --all

6. Сеть и брандмауэр
bash ss -tupan | awk 'NR<50{print}' ip -br a; ip r firewall-cmd --state 2>/dev/null && firewall-cmd --list-all || iptables -S


7. Открытые файлы и дескрипторы
bash lsof -nP | head -n 50 lsof -nP +L1 # запущенные «мёртвые» бинарники (удалённые файлы) fuser -v 22/tcp 2>/dev/null

8. Автозагрузка/планировщики
bash systemctl list-unit-files --type=service | grep enabled systemctl list-timers --all crontab -l ls -la /etc/cron.* /var/spool/cron 2>/dev/null

9. Пакеты/изменения
bash rpm -qa --last | head -n 25 dnf history info last 2>/dev/null || true

10. Права и артефакты файловой системы
bash find / -xdev -type f -perm -4000 -o -perm -2000 2>/dev/null stat -c '%n %A %U:%G %s %y' /etc/passwd /etc/shadow /etc/ssh/sshd_config 2>/dev/null

11. Съём артефактов и таймлайн
Минимальный бандл:bash ref=/root/ir_$(hostname)_$(date -u +%Y%m%dT%H%M%SZ) mkdir -p "$ref"/{sys,logs,net} cp -a /var/log "$ref/logs/" ps auxf > "$ref/sys/ps.txt" ss -tupan > "$ref/net/ss.txt" tar -C "$(dirname "$ref")" -czf "$ref.tgz" "$(basename "$ref")" sha256sum "$ref.tgz" > "$ref.tgz.sha256"
Более продвинутый таймлайн делайте через Plaso (log2timeline) и анализируйте в Timesketch.

12. Память (RAM) и swap
Захват оперативной памяти на проде требует утверждённых процедур (LiME/avml), совместимости ядра и оценки рисков. В большинстве случаев достаточно живых артефактов и журналов.
Для swap:
bash swapon --show; cat /proc/swaps

Важно: минимизируйте изменения на пострадавшем хосте; всё собранное хешируйте; фиксируйте часовой пояс и контекст. По возможности работайте с наименьшими привилегиями.
! Официальные ресурсы и документация !
RHEL 9 Docs: https://access.redhat.com/documentation/en-us/red\\_hatenterpriselinux/9/
CentOS Stream Docs: https://docs.centos.org/
man‑страницы: https://man7.org/linux/man-pages/
systemd/journald: https://www.freedesktop.org/software/systemd/man/latest/
firewalld: https://firewalld.org/documentation/
auditd/auditctl: https://linux.die.net/man/8/auditd , https://linux.die.net/man/8/auditctl
iproute2 (ip/ss): https://wiki.linuxfoundation.org/networking/iproute2
Plaso (log2timeline): https://plaso.readthedocs.io/
Timesketch: https://timesketch.org/
Volatility3 (RAM): https://volatility3.org/
Sleuth Kit & Autopsy: https://www.sleuthkit.org/
NIST SP 800‑61r2 «Computer Security Incident Handling Guide»
NIST SP 800‑86 «Guide to Integrating Forensic Techniques into Incident Response»
Рекомендуемые книги
Brian Carrier — File System Forensic Analysis
Ligh, Case, Levy, Walters — The Art of Memory Forensics
Golden G. Richard III — Practical Forensic Imaging
Tony Campbell — Practical Linux Forensics / Philip Polstra — Linux Forensics (Рекомендую в первую очередь!)
Don Murdoch — Blue Team Handbook: Incident Response & Threat Hunting
Заключение
Ну, что, друг, мы проделали большую работу. Спасибо тебе за то что дочитал до конца!
Шпаргалка не заменяет методологию и инструменты расследования, но позволяет быстро структурировать первичный осмотр Linux‑хоста, зафиксировать ключевые артефакты и понять, куда копать дальше. Под каждую среду (bare‑metal, VM, контейнеры, EDR на хосте) полезно иметь собственный набор команд и «заготовок» экспорта.