Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Безопасность работы с системой Linux

Сканер сетевой безопасности OpenVAS

Оригинал: Security scans with OpenVAS
Автор: Federico Kereki
Дата: 9 октября 2008
Перевод: Александр Тарасов aka oioki
Дата перевода: 29 октября 2008

Безопасность - важнейший момент любой сети, и с появлением все новых видов угроз и атак, сетевому администратору все сложнее поддерживать ее в рабочем состоянии. Так что необходимо, во-первых, автоматизировать проверки безопасности, а во-вторых чтобы они были в актуальном состоянии, чтобы можно было противодействовать новейшим изобретенным атакам. Open Vulnerability Assessment System (OpenVAS) - это сканер сетевой безопасности, состоящий из центрального сервера и графической оболочки. Сервер позволяет запускать несколько проверок уязвимости в сети (NVT), написанных на языке Nessus Attack Scripting Language (NASL), который часто обновляется разработчиками OpenVAS.

OpenVAS - это ответвление версии 2.2 классического сканера Nessus. Около трех лет назад Nessus отошел от лицензии GPL, и версия 3.0 была уже коммерческой. Саму программу можно скачать бесплатно, однако свежие обновления NVT и другие полезности можно получить лишь за деньги (однако некоторые ограничения были сняты для домашнего использования). В июле был выпущен OpenVAS версии 1.0, основанный на версии Nessus 2.2, с некоторыми улучшениями. Код этого проекта распространяется полностью по лицензии GPL.

Установка системы

OpenVAS имеет архитектуру сервер/клиент, включающую в себя несколько компонентов. На серверной части (может работать только под управлением Linux) понадобится четыре пакета:

  • OpenVAS-Server: Базовая функциональность сканирования
  • OpenVAS-Plugins: Набор NVT
  • OpenVAS-LibNASL и OpenVAS-Libraries: Необходимо для серверных функций

На клиентской части (Linux или Windows) понадобится только OpenVAS-Client.

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

install openvas-server openvas-manual openvas-plugins openvas-libraries openvas-client

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

Итак, пакеты установлены. Однако рано запускать проверки - еще необходимо выполнить несколько команд от имени администратора root. Во-первых, нужно создать сертификат, чтобы весь обмен между сервером и клиентами был скрыт от посторонних глаз, это делается с помощью команды openvas-mkcert. Сертификаты работают лишь некоторое время, по истечении срока необходимо будет пересоздать их.

Далее, нужно открыть порт 1241 на файрволле, так чтобы клиенты смогли подсоединиться к серверу. Затем добавьте пользователей - задайте логин, укажите метод аутентификации (по паролю или по сертификату) и правила доступа. Правила могут быть следующих видов: accept ip/mask (к примеру, принимать соединения из подсети - accept 192.168.0.229/24), deny ip/mask, default accept и default deny. Первые два правила указывают, какие IP-адреса нужно будет сканировать; специальный макропараметр client_ip означает IP-адрес вошедшего в систему пользователя. Последние два правила определяют поведение системы по умолчанию; если пользователь хочет просканировать адрес, который не попадает под указанные выше правила accept и deny, тогда применяется политика по умолчанию (default). К примеру, если указано только одно правило default accept, тогда пользователь сможет просканировать любую машину; комбинация accept client_ip и default deny означает, что пользователь сможет просканировать только ту машину, с которой он сам зашел.

OpenVAS хранит конфигурации пользователей в каталоге /var/lib/openvas/users/, у каждого пользователя есть свой каталог, поэтому можно применять отдельные правила для каждого пользователя. Остальная серверная конфигурация хранится в файле /etc/openvas/openvasd.conf, для большинства администраторов сгодятся настройки по умолчанию. Конфигурационный файл хорошо откомментирован, и внести свои изменения будет несложно.

Итак, важная часть: запуск тестов. Чтобы проверки безопасности были актуальными, нужно иметь свежие NVT. Для их обновления необходимо периодически запускать на сервере программу openvas-nvt-sync. Она основана на утилитах rsync и md5sum, которые необходимо установить вручную. Как добавлять новые NVT-источники и сертификаты, написано в онлайн-документации.

После обновления NVT можно запускать сервер, просто отдайте команду openvasd -D. После этого можно будет осуществлять проверки с клиентов.

Где взять NVT

В комплекте OpenVAS идет один источник с более чем 5 тысячами NVT, однако можно подключить и другие источники. Посмотрите внутрь скрипта /usr/sbin/openvas-nvt-sync, в нем должна быть строка вида

FEED=rsync://rsync.openvas.org:/nvt-feed

Измените ее на какую-нибудь свою. Например, стоит взглянуть на источник AlienVault. Можно также пользоваться бесплатным источником Nessus, для этого нужно зарегистрироваться, однако минусом является то, что новые проверки для таких "неплатящих" пользователей намеренно даются с недельной задержкой.

Запуск проверок

Для запуска клиента командуйте OpenVAS-Client; обратите внимание на заглавные буквы (в openSUSE программу клиента можно будет найти в главном меню: Utilities -> Security; в зависимости от дистрибутива этот путь меняется). Главное окно программы разделено на две части: слева в древовидном списке имеется список задач, области действия и отчеты; справа расположено несколько вкладок, позволяющих вам гибко настраивать проверки безопасности. При первом запуске клиента слева будет лишь одна запись: Global Settings - это глобальные настройки по умолчанию. Для изменения параметров необходимо подключиться к серверу.

Для запуска проверки необходимо определить задачу. Нажмите на кнопке New Task на панели инструментов, выберите подходящее название для задачи (к примеру, Проверить главный сервер), во вкладке Comments справа можно описать задачу более подробно, для себя.

Теперь добавим область действия - это всего лишь сложное название для общей конфигурации задачи. Выберите в главном меню Scope -> New. Для вашей задачи появится пустая область, а рядом с названием задачи появится значок "неподключен". Нажмите кнопку "подключение" на панели инструментов, укажите, к какому серверу хотите подключиться и введите логин с паролем. У вас появится несколько диалоговых окон (так будет только в первый раз), предупреждающих вас об обмене сертифкатами, и клиент займется скачиванием всех NVT с сервера.

Если вам нужно выполнить быструю стандартную проверку, нажмите на кнопке Execute на панели инструментов (или выберите Scope -> Execute из главного меню), и OpenVAS запустит все имеющиеся проверки. По завершении работы под записью области действия появится строка отчета, в котором можно посмотреть подробности сканирования. Каждая найденная проблема имеет свой собственный номер Common Vulnerabilities and Exposures (CVE), к примеру CVE-2008-1238; описание всех CVE можно найти на сайте CVE или в базе данных National Vulnerability Database. В отчете также могут быть указаны дополнительные сведения, такие как предполагаемые пути решения проблем и оценка опасности найденных уязвимостей (низкая, средняя или высокая).

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

  • Какие хосты "атаковать"
  • Какие порты сканировать. Здесь можно ввести список портов, разделенных запятыми (25,80,1000-1023), либо значение -1 (что означает отсутствие любых проверок), либо значение default (будет применено то, что задано в глобальных настройках).
  • Сколько хостов и сколько проверок будет производиться одновременно; на каждый хост и каждую проверку будет создан свой процесс.
  • Производить только безвредные проверки или нет. Есть такие проверки, которые могут нарушить работу некоторых служб, так вот OpenVAS можно указать не производить такие проверки.
  • Какие плагины задействовать, и их тонкая настройка (у некоторых этих настроек может быть довольно много). Плагины группируются в "families", потенциально вредные проверки отмечены специальным значком.

OpenVAS может выводить отчет в форматах HTML (там даже будет графика), LaTeX или PDF (вывод в последний формат возможен только при использовании несвободной программы HTMLDOC).

Хотя коммерческий Nessus предоставляет больше разных проверок, однако и OpenVAS может найти своего администратора. Все равно - стоит его попробовать.