0

Как быстро разобраться в Debian/Ubuntu если вы видите систему первый раз.

debian-audit-000.png

Достаточно часто встречаются ситуации, когда нужно быстро разобраться что установлено и как настроено в рабочем сервере на Debian или Ubuntu который вы видите первый раз. Скажем вы принимаете на обслуживание нового клиента и вам надо быстро оценить объем услуг или вас попросили выполнить какую-то работу на неизвестной вам ранее системе. Народная мудрость гласит: не зная броду, не суйся в воду. Это, безусловно, правильно, не имея полного представления об устройстве системы, можно ненароком получить очень неожиданный результат…

Конечно же, на этом этапе не требуется досконального изучения системы, но крайне желательно иметь представление о том, какие именно службы установлены и какие настройки были выполнены. Это позволит избежать ситуаций, когда вы по незнанию нарушите работу какой-либо службы и узнаете об этом, только по факту, от недовольных пользователей.

К счастью, есть несколько простых инструментов, которые позволяют быстро провести экспресс-аудит системы и составить общее представление об ее устройстве о которых мы и хотим вам рассказать.

Прежде всего следует установить утилиту debsums, которая позволит сравнить контрольные суммы системных и конфигурационных файлов с эталонными. Это позволит быстро понять в какие конфиги вносились правки, а если выявится несовпадение контрольных сумм бинарных файлов или библиотек, то это может указывать, что система взломана и содержит вредоносное ПО, хотя есть вариант, что данные файлы были пересобраны или пропатчены вручную вполне легально. Но в любом случае это повод к проведению подробного расследования, которое выходит за рамки данной статьи.

Для установки утилиты выполните:

apt install debsums

Если запустить ее без параметров, то вы получите отчет по каждому файлу в системе и его информативность будет очень низкой. Поэтому следует использовать запуск с ключами, нас интересуют все измененные файлы, поэтому запустим:

debsums -ca

В выводе вы получите список всех измененных системных файлов, например, так:

Что мы можем из него почерпнуть? Достаточно много: мы уже видим, что в системе установлены и настроены fail2ban и vsftpd, также изменены настройки для sudo и установлен openvpn (система сообщает об отсутствующем архиве, который был нами распакован).

Никакие библиотеки и бинарники изменены не были, что означает, что система находится в целостном состоянии и переживать о возможной компрометации пока не стоит.

Следующим шагом следует установить все файлы, которые попали в систему в обход пакетного менеджера: были созданы после установки, установлены из иных источников, пользовательские данные. Для этого установим еще одну утилиту cruft:

apt install cruft

Первый запуск выполним без параметров, но укажем создать файл отчета, так как информации может быть очень много:

cruft -r ~/cruft-report.txt

После чего откроем полученный файл (в домашней директории) и внимательно изучим его, ниже приведен его фрагмент:

Уже из него становится понятно, что в системе установлен docker и postgres-pro, мы советуем сразу отметить понятные директории и службы, чтобы в дальнейшем отбросить их. Действительно, зачем листать строки файла, если мы уже поняли для чего здесь эти службы и что они делают.

Поэтому запустим утилиту еще раз с ключами –ignore, которые исключают из вывода содержимое указанных директорий, в нашем случае получилось следующее:

cruft --ignore /boot --ignore /sys --ignore /home/kroft --ignore /var/lib/pgpro -r ~/cruft-report.txt

Что мы исключили? Загрузчик (/boot) который сформирован при установке системы и виртуальная файловая система с модулями ядра и драйверами (/sys), домашняя папка пользователя (/home/kroft), директории PostgreSQL (/var/lib/pgpro), их содержимое и происхождение нам понятно и вопросов более не вызывает.

Изучаем отчет еще раз.

В приведенном фрагменте видны файлы настройки и ключи openvpn, а также факт установки сервера 1С:Предприятие. В дальнейшем можно снова сузить объем отчета, исключив понятные расположения и служебные директории. А также сразу выявить файлы конфигурации, которые следует изучить перед тем, как приступать к каким-либо работам.

Также изучение данного отчета поможет выявить наличие пользовательских данных или скриптов в разных неожиданных местах и избежать возможных нештатных ситуаций с ними связанных. Так в одном случае мы обнаружили собранный из исходников nginx по очень неожиданному пути, при дальнейшем изучении выяснилось, что он в текущей конфигурации не использовался, но слушал внешний интерфейс на нестандартном порту. А учитывая его очень старую версию, это могло стать серьезной угрозой безопасности.

Облачная платформа

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

ci/cd
Previous Story

Что такое CI/CD?

Next Story

Подключить сетевой диск Windows в Linux

Latest from Blog

Проброс портов в роутере MikroTik 2

Проброс портов в роутере MikroTik (port forwarding) позволяет организовать удаленный доступ из интернета к какому-нибудь устройству внутри вашей локальной сети (к IP-камере, Web, FTP или игровому серверу). В данной статье мы рассмотрим пример, как

How to set up WireGuard Client on Debian?

WireGuard is an extremely simple yet fast and modern VPN. Setting up the WireGuard VPN client on Debian is straightforward. In this tutorial, we will set up WireGuard VPN client on Debian
Go toTop