0

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

27.08.2022
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

PostgresSQL-16 + 1C

Для начала, в какой среде будем работать: Наша задача: Предполагается, что Debian на который мы установим как PostgreSQL так и Сервер 1С установлен (Установка по умолчанию). Для начала проверим «локаль»: Как видим

POSTGRESQL 16 + CЕРВЕР 1С X64 И 1С 8.3.24

Для начала, в какой среде будем работать: Наша задача: Предполагается, что Debian на который мы установим как PostgreSQL так и Сервер 1С установлен (Установка по умолчанию). Для начала проверим «локаль»: Как видим

HADOOP

Hабор инструментов для разработки программ и обеспечения среды для их запуска в распределенной среде. Позволяет создавать большие кластеры и упрощает процесс управления ими. Является одним из элементов конвейеров обработки больших данных. Разработан на Java фондом Apache

Обновление mySQL с версии 5.7 до 8.0

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