Содержание статьи
Обеспечение безопасности в условиях современных компьютерных сетей, имеющих
большое количество разнородных по своему составу хостов и операционок, требует
достаточно больших усилий. Уследить за всеми событиями становится все труднее.
Системы управления уязвимостями позволяют максимально автоматизировать процесс
контроля за сетью с выдачей рекомендаций по устранению проблем.
Перед тем как начать обзор, скажем несколько слов о назначении систем
управления уязвимостями (Vulnerability Management). Чем они
отличаются от привычных инструментов пен-тестера и администратора? Сегодня
защита сетей строится на, в общем-то, стандартном наборе: межсетевой экран,
корпоративные антивирусы, система обнаружения атак Snort с консолью BASE,
программа поиска известных уязвимостей Nessus/OpenVAS, сетевой сканер Nmap и
некоторые другие. В отдельности каждая из этих программ/сервисов отлично
выполняет свои функции, выдавая специалистам внушительный объем информации.
Анализировать и сопоставлять полученные данные приходится в полуавтоматическом
режиме. Для уточнения ситуации запускается одна утилита, затем еще одна и т.д. В
результате для полного понимания текущей обстановки в сети требуется перевернуть
горы отчетов, созданных разноплановыми программами, на что уходит невероятное
количество времени.
Еще одна проблема: нужно постоянно отслеживать появление уязвимостей в
используемых ОС и приложениях, оценивать восприимчивость ПО к отдельным типам
сетевых атак, держать в уме, какие обновления установлены, а какие еще предстоит
накатить. Что касается поиска известных уязвимостей, то его можно выполнять
самостоятельно, подписавшись на рассылку одного или нескольких
специализированных ресурсов. Это, конечно же, Security Focus (www.securityfocus.com/vulnerabilities)
и OSVDB базы (Open Source Vulnerability DataBase,
osvdb.org), содержащие уязвимости
с 2002 года. Для удобства в последнем случае можно воспользоваться утилитой
HackerStorm OSVDB Tool (www.hackerstorm.com).
Также стоит упомянуть о базе обнаруженных проблем безопасности в ПО, созданной
под покровительством Национального Института Стандартов и Технологий, США (nvd.nist.gov).
Но если произведена еще не описанная ни в одном источнике атака, либо сеть
пострадала от "проделок" инсайдера, то проблемы можно обнаружить только на
основе собранных статистических данных. Причем без автоматизации процесса,
снимающей нагрузку с IT-персонала и предоставляющей возможность
систематизировать накопленную информацию, здесь не обойтись. Так появились новые
разработки, задача которых - привести все полученные разными приложениями данные
в удобный для анализа вид. Подобные программы являются комплексным решением и
включают средства инвентаризации ресурсов сети, мониторинга систем, системы
обнаружения и отражения атак, генерации отчетов и т.д.
Существует весьма большой список коммерческих решений - Microsoft Security
Response Center (MSRC), IBM Internet Security Systems, Lumension Vulnerability
Management (ранее PatchLink), QualysGuard, Symantec Control Compliance Suite (SCCS),
MaxPatrol от Positive Technologies и многие другие. При всех своих достоинствах
стоят они весьма недешево, и проще обойтись свободными аналогами. О них и
поговорим.
Управление защитой с OSSIM
Главная задача проекта OSSIM (Open Source Security Information
Management, ossim.net) -
максимальная интеграция разнородных утилит в пределах единой открытой
архитектуры. В результате появляется возможность накоплять данные, находить и
отслеживать четкие взаимосвязи в собранной информации. Источниками служат
практически любые утилиты, способные обрабатывать сетевую или системную
информацию в реальном времени. В настоящее время список интегрированных в OSSIM
инструментов довольно широк: Arpwatch, P0f, pads, Nessus/OpenVAS, Ntop, Snort,
tcptrack, tcpdump, Nmap, Spade, Nagios, Osiris, OCSInventory-NG, OSSEC, RRDTool
(дополнительно возможен анализ данных, собираемых preludeIDS, NTsyslog, Snare,
Cisco Secure IDS). Данные могут быть доставлены при помощи разных способов:
syslog, plain log, SNMP, OPSEC, сокет и пр. – и администратор может получить
информацию о любом событии в сети, хосте или устройстве. Отдельная система
подвергается детальному анализу, для чего собирается информация о типичном ее
использовании (например, средний трафик за день), активности пользователя
(почта, аська, http, ftp и т.п.) и производится мониторинг сессии в реальном
времени с возможностью отобразить характер активности машины в Сети. Агенты
OCSInventory-NG поставляют данные об установленном на каждом компьютере
оборудовании и ПО. На основании данных мониторинга OSSIM следит за связями
отдельных компьютеров и вычисляет составной риск. Для этого строятся графики
постоянных ТСР-сессий, графики изменяющихся UDP, TCP и ICMP связей, что
позволяет идентифицировать сетевые атаки, совершаемые одновременно на несколько
компьютеров. В результате OSSIM может работать как система предотвращения атак (IPS,
Intrusion Prevention System), основываясь на коррелированных данных, собранных
со всех источников. Неплохое дополнение к оборонительному арсеналу!
Типичная система на OSSIM состоит из:
- сервера - производит управление корреляционным движком, нормализацию
данных, оценку риска и приоритета событий; - демона контроля framework, работающего на сервере и связывающего
отдельные части вместе; - базы данных – обеспечивает занесение информации в реляционную базу
данных и корреляцию данных (основные компоненты - MySQL, OSSIM, Snort/ACID и
Phpgacl); - агентов – призваны объединить и обеспечить занесение в базу данных
информации, снятой с различных сенсоров: Snort, Pads, Ntop, Tcptrack, p0f,
Arpwatch, Nessus и пр. (список плагинов доступен на страничке
www.alienvault.com/home.php?id=plugins); - веб-консоль управления – управление работой всей системы, анализ и
выдача данных, оценка риска (Apache, PHP c ADOdb, Phpgacl, Rrdtool, Mrtg,
ACID, Nessus, Nmap, Ntop, FPDF и пр.)
Каждый из представленных компонентов может быть установлен на отдельной
системе, информация между ними в этом случае будет передаваться исключительно в
зашифрованном виде (для этого используется SSL).
Реализовано три уровня доступа к настройкам и функциям - сетевой
администратор, системный инженер и специалист защиты (CSO, Chief Security
Officer).
В качестве системы для базирования OSSIM подойдет любая ОС, на которой могут
быть запущены все или отдельные компоненты; логичнее использовать предпочитаемый
дистрибутив Linux. Проект для установки и использования OSSIM предлагает
исходные тексты (архив и доступ к CVS) и установочный ISO-образ - AlienVault
Open Source SIM Installer (32- и 64-битные версии размером ~600 Мб). Первый
вариант подходит для случаев, когда нельзя выделить под сервер OSSIM отдельный
компьютер; установка осуществляется в рабочую систему. Его можно рекомендовать
для небольших сетей. На сайте имеются немного устаревшие инструкции по установке
OSSIM из исходных текстов для Debian, Gentoo и Fedora. Для человека,
ориентирующегося в основных вопросах, установка не вызовет сложностей. Хотя,
учитывая большое количество разнородных приложений, предназначенных для сбора и
вывода информации, а также необходимость реализации всех зависимостей, процесс
потребует очень внимательного подхода. Этот вариант можно рекомендовать тем, кто
хочет действительно разобраться, как работает OSSIM.
Поскольку OSSIM собирает достаточно много данных, лучше для него выделить
отдельную систему (разработчики рекомендуют именно этот вариант). Установка в
этом случае обычно производится на чистый компьютер или виртуальную машину и
занимает около 10 минут.
Основой SIM Installer является Debian 5.0.1 "Lenny". Надо сказать,
загрузочное меню выполнено не очень удачно. Фон сделан в виде описания
дистрибутива (черные буквы на белом), поэтому элементы выбора варианта
установки, выводимые также черным шрифтом (Install, Graphical Install, Advanced
Options и Help), практически не видны. Далее идет обычная установка Debian -
выбираем в установщике язык, раскладку, страну; ждем, пока закончится процесс
развертывания системы, и настраиваем сеть (IP-адрес, маска, DNS-сервер, имя
узла). По умолчанию программа установки предлагает использовать весь диск, но
можно выбрать и ручную разметку. Несмотря на то, что в меню можно выбрать
графический вариант установки, я бы советовал остановиться на псевдографике.
Пункты те же, возможности те же, не знаю, что разработчики сделали с инсталлером
Debian, но в графическом режиме он конкретно глючит. После установки система
автоматически перезагрузится, затем некоторое время будет затрачено на первичную
инициализацию компонентов OSSIM.
Знакомимся с OSSIM поближе
Команда "netstat -ant" после установки покажет, что открыто с десяток
дополнительных портов. Ряд из них соответствует приложениям, используемым OSSIM
в качестве сенсоров для сбора данных. Файлы настроек различных компонентов OSSIM
находятся в каталоге /etc/ossim; для удобства они разложены по подкаталогам и
назначению - server, framework, agent и update. Настройки сервера находятся в
файле ossim_setup.conf, отредактировать который можно вручную, или выполнив
команду ossim-setup. В этом файле находятся параметры для подключения к серверу
и MySQL, настройки сенсоров. Большинство параметров внутри можно назвать
стандартными, и они должны быть понятны без пояснений. Так, строка detectors
определяет приложения, используемые в качестве сенсоров (чем больше таких
датчиков, тем лучше). После установки к OSSIM подключен только один интерфейс, а
значит, все утилиты прослушивают сеть только на нем:
# vi /etc/ossim/ossim_setup.conf
[sensor]
detectors=snare, p0f, osiris, arpwatch, snortunified, pads, ssh, pam_unix, rrd,
sudo, iptables, nagios
interfaces=eth0
monitors=nmap-monitor, ntop-monitor, ossim-monitor
При необходимости добавляем и другие, просто перечислив через запятую:
interfaces=eth0,eth1
Аналогичные установки, только для агентов, ищи в файле agent/config.cfg. Для
подключения к серверу OSSIM агенты используют порт 40001; изменить его можно,
отредактировав параметр port:
# vi /etc/ossim/agent/config.cfg
[output-server]
enable = True
ip = 192.168.17.10
port = 40001
Теперь открываем веб-браузер и заходим на страницу http://server; для
регистрации используем admin/admin. После небольшого, но весьма полезного
ликбеза по использованию дистрибутива попадаем в консоль управления. Практически
сразу будет доступен ряд отчетов.
Панель визуально разбита на три области. Справа находится список функций
OSSIM: Dashboards (выводятся риски, здесь видно появление новой ОС или сервиса),
Incidents, Events (аномалии, события), Monitors (мониторинг сети и систем),
Reports (отчеты по узлам, оборудованию, ПО, сети), Policy (настройка политик и
действий, запуск программы или отправка e-mail), Correlation, Configuration,
Tools (бэкап, ссылки для закачки клиентов, сканер сети).
Настроек достаточно много. Первым делом следует правильно указать сети,
контролируемые OSSIM. Это можно сделать в Policy -> Policy. Далее переходим во
вкладку Network и запускаем сканирование сети Tools - NetScan, активация Enable
full scan позволит провести более глубокое сканирование. Заносим найденные
системы в список контроля, все они будут показаны во вкладке Policy –> Policy ->
Host. При необходимости заносим данные о системах вручную. Информацию по сетям и
хостам затем можно использовать при настройке политик. Чтобы установить агента
на удаленную систему, переходим в Tools -> Downloads, где в зависимости от
версии ОС выбираем компоненты, качаем и ставим.
Хочу обратить внимание, что в каждой вкладке доступен Help; там со скринами
показано назначение основных настроек. Даже при базовом знании английского
разобраться будет несложно.
SIGVI: контроль угроз
Проект SIGVI (sigvi.upcnet.es)
разрабатывается в политехническом университете Каталония и представляет собой
Open Source приложение (лицензия GNU GPL), предназначенное для обнаружения,
предупреждения и управления угрозами. Принцип работы SIGVI прост: программа
периодически загружает новые оповещения об уязвимостях (для этого используются
стандарты CVE, CPE и CVSS протокола SCAP, – см. врезку ниже), а затем полученная
информация в соответствии с настройками фильтров отправляется администратору.
Источники, откуда берутся сообщения, настраиваются во вкладке Tools - Sources.
Чтобы не рассылать лишние данные, SIGVI должен знать об используемых сервисах.
Это можно настроить вручную или использовать инструмент NSDi (Network Services
Discoverer), который автоматизирует процесс сбора данных. Для каждой уязвимости,
затрагивающей одну из используемых на серверах программ, SIGVI создает сообщение
тревоги (alert). Принимается во внимание фактор риска и свойства сервиса. Фактор
риска рассчитывается на основании вектора
CVSS. Вектор применяет
классификацию по шкале критичности 0 - 10, определяющей степень риска (кстати,
эти данные использует сканер Nessus и другие подобные решения). При этом
учитывается доступ (локальный, удаленный), сложность атаки (квалификация
атакующего, настройки систем и т.п.), аутентификация, наличие рабочего эксплоита,
обновлений, закрывающих уязвимость и прочие параметры. А вот чтобы определить, в
каких случаях оповещать администратора, используются фильтры. Например, их можно
настроить так, что сообщение будет генерироваться только при наличии готового
эксплоита. Все полученные предупреждения заносятся в базу данных и доступны в
любое время. Реализован поиск по нескольким критериям и большое количество
отчетов.
Протокол SCAP
Протокол автоматизации управления данными безопасности (The Security
Content Automation Protocol,
scap.nist.gov) – это набор открытых стандартов, определяющих технические
спецификации для представления и обмена данными по безопасности. Эти данные
могут быть использованы для автоматизации процесса поиска уязвимостей,
оценки соответствия технических механизмов контроля и измерения уровня
защищенности. SCAP состоит из следующих стандартов:
- Типовые уязвимости и ошибки конфигурации (Common Vulnerabilities and
Exposures, CVE);- Список типовых конфигураций (Common Configuration Enumeration, CCE);
- Список типовых платформ (Common Platform Enumeration, CPE);
- Единая система определения величины уязвимостей (Common
Vulnerability Scoring System, CVSS);- Расширяемый формат описания списка проверки конфигурации (Extensible
Configuration Checklist Description Format, XCCDF);- Открытый язык описания уязвимостей и оценки (Open Vulnerability and
Assessment Language, OVAL).
Интерфейс SIGVI написан при помощи PHP5, и для установки подойдет
любая LAMP (Linux+Apache+MySQL+PHP5) система. В качестве базы данных могут быть
использованы MySQL, PostgreSQL, SQL Server, Oracle, Informix и некоторые другие
СУБД. Сам процесс установки, можно сказать, стандартен для программ такого рода.
Распаковываем архив в корневой каталог веб-сервера и устанавливаем нужные права
(веб-сервер у меня работает от имени www-data):
$ sudo tar xzvf sigvi-1.3.02b.tgz -С /var/www/
$ sudo chown -R www-data:www-data /var/www/
$ sudo chmod -R 750 /var/www/sigvi
Создаем базу данных с таблицами:
$ mysql -u root -p < sigvi-1.3.02b.sql
Корректируем переменные в conf/app.conf.php:
# vi /var/www/sigvi/conf/app.conf.php
define("HOME","/sigvi"); // домашний каталог
define("ADM_EMAIL","sigvi <root@localhost>"); // почта админа
define("SERVER_URL","http://localhost"); // URL сервера
// тип БД - mysql, mysqli, postgres, oracle, все варианты описаны в include/dbms
define("DBType","mysqli");
// узел, на котором находится БД
define("DBServer","localhost");
define("DBName","sigvi");
// пользователь и пароль (меняем обязательно)
define("DBUser","sigvi");
define("DBPass","NEWpassword");
// тип аутентификации, по умолчанию внутренний, можно выбрать LDAP
define("authMethod","dbms");
//define("ldapServer","ldaps://your.ldap.server");
Изменив пароль в файле, не забываем обновить его в базе данных:
mysql> UPDATE user SET Password=PASSWORD ('NEWpassword') WHERE user='sigvi';
Как видно из конфига, доступ к SIGVI возможен по записям внутренней базы
пользователей или внешней (LDAP, СУБД).
В программе реализовано три группы пользователей - администратор SIGVI
(полный доступ), администратор групп (проверка алертов, работа с пользователями)
и администратор сервера (конечный пользователь, получающий оповещения).
Что еще?
OSSIM и SIGVI являются наиболее популярными и функциональными
программами, хотя, возможно, и несколько сложными в освоении. Поэтому кратко
расскажу о других решениях.
Принцип работы Advisory Check (ADVCHK,
advchk.unixgu.ru)
аналогичен SIGVI. Программа собирает сообщения о новых уязвимостях с разных
источников, в качестве которых могут выступать RSS, RDF и XML-каналы. Затем
полученную информацию сравнивает со списком установленных приложений, полученных
от менеджера пакетов (поддерживается pkg_info, dpkg, rpm, portage, lpp, реестр
Windows и некоторые другие), – и отсылает сообщение, если обнаруживается
уязвимость. Предусмотрено и ручное добавление списка программ, но такой подход
даже в малых сетях не доставит много радости. Возможен контроль удаленных
систем: для этого используется несколько способов - SSH, Windows-RPC и Nmap.
ADVCHK написан на Perl'е и весит всего 15 Кб. Его установка достаточно
проста: нужно установить библиотеки Getopt::Std, LWP::UserAgent и Storable,
затем распаковать архив и запустить "./install.sh". Для мониторинга WinNT/2k/XP/2k3
используется WinExe, который можно скачать с сайта
eol.ovh.org/winexe.
Список источников описан в файле advchk_addfeeds.sh, и при необходимости его
можно уточнить.
RogueScanner (www.paglo.com/opensource/roguescanner)
предназначен для обнаружения несанкционированного подключения устройств к
WiFi-сети. При работе используется система классификации устройств (Collaborative
Device Classification System, имеет данные о более чем 1 млн. устройств),
которая позволяет автоматически обнаруживать и идентифицировать типы устройств в
реальном времени. Чтобы собрать максимальное количество данных об устройстве,
используется несколько методов, – в результате исследователь получает сведения о
производителе, модели, IP/MAC-адрес, DNS или NetBIOS-имя. Собранная информация
отправляется на сервер. RogueScanner также подходит для инвентаризации устройств
в сети.
INFO
OSSIM позволяет наблюдать за узлами в сети и их взаимодействиями, получать
отчет об аномалиях, выявленных в системе, например, смене MAC-адреса, изменении
версии ОС или службы.
Для быстрой установки OSSIM лучше использовать AlienVault Open Source SIM
Installer, который построен на Debian и включает все необходимое.
WWW
Сайты проектов:
- OSSIM - ossim.net
- SIGVI -
sigvi.upcnet.es,
sigvi.sf.net - RogueScanner -
www.paglo.com/opensource/roguescanner - Advisory Check -
advchk.unixgu.ru - С возможностями SIGVI можно познакомиться на демо-странице проекта -
sigvi.upcnet.es/demo_sigvi