Посмотрел запись шикарного выступления на тему информационной безопасности:
Очень люблю такой формат, где много примеров и конкретики. Прям всё выступление это примеры из практики. Постарался законспектировать самую суть, чтобы можно было сохранить и вынести для себя пользу. Рекомендую выступление посмотреть, а мою заметку сохранить как шпаргалку. Без просмотра видео от шпаргалки будет не так много пользы. Я зафиксировал авторские синтаксис и пояснения из выступления.
Автор рассказывает про 10 команд для анализа системы в режиме реального времени, которыми пользуется:
◽️ ps auxwf
- список процессов с дополнительной информацией в древовидном представлении
◽️ ss -tupln
и netstat -plunto
- открытые порты (plunto - имя героя из мультика с микки маусом)
◽️ last -Faiwx
- список логинов пользователей
◽️ tail /var/log/<file>
и cat ~/.bash_history
- просмотр различных системных логов
◽️ ls -lta
- список файлов, отсортированный по времени изменения
◽️ lsof -V
- открытые в настоящий момент файлы
◽️ find / -mtime -2 -ls
- все файлы, изменённые за последние 2 дня
◽️ stat
|| statx
|| istat
- различные команды для получения информации о файловой системе
📌 ТОП 10 системных артефактов, которые проверяем при взломах:
▪️SYSTEM INFO:
◽️/proc/version, /etc/release, /etc/localtime - информация о системе, времени
◽️/proc/mounts, /etc/mtab - монтирование файловых систем
◽️/etc/network/interfaces, /var/lib/NetworkManager/*.lease, /var/lib/dhcp/*.lease, /etc/sysconfig/network-scripts/ifcfg-*, /etc/sysconfig/iptables - сеть, маршруты
◽️/proc/[PID]/cmdline - процессы
▪️LOGS в /var/log:
◽️auth.log, secure.log - аутентификации пользователей
◽️lastlog - последний логин пользователей
◽️btmp - неудачные попытки логина
◽️wtmp - записи о каждом логине, логауте
◽️cron - планировщик cron
◽️dpkg, apt/history.log - установка/удаление пакетов
◽️audit/audit.log - логи аудита, если запущен
▪️SHELL HISTORY
~/bash_history, ~/.history, ~/sh_history, ~/.*_history - история команд оболочки, обязательно настраиваем у всех HISTTIMEFORMAT.
▪️FILE SYSTEM
Ищем изменённые, скрытые, большие файлы, символьные ссылки, расширенные разрешения, setuidfind / -xdev -print0 | xargs -0 stat -- printf="%i,%h,%n,%x,%y,%z,%w,%U,%G,%A,%s\n" 2>/dev/null
find "${MOUNTPOINT}" -xdev -print0 | xargs -0 -c "%Y %X %Z %A %U %G %n" >> timestamps.dat
▪️USER ACCOUNTS
/etc/passwd, /etc/shadow, /etc/group, /etc/sudoers, /etc/sudoers.d/*, /etc/profile, /etc/profile.d/*, /etc/bash.bashrc
▪️PUBLIC FACING APP
Публичные приложения, запущенные на сервере: apache, nginx и т.д. Смотрим архитектуру, логи, рабочие директории, версию, уязвимости и т.д.
▪️PERSIST
Места, где злоумышленник или вирус может закрепиться:
/etc/cron/, /var/spool/cron/, /var/spool/anacron, /etc/crontab, /etc/at, /etc/inittab, /etc/init.d/etc/rd[0-6].d/, /etc/rc.boot/, /etc/init.conf, /etc/init, /lib/systemd/system/*, /etc/systemd/system/*
Основное внимание - cron и службы.
▪️CONFIG
Все конфигурации в /etc/
▪️APPLICATION DATA
~/.config, ~/.cache, ~/.local и т.д.
▪️TMP
/tmp, /var/tmp, /dev/shm, /var/run, /var/spool
Это конспект примерно половины выступления. Дальше в основном теория на тему того, как надо защищать сервера и анализировать подозрительную активность и ответы на вопросы. В вопросах дополнили:
- Проверяем файлы в системе на соответствие того, что было установлено из пакетов
- Проверяем реальные сетевые интерфейсы через команду ip, так как не всё может быть отражено в конфигурационных файлах
✅ Отдельно привожу ссылку на свою недавнюю публикацию, где я собрал в похожий список все действия на основе своего опыта, которые имеет смысл выполнить, если у вас есть подозрение на то, что ваш сервер скомпрометировали.
#security
>>Click here to continue<<
