Я отвечаю за аудит конфигурации безопасности важной фермы серверов Unix. Пока что я придумал способ оценить базовую конфигурацию, но не установленные обновления.
Сама проблема здесь в том, что я просто не могу доверять инструментам управления пакетами на этой машине. Действительно, некоторые из них долгое время не синхронизировались с репозиторием (например, я не могу выполнить «yum check-updates» на Redhat). Некоторые из этих серверов даже не подключены к Интернету и используют репозиторий компании.
Другая проблема заключается в том, что у меня несколько целевых систем: AIX, Debian, Centos / Redhat и т. Д. Таким образом, версия может быть другой (AIX), и доступные инструменты будут другими.
И, наконец, что не менее важно, я не могу ничего установить в целевой системе. Поэтому мне нужно использовать сценарий для получения информации и либо: обработать его напрямую, либо сохранить информацию, чтобы иметь возможность обрабатывать ее позже на сервере (что может случиться, чтобы запустить другой дистрибутив, чем тот, на котором информация была получена ).
Лучшие идеи, которые я мог придумать, были:
либо получить список установленных пакетов на машине (dpkg -l, например, в debian), и обработать его на выделенном сервере (непосредственно анализируя файл «Packages» репозиториев debian). Тем не менее, проблема остается той же для AIX и Redhat ...
или используйте сценарии Nessus для оценки уязвимости установленных пакетов, но я считаю это немного грязным.
Кто-нибудь знает лучший / эффективный способ сделать это?
P.S: Я уже нашел время, чтобы просмотреть некоторые ответы на похожие проблемы. К сожалению Повар, марионетка, ... не соответствуют требованиям, которым я должен соответствовать.
Изменить: Короче говоря. Мне нужен список недостающих обновлений в системе Unix, как и в MBSA в Windows. У меня нет прав на установку чего-либо в этой системе, так как это не моя. Все, что у меня есть, - это языки сценариев.
Спасибо.
Обычно существует какая-то служба кеширования прокси, действующая как посредник между вышестоящими репозиториями и целевыми машинами. Это помогает экономить полосу пропускания и ускоряет развертывание в мире RHEL / CentOS, что было бы spacewalk
, в Debian и производных debmirror
а в мире AIX, возможно, сервер NIM.
Учитывая отсутствие ruby для AIX (хотя некоторые порты все же существуют), соответствующее управление конфигурацией для вашей среды будет cfengine
. Если это кажется излишним, вы также можете попробовать ansible
, что требует только python
. И есть pyhton
даже для AIX.
Также часто и даже ожидается, что версии, названия сервисов, названия пакетов и т. Д. Различаются от платформы к платформе. Вам нужно разобраться с разделением данных и кода. Если зрелая система управления конфигурацией не соответствует вашим требованиям, я серьезно сомневаюсь, что подойдет куча самодельных скриптов.
Третье требование: «Я ничего не могу установить в целевой системе ...» не совсем понятно и, похоже, противоречит тому факту, что вы используете частные репозитории.
И последнее, но не менее важное: управление пакетами - это только 1% задач, которые вам необходимо выполнить для защиты и аудита ваших систем.