Я установил довольно простой сервер и попытался сделать его безопасным, используя некоторые инструменты и некоторые рекомендации, которые, на мой взгляд, не так уж плохи.
Я использовал AIDE, который является быстрой реализацией системы обнаружения вторжений. Я выполняю ежедневную проверку, которая отправляет мне по электронной почте результаты несоответствия уровня файловой системы между замороженным состоянием системы, базой данных и текущим состоянием системы. Отлично работает.
Далее я предполагаю, что база данных AIDE размещена на устройстве только для чтения, например на USB-накопителе с блокировкой записи.
А теперь несколько сценариев, которые я придумал. Злоумышленник каким-то образом входит в систему и замечает, что в системе работает AIDE. У этого умного парня уже есть хороший инструмент, который заменяет исполняемый файл AIDE, так что его работа не показывается мне по почте, но обычные системные изменения, такие как изменения файла журнала. Должно быть выполнимо. Или просто он меняет конфигурацию AIDE, чтобы его изменения были исключены из проверки.
Учитывая это, я рассматриваю AIDE только как некое бремя, с которым должен иметь дело злоумышленник, но фактически не причиняет ему большого вреда.
Я ошибся?
Защищает ли AIDE мою систему только от злоумышленников, у которых нет нужного количества разрешений в системе?
Есть ли смысл проводить проверку чаще, чем один раз в день?
(Помните, что это большой объем дискового ввода-вывода)
Я ошибся?
Ваш анализ верен, но, думаю, здесь есть нюанс.
Есть ли смысл проводить проверку чаще, чем один раз в день?
Частота проверки определяет степень детализации обнаружения изменений. Чаще == обнаруживать изменения быстрее, но какое время для вас важно? В моей собственной работе ежедневно это нормально, но реже использую, когда в системе много диска для сканирования.
Защищает ли AIDE мою систему только от злоумышленников, у которых нет нужного количества разрешений в системе?
Это важный вопрос.
Прежде всего, признайте, что это всего лишь детективный контроль. Он ничего не исправляет, он только предупреждает, что что-то не так. Предоставляемая им «защита» подвержена ложным срабатываниям и ложным отрицательным результатам - либо она предупреждает об изменениях, которые вам не нужны (что является проблемой настройки и может быть решена другими способами), либо не предупреждает вас об этом. изменение, которое вас волнует, обычно потому, что оно не может его увидеть [потому что инструмент был изменен или база данных была изменена] или потому что изменение было разработано так, чтобы оно не было видимым для инструмента (например, они умело разработали изменение с тот же размер и хеш). В дальнейшем я проигнорирую эту последнюю возможность, поскольку обычно это также проблема настройки.
Вернемся к вопросу. Что может делать AIDE, так это сканировать систему на предмет изменений. Я думаю, многие люди используют его с БД и механизмом сканирования на самом хосте, и это позволяет без особых усилий идентифицировать изменения. Это полезно в том случае, если агент изменений не знает или не имеет разрешений на изменение двоичного файла и базы данных AIDE. На самом деле это довольно распространенный случай, и он действительно полезен в 99% случаев, когда у вас нет APT с ресурсами национального государства. Отправьте по почте отчет об изменениях и, возможно, даже сбросьте базу данных, чтобы не сообщать об изменениях дважды. Жизнь хороша.
Как вы указываете, если злонамеренный агент изменений имеет доступ к двоичному файлу AIDE и / или базе данных и / или библиотекам, которые открывают файлы с диска (т.е. AIDE открывает файл, а библиотека говорит: «Нет изменений, сэр!») независимо от того, как выглядит диск) вам тоже не повезло. Есть кое-что, что вы можете сделать в таком сценарии APT. Например, у многих людей база данных на носителе с однократной записью хранится в автономном режиме, и они монтируют двоичные файлы AIDE, БД и тому подобное только во время окна обслуживания. Еще лучший подход: клонировать реальный диск с помощью механизма, который не виден ОС, и загружать систему с отдельного хоста с золотой копией, где хранятся двоичные файлы AIDE, БД и библиотеки доступа к диску; смонтируйте диск, а затем запустите отчет по этой клонированной копии. Я подозреваю, что, вероятно, все еще существуют сценарии, которые могут вызвать ложноотрицательные результаты, но я не вижу ни одного навскидку.
Все зависит от того, сколько работы вы готовы выполнять, учитывая, что это всего лишь детективный контроль. Кто твой противник? Сколько у тебя денег? Какое влияние оказывает нарушение целостности? Есть ли другие подходы?
AIDE - невероятно полезный инструмент. Я написал другие инструменты для этого. Но это не совершенство.