Эта статья посвящена тому, как происходит реагирование на инциденты в системе Linux. Читатели узнают, чем полезна эта практика и как она помогает защитить систему машины, которая подвержена атакам.
Обнаружение любого вторжения в систему является очень важным шагом на пути реагирования на инциденты. Оно довольно обширно, но всегда лучше начинать с малого. Выполняя реагирование на инциденты, пользователю стоит сосредоточиться на подозрительных службах и областях, где, по-видимому, могло произойти нарушение. Используя данную практику, человек может обнаружить большое количество атак на их первых стадиях.
Цель реагирования на инциденты – это не что иное, как цель настоящей криминалистики. Расследование может быть проведено для получения любых цифровых доказательств. Чтобы начать работу с этим чит-листом, стоит запустить Linux на своем компьютере и открыть терминал для выполнения определенных команд.
Что такое реагирование на инциденты?
Реагирование на инциденты может быть обозначено как курс действий, который предпринимается всякий раз, когда происходит инцидент компьютерной или сетевой безопасности. Как специалист по реагированию на инциденты, пользователь всегда знает, что должно и чего не должно присутствовать в его системе.
Инциденты безопасности делятся на несколько групп:
- путем изучения запущенных процессов;
- имея представление о содержимом физической памяти;
- собирая подробную информацию об имени хоста, IP-адресе, операционных системах;
- собирая информацию о системных сервисах;
- путем идентификации всех известных и неизвестных пользователей, вошедших в систему;
- проверяя сетевые подключения, открытые порты и любую другую сетевую активность;
- путем определения различных присутствующих файлов.
Учетная запись пользователя
Специалисту по реагированию на инциденты очень важно исследовать активность учетной записи пользователя. Это поможет ему узнать вошедших пользователей, существующих пользователей, обычные или необычные логины, неудачные попытки входа в систему, разрешения, доступ sudo и т.д. Существуют различные команды для проверки активности учетной записи пользователя.
Чтобы определить, есть ли в системе учетная запись, которая может показаться подозрительной, выполняется следующая команда. Она извлекает всю информацию об учетной записи пользователя. Для этого необходимо ввести следующее:
cat /etc/passwd
Опция ‘Setuid’ в Linux – это уникальное разрешение файла. Таким образом, в системе Linux, когда пользователь хочет изменить пароль, он может запустить команду “passwd”. Поскольку учетная запись root помечена как setuid, человек способен получить временное разрешение.
passwd -S [User_Name]
Grep используется для поиска в обычном тексте строк, соответствующих регулярному выражению.
:0: применяется для отображения файлов ‘UID 0’ в /etc/passwd.
grep :0: /etc/passwd
Чтобы определить, вывести на экран и выяснить, создал ли злоумышленник какого-либо временного пользователя для выполнения его атаки, следует ввести:
find / -nouser -print
Файл /etc /shadow содержит зашифрованный пароль, подробную информацию о других паролях и доступен только пользователям root.
cat /etc/shadow
В файле группы отображается информация о группах, используемых пользователем. Чтобы просмотреть подробные сведения, необходимо ввести следующую команду:
cat /etc/group
Если человек хочет просмотреть информацию о привилегиях пользователей и групп, которые будут отображаться, можно открыть файл /etc/sudoers:
cat /etc/sudoers
Записи журнала
Чтобы просмотреть отчеты о последнем входе в систему конкретного пользователя или всех пользователей в системе Linux, можно ввести следующую команду:
lastlog
Для того чтобы идентифицировать любые интересные логины SSH и telnet или аутентификацию в системе, пользователь может перейти в каталог /var/log/, а затем ввести следующую комбинацию символов:
tail auth.log
Журналы SSH
Журналы Telnet
Чтобы просмотреть историю команд, введенных пользователем, человек способен создать историю с меньшим количеством или даже указать количество команд, введенных последним. Следует использовать следующую команду:
history | less
Ресурсы системы
Системные ресурсы могут многое рассказать пользователю о системном протоколировании, времени безотказной работы системы, объеме памяти и использовании системы и т.д.
Чтобы узнать, работает ли система пользователя Linux сверхурочно или как долго будет функционировать сервер, текущее время в системе, сколько пользователей в данный момент вошли в систему и средние значения загрузки системы, можно ввести следующее:
uptime
Для того чтобы просмотреть использование памяти системой в Linux, активную физическую память и память подкачки в системе, а также буферы, задействованные ядром, человеку нужно ввести следующую команду:
free
В качестве реагирования на инциденты для проверки подробной информации об оперативной памяти, доступном пространстве памяти, буферах и подкачке в системе пользователь может ввести:
cat /proc/meminfo
Во время реагирования на инциденты пользователь несет ответственность за проверку наличия неизвестного монтирования в его системе. Чтобы проверить этот факт, ему следует ввести данную команду:
cat /proc/mounts
Процессы
Как специалист по реагированию на инциденты пользователь всегда должен быть любопытен, когда просматривает выходные данные, генерируемые его системой. Его любопытство должно заставить человека просмотреть программы, которые в настоящее время работают в системе, если они необходимы для запуска и должны ли они быть запущены, а также использование процессора для их осуществления.
Чтобы получить динамическое и визуальное представление в реальном времени обо всех процессах, запущенных в системе Linux, сводку информации о системе и список процессов и их идентификаторов или потоков, управляемых ядром Linux, можно ввести:
top
Нужно также оценить состояние процессов своего Linux, текущей запущенной системы процессов и PID. Для выявления аномальных процессов, которые могут указывать на любую вредоносную активность в системе Linux, можно использовать следующую команду:
ps aux
Для отображения более подробной информации о конкретном процессе можно использовать:
lsof –p [pid]
Службы
Службы в системе Linux можно разделить на системные и сетевые. Системные службы включают статус служб, cron, а сетевые – передачу файлов, разрешение доменных имен, межсетевые экраны. Как специалист по реагированию на инциденты, пользователь должен определять, есть ли какие-либо аномалии в этих службах.
Чтобы найти любые несанкционированно запущенные службы, человек может использовать следующую комбинацию:
service –-status-all
Специалист по реагированию на инциденты должен искать любые подозрительные запланированные задачи и задания. Чтобы обнаружить их, следует ввести следующую команду:
cat /etc/crontab
Чтобы устранить проблемы конфигурации DNS и получить доступ к списку ключевых слов со значениями, которые предоставляют различные типы информации о resolver, необходимо использовать следующее:
more /etc/resolv.conf
Чтобы проверить файл, который переводит имена хостов или доменные имена в IP-адреса, что полезно для тестирования изменений на веб-сайте или установки SSL, следует ввести:
more /etc/hosts
Чтобы проверить и управлять фильтрацией пакетов IPv4 и NAT в системах Linux, пользователь может применить iptables и использовать различные команды, такие как:
iptables -L -n
Файлы
Как специалист по реагированию на инциденты, пользователь должен быть осведомлен о любых аномально выглядящих файлах в его системе.
Чтобы идентифицировать любые чрезмерно большие файлы в системе и их разрешения с их назначением, можно использовать следующую комбинацию:
find /home/ -type f -size +512k -exec ls -lh {} \;
Всякий раз, когда выполняется какая-либо команда, в которой установлен бит SUID, его эффективный UID становится владельцем этого файла. Таким образом, если пользователь желает найти все те файлы, которые содержат бит SUID, то их можно получить, введя команду:
find /etc/ -readable -type f 2>/dev/null
Как специалист по реагированию на инциденты, если пользователь хочет увидеть аномальный файл, который присутствовал в системе в течение 2 дней, он может использовать команду:
find / -mtime -2 -ls
Параметры сети
Как специалист по реагированию на инциденты, человек должен внимательно следить за сетевой активностью и настройками. Чрезвычайно важно определить общую картину системной сети и ее состояния. Для получения информации о сетевой активности можно использовать различные команды.
Чтобы увидеть свои сетевые интерфейсы в системе, пользователь может ввести:
ifconfig
Чтобы перечислить все процессы, которые прослушивают порты PID, пользователю следует использовать:
lsof -i
Для отображения всех прослушивающих портов в сети пользователь введет:
netstat -nap
Для выведения на дисплей системного кэша ARP человек использует следующее:
arp -a
$PATH отображает список каталогов и сообщает Shell, в каких каталогах искать исполняемые файлы, чтобы проверить наличие тех, что находятся по нужному пути, доступном для пользователя.
echo $PATH
Заключение
Следовательно, можно использовать эти команды для проведения реагирования на инциденты и защитить свою систему Linux от чужого вмешательства.
Автор переведенной статьи: Jeenali Kothari.