Руководство по приоритету пакетов для аудита

При выполнении аудита выпуска Debian одной из наиважнейших проблем является выбор того, какие пакеты следует проверить.

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

В качестве простого набора правил для определения тех пакетов, которые желательно исследовать в первую очередь, может использоваться следующий список:

  1. Всякий двоичный файл, с установленным setuid или setgid.
  2. Всё, что предоставляет сервис через сети.
  3. Все доступные удалённо CGI/PHP сценарии.
  4. Всё, что содержит задачу cron или другой автоматизированный сценарий, выполняемый с правами root.

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

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

В частности, обратите внимание на пакеты, отсортированные по голосам. Список по голосам ранжирует пакеты по тому, как часто они используются людьми, участвующими в исследовании.

Если пакет является важным с точки зрения безопасности, особенно если он отвечает одному из приведённых выше критериев, и он популярен (согласно исследованию на подобие уже приведённого), то он определённо является кандидатом для проверки.

Двоичные файлы с setuid и setgid

Двоичные файлы с setuid и setgid являются традиционными целями аудита безопасности, поскольку компрометирование уязвимого двоичного файла, с выставленными правами setuid или setgid, может привести к тому, что локальный пользователь получит доступ к правам, которыми он не должен обладать.

Для облегчения поиска существует список всех двоичных файлов с setuid и setgid, содержащихся в текущем стабильном выпуске.

При сортировке этих двоичных файлов для проверки важно помнить, что некоторые из них более чувствительны к проблемам безопасности, чем другие. Двоичные файлы с setuid(root) должны проверяться раньше, чем двоичные файлы с setgid(games) или, к примеру, с setuid(bugs).

Сетевые серверы

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

Удалённые риски обычно намного более существенны, чем локальные риски.

Online сценарии

Online сценарии, в особенности CGI-сценарии, в действительности находятся в том же классе сетевых серверов — хотя ваш веб-сервер сам по себе может быть безопасен, сценарии, которые выполняются на нём, так же важны.

Ошибка в сценарии, который доступен по сети, является такой же серьезной ошибкой в сервере, прослушивающем соединения — оба равным образом могут позволить компрометировать вашу машину.

Задачи cron и системные службы

Хотя автоматических сценариев, задач cron и проч. не так много, стоит проверять те, что включены в содержимое пакетов.

Множество вспомогательных программ выполняются по умолчанию с правами root для очистки файлов журналов и проч.

Успешное использование symlink-атаки может привести к тому, что локальная машина будет компрометирована.