Если бы программное обеспечение всегда работало так, как это предполагается, то нам не понадобилось бы писать эту лекцию. Но поскольку мы живем в несовершенном мире, то можем быть уверены в том, что приложения и службы, запущенные на нашей машине, неизбежно будут содержать ошибки. Особенно плохо то, что любое хорошо написанное приложение может работать в нашей системе неправильно сконфигурированным. Ошибки и неверная конфигурация могут облегчить взломщику задачу незаметного проникновения в вашу сеть и систему. Эти проблемы также могут позволить взломщику испортить вам день атакой на критические системы и службы.
Ошибки и неправильная конфигурация называются уязвимостью. Почти каждая система в вашей сети имеет различные уязвимости. Некоторые уязвимости известны как потенциально опасные для взлома, и поставивший себе такую задачу взломщик может рыскать по интернету в поисках программного кода, который может быть взломан. Другие уязвимости пока не несут в себе потенциальной опасности взлома, но всегда могут найтись люди, которые, поработав как следует, над этим вопросом, могут добиться результата. Многие уязвимости просто остаются необнаруженными и ожидают своей очереди.
Атаки на уязвимости обычно влекут за собой крах служб или нарушение нормальной работы. Некоторые из этих атак приводят приложение в состояние, при котором оно не сможет работать; другие пожирают такое количество системных ресурсов, что система не может далее выполнять свои функции. Такие атаки на отказ в обслуживании называются
Другие уязвимости позволяют взломщику заставить приложение выполнять функции, которые они в обычных условиях выполнять не должны. И поскольку многие службы выполняются с полномочиями пользователя root или администратора (и то и другое не всегда обязательно), взломщик может получить в системе привилегии суперпользователя, избежав обычного процесса авторизации. При таком сценарии есть два типа уязвимостей, которые могут быть использованы: ошибка, позволяющая манипулировать службой непредусмотренным образом (такая, как переполнение буфера - см. лекцию "Простые средства аудита исходных кодов"), известная, как уязвимость приложения, и ошибка конфигурации службы (запущенной с полномочиями администратора), известная как уязвимость конфигурации. Если служба запущена с полномочиями непривилегированного пользователя с ограниченными правами доступа, то взломщик, использовавший уязвимость приложения, не сможет получить большие полномочия. Если взломщик использовал переполнение буфера против Web-службы, которая запущена с полномочиями администратора, и переполнение буфера привело к возможности выполнения системных команд от лица пользователя Web-службы, то взломщик получает полный доступ к системе. Однако если взломщик использует переполнение буфера против Web-службы, которая запущена с полномочиями непривилегированного пользователя ("IUSR"), то он получит доступ только к той части системы, к которой имеет доступ пользователь IUSR. Устраняйте уязвимости конфигурации, уязвимости приложения доставляют меньше хлопот.
Цель для менеджеров и администраторов сети - найти уязвимости в сети раньше, чем это сделает кто-то другой.
Программа /. Программа обеспечивает эффективную чистку систем в вашей сети от известных ошибок конфигурации сети и уязвимостей приложений. В этой лекции мы сосредоточимся на версии 1.0.10 программы, а также обсудим версию 1.2.0, которая скоро будет выпущена. В Nessus 1.2.0. добавлены возможности типа поддержки SSL, оптимизации проверки уязвимостей и возможность сохранения сессии.
Nessus - клиент-серверное приложение. Сервер nessusd запускается под управлением Unix и выполняет черную работу, сохраняя информацию о различных тестах уязвимости и выполненном сканировании. Он имеет собственную пользовательскую базу данных и метод безопасной аутентификации, так что удаленные пользователи, использующие клиент Nessus (Unix- или Windows-версии) могут войти, настроить сканирование уязвимостей и установки соответствующих режимов.
Создатели Nessus разработали соответствующий скриптовый язык (называемый Nessus , или NASL ) для использования в рамках приложения. В Nessus сканирование каждой из уязвимостей строится на основе отдельного встраиваемого модуля, написанного на NASL. Такая модульная архитектура позволяет легко добавлять процедуры сканирования уязвимостей (и, возможно, тестов на взлом), как только будут обнаружены новые виды уязвимостей. Сообщество Nessus поддерживает собственную базу уязвимостей, обновляемую ежедневно, и они предлагают простой скрипт ( nessus-update-plugins ), который вы можете запустить еженощно (поместив в директорию cron) для автоматического обновления базы встраиваемых модулей.
Cron - Unix-утилита, которая считывает список команд (называемый crontab ) и запускает эти команды в заданное время. Эта утилита предустановлена в Unix. Синтаксис для настройки crontab выходит за рамки этой книги, но большинство Linux-систем предоставляют вам директории в /etc/, такие как cron.daily, cron.weekly и cron.monthly. Вы можете написать короткий shell-скрипт, содержащий команды, которые вы хотите выполнить вместе с соответствующими параметрами и поместить этот скрипт в соответствующую директорию (например, в cron.daily, если вы хотите, чтобы скрипт выполнялся каждую ночь). Вы можете узнать больше о cron и crontab, посмотрев в справочную систему Unix.Nessus - интеллектуальная программа: он может распознать службу, запущенную на другом порту, отличном от стандартного номера порта, который предусмотрен в Internet Nessus может найти его и попытаться протестировать с помощью CGI-теста. С другой стороны, если Nessus не может найти ни одного Web-сервера в системе, которую он сканирует, он пропустит для этой системы все тесты для Web-сервера и CGI-тесты.
Nessus отличается тщательностью, так как многие встраиваемые процедуры не только сканируют систему на наличие уязвимостей, но и пытаются осуществить взлом уязвимостей и составляют об этом соответствующий отчет. Иногда такая деятельность может быть немного опасна, поскольку удачный взлом может привести к краху сканируемой системы или к потере данных. Тем не менее, поскольку Nessus дает полное описание того, как тестируется та или иная уязвимость, вы можете принять решение о том, какие тесты не следует применять.
В отличие от многих свободно распространяемых Unix-утилит, Nessus составляет необычайно подробные отчеты, хорошо построенные и доступные в различных выходных форматах, таких как notes ) до предупреждения ( warnings ) и дыр ( ), каждый из которых разбивается по уровням от низкого ( Low ) до очень высокого ( Very High ).
Инсталляция демона Nessus может оказаться сложной. Он требует для своей установки наличия GIMP Toolkit (GTK) и nmap (см. лекцию "Сканеры портов"). Nessus можно загрузить в четырех отдельных пакетах: nessus-libraries, libnasl, nessus-core и nessus-plugins. Каждый пакет необходимо загрузить, скомпилировать и инсталлировать (обычно с помощью процедур configure, make, make install ) в том порядке, как эти пакеты были перечислены. Nessus также поставляется в едином архиве ( nessus-installer.sh ), который включает все пакеты и обеспечивает для вас полную инсталляцию.
Помните, что Nessus - клиент-серверное приложение. После успешного завершения компиляции следующим шагом будет запуск демона, который поддерживает запросы по сканированию и выполняет основную работу. Для начала необходимо сконфигурировать демона.
Поскольку у клиента Nessus должна быть возможность соединиться с демоном, в первую очередь необходимо создать сертификат для демона (для версии 1.2.0 - если вы хотите, чтобы связь между клиентом и сервером шифровалась по протоколу SSL) и создать как минимум один клиентский профиль. Утилита nessus-mkcert, входящая в состав Nessus 1.2.0, позволяет создать nessus- может быть использована для добавления пользователей в базу данных Nessus. При запуске утилиты nessus- вы получаете запрос на ввод имени пользователя и типа аутентификации. Версия 1.2.0 позволяет сделать выбор между аутентификацией по паролю или по сертификату. Для пользователей версии 1.2.0 обычно достаточно аутентификации по паролю. Для пользователей более ранних версий предпочтительней аутентификация по коду. Вас могут попросить настроить параметры, описывающие, откуда разр
ешен доступ пользователям (по умолчанию отовсюду), и ввести Nessus первый раз с использованием имени пользователя и пароля, все последующие соединения не потребуют ввода пароля. Если вы используете версию 1.2.0, пароль вам может понадобиться каждый раз, если только вы не задали аутентификацию по сертификату (см. страницы справки). Вы можете сконфигурировать правила для каждого пользователя (например, какие машины разрешено сканировать пользователю), но многопользовательская конфигурация выходит за рамки тем, обсуждаемых в этой книге. Для наших целей оставьте список правил пустым, нажав CTRL-D и подтвердив создание пользователя, введя символ y и нажав ENTER.
Файл nessusd.conf (который устанавливается по умолчанию в директорию /usr/local/etc/nessus/) содержит несколько глобальных параметров сканирования, которые вы захотите пощупать. Переменная max_threads (по умолчанию равна 8) может быть увеличена, если вы хотите ускорить сканирование, и ваша система может выдержать нагрузку. В добавление к легко читаемому отчету Nessus может сохранять детали каждого своего теста в журнале. Это особенно полезно, если вы увидите в отчете что-то, что покажется вам необычным, и захотите понять, почему появилось это сообщение в отчете. Вы можете сконфигурировать место размещения этого журнала (по умолчанию /usr/local/var/nessus/nessusd.messages ) и logfile и другие относящиеся к этому переменные ( log-:).
Другой важный параметр предназначен для настройки интервала портов, которые вы хотите сканировать ( port_range ). Nessus сначала использует nmap, чтобы определить порты, прослушиваемые в системе. По умолчанию, Nessus прослушивает порты с номером больше 15000. Увеличение интервала сканирования увеличивает время работы, но это необходимо, если вы хотите осуществить полное сканирование сети.
max_threads и port_range могут быть сконфигурированы для каждого индивидуального теста отдельно с использованием клиента Nessus. Изменение этих параметров здесь будет иметь глобальный эффект, как будто были изменены глобальные параметры, потому что поиск параметров по умолчанию осуществляется в этом файле.Еще две переменные, которые влияют на продолжительность сканирования (и его точность) - это check_read_timeout и delay_between_tests. Первая переменная определяет время ожидания ответа перед тем, как перейти к следующей операции, а вторая определяет время ожидания перед повторением опроса того же самого порта (в случае с тестом CGI для Web-сервера). Переменная check_read_timeout здесь - существенный фактор. Значение по умолчанию составляет 15 секунд. Уменьшение значения до 5 секунд может сделать ваше сканирование слишком быстрым, но вы можете что-нибудь потерять, закончив ожидание слишком быстро. Есть вероятность, что сканируя локальную сеть, можно установить очень маленькое значение параметра check_read_timeout. Значение по умолчанию для переменной delay_between_tests равно 1 секунде, и это, в большинстве случаев, наилучший выбор.
Завершив изменение конфигурационного файла nessus, вы можете запустить демона ( nessusd -D от пользователя root ) и графического клиента, набрав в командной строке Nessus и нажав клавишу ENTER. Для продолжения следует соединиться с демоном Nessus, воспользовавшись именем пользователя и паролем, созданными ранее с помощью команды nessus-. Если вы выбрали шифрованное SSL-соединение для шифрования трафика между Nessus клиентом и сервером (только для версии 1.2.0), вам придется настроить SSL-соединение (если вы не понимаете, что делать, согласитесь со значениями по умолчанию и примите сертификат). Ранние версии, вместо того чтобы задавать вопрос, в случае если вы хотите создать секретную фразу для защиты ключа пользователя, просто сгенерируют ее (обычно в этом нет необходимости). Затем последует большая дискуссия о том, какие тесты уязвимости (плагины) вы хотите запускать, для каких хостов и
каких портов. Выберите закладку Plugins и вы увидите окно, аналогичное тому, что показано
на рис 12.1.
(рис 12.1) Закладка PluginsПри первом запуске Nessus, возможно, следует отменить все выбранные тесты на закладке Plugins и просмотреть все категории, чтобы получить представление о том, как работает каждый тест (плагин). Хорошей мыслью будет проделывать это с любым сканером уязвимостей. Nessus разбивает все плагины на группы или категории. Эти категории и их краткое описание приведены в таблице 12.1 (описание применимо для версий 1.0.10, 1.2.0)
Категория модуля Nessus |
Версия | Описание |
|---|---|---|
Miscellaneous Разнообразные |
Обе | Производит тесты учетных записей, трассировку и другие разнообразные проверки. |
Удаленный доступ к |
Обе | Проверяет переполнение буфера, обходит идентификацию. |
Неправильное использование |
Обе | Проверяет демонов , которые могут позволить хакерам доступ к защищенным файлам, защищенным системным командам или защищенной пользовательской информации. |
| Windows | Обе | Проверяет на SMB, NetBIOS и другие связанные с Windows уязвимости. |
Backdoors Черные ходы |
Обе | Проверяет на черные ходы, типа Trinity, Netbus, Back Orifice и другие им подобные. |
General Общие |
Обе | Проверяет на способность получить версию и другую информацию о программе, которая может помочь хакеру взломать систему. |
SNMP |
Обе | Проверяет дыры и уязвимости в Simple Network Management Protocol (SNMP) |
CGI Неправильное использование CGI |
Обе | Проверяет на взлом Web-серверов и приложений, таких как IIS, Lotus Domino, Apache, PHP, |
Remote file access Удаленный доступ к файлам |
Обе | Проверка на неавторизованные методы захвата файлов через службы NFS ( |
RPC |
Обе | Проверка на получение информации и взлома уязвимых служб RPC, таких как mountd и statd. |
Удаленный доступ с полномочиями root |
Обе | Проверки на уязвимости, которые позволяют удаленным пользователям получить доступ к полномочиями root или доступ администратору к машине. |
Firewalls Брандмауэры |
Обе | Проверки на брандмауэр, относящиеся к неправильной конфигурации и уязвимостям. |
Useless services Бесполезные службы |
Обе | Проверка на устаревшие службы, которые не должны запускаться или быть доступными в интернете в целом, такие как echo, daytime, |
Denial-of-Service Отказ службы |
Обе | Проверка на взломы DoS для целого ряда приложений и служб Unix и Windows. |
FTP |
Обе | Проверка на относящиеся к FTP уязвимости, включая неправильную конфигурации FTP, ненужный анонимный доступ к FTP, уязвимость FTP |
|
Обе | Проверка на уязвимости, относящиеся к Sun's Network Information Service. |
| SMTP problems Проблемы SMTP | 1.2.0 | Проверка на уязвимости в популярных почтовых серверах (sendmail, Lotus и т.п.). |
Windows User Management |
1.2.0 | Проверка, чтобы получить информацию о пользовательских проблемах и проблемах групповых учетных записей, относящуюся к Windows. |
Nessus сделать попытку обхода IDS-систем.Щелкнув дважды на параметре (тест уязвимости) в нижнем окне, вы сможете получить дополнительную информацию о том, какие настройки доступны для выбранного параметра (обычно, время ожидания). Пример информации, отображаемой по двойному щелчку для параметра .
Некоторые модули тестов уязвимости представляют опасность, поскольку в процессе сканирования могут привести к краху системы. На рис 12.3 показаны опасные модули Nessus, отмеченные значком предупреждения. Можно отключить все опасные модули, щелкнув на значке Enable All But Dangerous Plugins.
Чтобы включить конкретный модуль в процесс сканирования, отметьте соответствующий модуль. После того как вы просмотрите все модули и решите, какие из них будете использовать для сканирования, можете сконфигурировать другие аспекты поведения модулей, расположенные на закладке Prefs (см. рис 12.4).

(рис 12.3) Информация о проверке на уязвимость(рис 12.2) Отключение опасных модулей
(рис 12.4) Установка Nessus preferencesНа закладке Scan Options, показанной на ). Вы можете также просмотреть некоторые из параметров, заданных в файле nessusd.conf (такие как Max threads).
(рис 12.5) Закладка Scan OptionsПоследняя важная часть сканирования - это выбор цели. Вы можете задать единственный IP-адрес или имя хоста, подсеть (192.168.1.0/24) или список хостов и IP-адресов, разделенных запятой. Вы можете также записать IP-адреса и имена хостов в отдельный файл и загружать их, щелкнув на кнопке Read File.
В данном примере, мы хотим сканировать три хоста в сети: 192.168.1.100, 192.168.1.101 и 192.168.1.102, как показано на закладке Target Selection на рис 12.6.
Теперь мы готовы начать сканирование.

(рис 12.7) Закладка Target Selection (Выбор цели)(рис 12.6) Состояние сканирования
(рис 12.8) Отчет о проделанной работеТеперь пришло время анализировать отчет. По умолчанию видно, что Nessus обнаружил дыру в безопасности с высоким (High) фактором риска, относящимся к SSH-серверу по адресу 192.168.1.100. Nessus также показывает, что он определил тип и версию работающего Web-сервера. Понятно, что это не обязательно проблема безопасности, а полезная информация, которую потенциальный взломщик может легко получить.
Вы можете отсортировать выходную информацию по портам, щелкнув на кнопке Sort By Port. Список портов будет представлен слева, а соответствующие машины и их проблемы безопасности будут представлены справа в окне Report. Это полезно, если вы просматриваете информацию о конкретной уязвимой службе.
Nessus также сортирует хосты в соответствии со сложностью проблем. Красный значок означает, что обнаружена, по крайней мере, одна дыра в безопасности. Белый значок означает, что порт открыт, но не было найдено никаких ошибок.
Если вы хотите сохранить отчет в файле, можно выбрать формат отчета из выпадающего списка между кнопками Save As и Close, а затем щелкнуть на кнопке Save As. Вы можете сохранить отчет в собственном формате Nessus (по умолчанию NSR), чтобы просмотреть его позже. В противном случае, вы можете сохранить отчет в формате HTML или LaTeX, или в виде простого текстового файла. Это не слишком красиво, но, по крайней мере, здесь есть вся информация.
Как уже упоминалось, модули . Вы можете поместить это приложение в состав заданий демона cron, поскольку оно не требует никакой входной информации на старте. Таким образом, у вас будут наиболее свежие тесты для сканирования.
Программа ), который включает в себя STAT , STAT Analyzer и STAT . STAT размещается на отдельной Windows-машине и выполняет задачи контроля за выполнением правил безопасности, наблюдения за вирусами и проведение активных мероприятий против попыток внедрения. STAT Analyzer обеспечивает интеграцию нескольких других коммерческих сканеров уязвимостей (включая собственный сканер STAT ), чтобы представить вам более полную и достоверную картину уязвимости вашей сети.
STAT - современное средство аудита в комплекте STAT, и в этом разделе мы сосредоточимся на нем. Тем не менее, возможности интеграции STAT Analyzer с другими системами аудита, упоминавшиеся в этой лекции, делают его достойным внимания.
STAT (в оставшейся части раздела - STAT ) использует те же основные настройки, что и другие сканеры уязвимостей. STAT работает на платформе Windows NT/2000, но может быть запущен и на других операционных системах. Наилучшая производительность достигается на Windows-машинах. Если при сканировании вы входите в систему, как администратор домена, у вас есть возможность получить доступ как к машинам для анализа локальной уязвимости, так и анализировать уязвимость с точки зрения удаленного доступа.
STAT не использует архитектуру клиент-сервер. Исполняемая часть и тесты уязвимости должны размещаться на каждом хосте, который необходимо сканировать. STAT еженедельно выпускает новые тесты уязвимости, и их можно скачать с авторизованного Web-сайта.
Щелкнув дважды на каждом сообщении о найденных уязвимостях, можно получить массу информации о найденных проблемах, их сложности, где можно получить дополнительную информацию, и как их устранить. Для некоторых видов уязвимостей у STAT есть уникальная возможность "auto fix", такая, как корректировка системного реестра. Если STAT может устранить их самостоятельно, то становится доступна кнопка AutoFix.
После установки STAT у вас сразу запросят регистрационный ключ. Если у вас его нет, вы сможете запускать приложение только в "ознакомительном" режиме, который предоставляет возможность тридцатидневного использования сканера, но с ограниченными возможностями по запуску тестов уязвимости (из конфигурационного файла QuickScan.dat).
Как показано на рис 12.9, у STAT хорошо организованный интерфейс. Ниже меню и панели инструментов показано текущее состояние выбранной машины и конфигурационный файл (политика или работающие тесты уязвимости). Найденные уязвимости перечисляются в главном окне. Если вы сканируете несколько машин, то можете выбрать найденные уязвимости на конкретной машине или на всех машинах сразу. Каждую колонку можно сохранить. В нижней части окна значки показывают количество найденных уязвимостей и их уровень. Вы также можете отслеживать процесс сканирования, поскольку информация на дисплее обновляется регулярно.
(рис 12.9) Интерфейс STAT Так же как и для Nessus, вам необходимо сконфигурировать набор тестов, которые вы собираетесь использовать. STAT поставляется с несколькими сконфигурированными файлами DAT, которые содержат наборы видов уязвимостей, для которых вы можете выполнять сканирование. Вы можете использовать DAT-файлы для сканирования уязвимостей заданного уровня опасности, конкретные операционные системы или типы уязвимостей. Вы можете выбрать конфигурационный файл для сканирования, выбрав в меню STAT Configurations/Load Configuration From File. Вы можете увидеть это окно на иллюстрации.

Файл QuickScan.dat подходит, если вы хотите найти более серьезные проблемы. Если вас интересует только проверка системных политик (профили пользователей, дата истечения срока действия пароля, и т.д.), используйте файл Policy.dat. Каждый DAT-файл имеет содержательное название, чтобы помочь вам выбрать наиболее подходящий для решения поставленных задач.
Вы можете создать свой собственный конфигурационный файл, используя один из имеющихся DAT-файлов в качестве шаблона. Следует выбрать Configurations/Edit Configuration From File, чтобы открыть окно, показанное на рис 12.10.
В окне Editing вы можете просмотреть все доступные тесты и решить, какие из них использовать. Выбрав соответствующий тест, вы можете просмотреть справочную информацию в нижней части окна. Тест может быть перемещен из списка доступных (и наоборот) в список используемых с помощью кнопки со стрелками. Сделав свой выбор, вы можете сохранить свою конфигурацию, как пользовательский DAT-файл, для дальнейшего использования, воспользовавшись кнопкой Save.
(рис 12.10) Вы можете самостоятельно настроить конфигурациюВы также можете управлять некоторыми другими параметрами сканирования, такими как политика входа в программу и пароли, стандарты политики аудита Windows, временные параметры сканирования (задержка, параллельное выполнение), особенности формата отчета и другие настройки. Все эти настройки доступны по команде Edit/Options, как это показано на рис 12.11.
Наша последняя задача перед запуском сканирования - выбрать цель. Когда выбираются машины для сканирования в главном меню . Вы можете выбрать или интервал IP-адресов, или назначить Windows Network
(рис 12.11) Выбор других параметров сканирования в диалоговом окне OptionsПосле того как машины найдены (или с помощью Windows
Если вы выбрали машины для сканирования с неизвестными или неподдерживаемыми операционными системами, мы выбрали для сканирования Linux и Windows 2000 машины, которые были обнаружены в процессе предыдущей сессии (что объясняет, почему мы не видим их в списке в левой части экрана).
(рис 12.12) Выбор целей для сканированияЧтобы начать сканирование этих систем, нам необходимо задать аутентификационную информацию для систем, щелкнув на кнопке Configure. По этой команде открывается диалоговое окно Authentication, показанное на иллюстрации ниже.

Обратите внимание, что для Windows-машин вы можете пропустить шаг аутентификации, если вы сканируете машины, для которых вы вошли в систему, как администратор домена. В противном случае, вы можете задать в диалоговом окне аутентификации значения для профиля администратора. STAT соединяется с Windows-системами, используя net use (о которой говорилось в лекции "Система X Window"). Если вы соединяетесь с Unix-системой, STAT потребуется пользовательская информация для доступа к машине; это не обязательно должна быть информация о пользователе root. STAT может поддерживать SSH-соединение с машиной, которая подвергается сканированию.
STAT требуется доступ к сканируемой системе, поскольку множество уязвимостей рассматриваются, как локальные, которые не могут быть протестированы удаленно. Это может быть несколько утомительно, но зато предохраняет одних людей от выполнения неавторизованных сессий сканирования на машинах других людей.Как только вы определите цель сканирования, щелкните на кнопках Save и Close в окне Machine List (см. рис 12.12).
STAT говорят о проблемах, которые должны быть устранены, многие из предупреждений с низким уровнем риска, которые выдает STAT, являются просто наведенными из-за особенностей конфигурации и политики безопасности. Иногда они могут быть всего лишь ложной тревогой.STAT, убедитесь, что это не нарушит деятельности выполняемых приложений. К примеру, STAT может предупредить вас о том, что работает IIS, и он должен быть остановлен, если в нем нет необходимости. Но если вы запустили Web-сервер на этой машине, вы можете игнорировать это сообщение. Тем не менее, если STAT сообщает вам о том, что у IIS есть опасность переполнения буфера, и он должен быть немедленно обновлен с использованием соответствующих заплаток, то это сообщение относится к таким, на которые следует реагировать достаточно быстро. Также будьте внимательны к сообщениям STAT, касающимся системного реестра. Некоторые изменения в системном реестре могут привести к нежелательному эффекту, поэтому, исправляя их, вы должны быть уверены, что это не повлияет на работу ваших приложений. Как только вы определите, что вам необходимо устранить уязвимость, щелкните на
кнопке AutoFix, если она доступна, или
следуйте инструкции по решению проблемы, которая отображается в окне дополнительной информации (см. рис 12.14), чтобы устранить проблему самостоятельно.
(рис 12.13) Результаты сканированияSTAT несовершенен. Иногда он поднимает STAT по-прежнему будет выдавать сообщение о ней, даже если вы знаете о том, что STAT действует, как помощник, а не как руководство по пошаговому устранению проблемы. Как и с другими утилитами, опирайтесь на здравый смысл в работе со STAT.
(рис 12.14) Информация об уязвимостиПоскольку вы управляете сканированием, STAT сохраняет историю каждого сканирования (как и историю каждого факта использования AutoFix). Это позволяет вам проследить, что вы сделали, и когда это было сделано, а также позволяет сравнить результаты сканирования, чтобы определить, когда были исправлены определенные уязвимости.
У показан отчет Executive Summary.
Вы можете распечатать отчет, или экспортировать его в какой-либо из файлов, включая форматы Excel,
Если вы щелкните на Reports/Compare Scan Results, то сможете увидеть список проведенных сканирований. В этом диалоге вы можете выбрать несколько сканирований и создать отчет, сравнивающий результаты сканирования. Это позволяет анализировать изменения, которые произошли от одного сканирования до другого.
(рис 12.15) Отчет Executive Summary
.
Как и STAT, Retina работает не по модели клиент/сервер. Полное приложение (включая проверку безопасности) должно быть установлено на всех машинах, с которых вы хотите производить сканирование. У Retina есть дополнительные утилиты и модули, которые можно использовать для получения дополнительной информации о машинах, которые вы сканируете. Тем не менее, концептуально, Nessus, STAT и Retina не отличаются друг от друга.
При первом запуске .

(рис 12.16) 
Меню Tools также содержит параметры, которые позволяют сконфигурировать различные политики, которые использует Retina в процессе сканирования. Вы можете управлять интервалами портов, которые просматривает программа, а также типами аудита (или тестов уязвимостей), которые она реализует.
Запустим пример сканирования уязвимости.
Retina сканирует открытые порты и пытается получить информацию об этих портах (аналогично программе Nessus ).STAT, которая позволяет автоматически обновить системный реестр Windows и т. п. Когда вы будете готовы создать отчет, выбирите меню Tools/Reports для доступа к параметрам отчетов.
(рис 12.17) Процесс сканированияRetina поддерживает дополнительные модули (в левой панели главного окна), которые помогут вам в процессе сканирования.
Еще один коммерческий сканер для удаленной работы -
Как большинство других сканеров, Internet поддерживает те же основные функции, что и Retina, STAT и Nessus. Вопрос в том, делает ли он это лучше?
Запустив Internet , вы увидите, что он загружает все доступные в базе данных тесты уязвимости и проверки на возможность проникновения в систему. Затем вы можете работать над созданием новой
STAT. Они позволяют производить сканирование на предмет обнаружения уязвимостей определенного типа и уровня опасности в зависимости от того, какие типы хостов вы сканируете.При первом запуске Internet запускается вместе с мастером создания новой сессии (New Session Wizard), который показан на следующей иллюстрации. Поскольку мы все равно ничего не сканируем, мы можем выбрать политику Evaluation, чтобы получить представление о возможностях сканера.

Выбрав политику, мы можем просмотреть параметры в специальном редакторе Policy Editor. Выберите Choose Policy/Edit Current, чтобы открыть окно Policy Editor, которое показано на рис 12.18.
(рис 12.18) Окно Policy EditorНаиболее сложно в использовании Internet - это понять, что вы перед собой видите. Вы можете потратить часы, изучая различные типы тестов и приемы получения информации. Вы можете даже выбрать различные представления конфигурации вашей политики.
На рис 12.19 показан тот же редактор политик Policy Editor, но в другом представлении. Выбрав Risk View из ниспадающего списка вверху, вы можете перестроить список уязвимостей в порядке убывания риска, в отличие от стандартной организации по категориям на рис 12.18.
(рис 12.19) Вид редактора Policy Editor в конфигурации по уровню рискаРедактор политик в обязательном порядке заставляет вас выбрать тип тестов уязвимости, который вы хотите включить в сканирование. Вы можете щелкнуть на поле выбора, следующем за списком элементов, чтобы включить или отключить конкретный тест. Вы также можете отключить целую группу тестов. Если вы хотите отключить сканирование всех уязвимостей среднего уровня, вы можете щелкнуть в окне рядом с полем Medium (304) на левой панели, показанной на рис 12.19, чтобы очистить поле. Так будут отключены все 304 теста со средним уровнем риска. Вновь щелкнув, можно заново задействовать 304 теста уязвимостей со средним уровнем риска.
Как только вы закончили модификацию политики, щелкните на значке с диском для сохранения политики или просто закройте Policy Editor (он должен спросить, хотите ли вы сохранить сделанные изменения). С этого момента вы должны вернуться в главное окно
После работы с мастером New Session Wizard в начале сессии у вас уже должны быть заданы IP-адреса, которые вы хотите сканировать. Как только вы настроили политику сканирования в соответствии со своими предпочтениями, можно начинать работу.
(рис 12.20) Результаты ISS-сканированияОткройте закладку
Сканер может находить ошибки конфигурации политик Windows и ошибки конфигурации служб. Например, уязвимость identdresp показывает, что мы запустили демон identd, который может использоваться удаленной машиной для определения имен пользователей в системе.
Открытая закладка Services, показанная на рис 12.22, показывает какие Internet- и Windows-службы запущены на машине. Все службы, которым не следует работать, не должны работать. Используя Internet , вы можете с одного места определить все службы, работающие на всех ваших машинах.

(рис 12.22) Уязвимости, обнаруженные при сканировании(рис 12.21) Проверка запущенных служб. Это легко сделать на Windows-машине, где у вас есть полномочия администратора.
(рис 12.23) Закладка AccountsЗакладки слева от окна Session обеспечивают различные способы представления информации о сканировании. Вы можете не только посмотреть информацию по конкретному хосту, но и быстро просмотреть, какие из машин имеют конкретные уязвимости, на каких из них запущены конкретные службы, и на каких активны конкретные пользователи.
Как и другие сканеры уязвимости, ) можно получить дополнительную информацию по поводу написания FlexChecks. Кроме того, вы можете поддерживать списки профилей и словарей для
Другая сильная сторона
(рис 12.24) Выбор типа отчетаДалее вас спросят, какие атрибуты вы хотите перечислить в вашем отчете. Если вы выполняли множественное сканирование или
(рис 12.25) Выбор критериев для отчетаКогда вы закончите,
Программа Tripwire несколько отличается от других утилит, обсуждавшихся в этой лекции. Она предназначена для аудита файлов и приложений, а не уязвимостей в этих файлах и приложениях. Tripwire размещается в системе и проверяет наличие изменений в любых файлах. Вы можете настроить ее на проверку важных двоичных файлов, исполняемых модулей и конфигурационных файлов, которые не должны изменяться. Если в этих файлах обнаружены изменения, Tripwire записывает информацию в журнал и может даже послать уведомление по электронной почте. Важно заметить, что Tripwire может только обнаружить изменения и уведомить об этом; программа не может предотвратить несанкционированные изменения файлов. И все же, Tripwire - великолепное средство для предохранения системы от "троянских коней" и гарантия того, что неавторизованные пользователи не будут играть с критическими файлами.
(рис 12.26) Отчет об уязвимостях для администрации/. Однако отдельная, свободно распространяемая версия /. В этом разделе обсуждаются обе версии. В действительности Tripwire работает одинаково в обеих версиях, но управление узлами Tripwire в коммерческой версии проще.
Каким образом осуществляется мониторинг файлов? Программа отслеживает такие позиции, как размер файла и контрольная сумма файла, представляя их в качестве сигнатуры, которая не должна меняться. Мы познакомимся с различными параметрами сигнатуры файлов в разделе "Представление о файлах политики Tripwire ".
Tripwire. За дополнительной информацией обращайтесь к лекции "Черный ход и средства удаленного доступа".Рассмотрим свободно распространяемую версию Tripwire для Linux. Для программы доступны как rpm-пакеты, так и исходные тексты. Независимо от того, какую версию вы устанавливаете, есть некоторые обязательные действия, которые придется выполнить перед установкой Tripwire.
Скрипт install.sh используется для установки Tripwire и должен быть запущен с полномочиями пользователя root. Запустив этот скрипт, вы получите запрос на подтверждение о согласии с лицензионным соглашением и выборе директории для установки программы (как правило, лучше использовать установки по умолчанию). После этих стандартных операций вас попросят ввести секретную фразу. Эта фраза используется для шифрования политик, баз данных и конфигурационных файлов с целью защиты их от подделки. Как только вы введете секретную фразу, скрипт сгенерирует ключ для шифрования ваших файлов. Вы получите запрос относительно общей секретной фразы для шифрования конфигурационных файлов и файлов политик. Секретная фраза будет сохраняться в виде текста на случай, если вы захотите что-то изменить.
Tripwire использует общий ключ для шифрования ваших файлов политик и конфигурационных файлов и локальную фразу для шифрования баз данных и отчетов. Установка общей и локальной секретных фраз позволяет вам (и только вам) расшифровать эти файлы для просмотра и модификации.Файлы политик указывают Tripwire на то, какие файлы проверять, какую информацию просматривать и когда предупреждать вас о том, что произошли какие-то изменения. Устанавливаемый по умолчанию файл политик, twpol.txt, содержит определение переменных и правил. Более детально они рассматриваются в разделе "Представление о файлах политики Tripwire ". Конфигурационный файл, twcfg.txt, хранит информацию о месте положения файлов и другие предпочтения, которые должно использовать приложение Tripwire. Обычно вам не потребуется изменять конфигурацию по умолчанию.
Оба эти файла шифруются с использованием общей секретной фразы в процессе инсталляции. Действительные файлы конфигурации и политики, которые использует Tripwire, называются tw.Tripwire также устанавливает незашифрованные копии файлов (twpol.txt и twcfg.txt) на случай, если вы захотите просмотреть или изменить их. Рекомендуется удалить все текстовые копии файлов после того, как вы изучите их содержание. Если позже вам понадобится изменить любой из этих файлов в текстовом формате, вы можете воспользоваться утилитами, которые обсуждаются в разделе "Другие утилиты Tripwire ".
У Tripwire четыре основных режима работы: инициализация базы данных, интегральная оценка, обновление базы данных и обновление политики.
Режим инициализации базы данных. Перед тем как вы сможете сравнивать файлы в вашей системе с правильной сигнатурой, вы должны создать основу для этих сигнатур. Режим инициализации базы данных использует файл политики для выполнения этой работы и создания базы сигнатур. При этом используются значения по умолчанию из конфигурационного файла, если только вы не задали другие значения в командной строке. Ниже приведена командная строка, которая запускает режим инициализации базы данных.
# tripwire -m i -v
Параметр -m используется для задания режима ( -m показывает режим инициализации базы данных). Вы получите запрос на ввод локальной секретной фразы, и Tripwire понадобится несколько минут на проверку ваших файлов в процессе создания базы данных сигнатур файлов. Параметр -v используется для отображения процесса работы программы на экране. Как только будет создана база данных, она сохранится в двоичном файле Tripwire Database (.twd), который доступен для записи только пользователю root (обычно в директории /var/lib/ tripwire) и зашифрована с использованием локального ключа. Файл может быть прочитан только с помощью команды twprint, которую может запустить только пользователь root. Вы можете проверить, что права на доступ к файлу и директории с данными Tripwire (по умолчанию /etc/tripwire and /var/lib/tripwire) запрещают другим пользователям доступ на чтение и изменение этой информации.
Режим интегральной оценки. Это обычный режим работы Tripwire. Программа сканирует файлы в поисках любых нарушений заданной политики. Отчет о работе сохраняется по адресу, заданному в переменной REPORTFILE в файле tw.
Эта команда может сопровождаться заданием некоторых параметров. Вы можете задать альтернативные имена файлов политики, -I ), который после завершения сканирования создает текстовый файл отчета в тестовом редакторе по умолчанию. Для сохранения ваших отчетов в зашифрованном виде воспользуйтесь параметром -E для ввода локальной секретной фразы. Вы также можете изменить политику, проигнорировав отдельный параметры ( -i ), делая проверки только определенного уровня опасности ( -l ), используя при проверке только заданные по именам правила ( -R ), или проверяя только определенные файлы. Например, если мы проверяем целостность только команды ls, мы должны ввести:
# tripwire -m c -v /bin/ls
Здесь мы задали режим интегральной оценки ( -m c ) с включенным расширенным -v ). Если мы не задаем имя файла в конце командной строки, Tripwire проверяет все файлы в базе данных, которая определена по умолчанию. Следующая команда задает для программы проверку только файлов с самым высоким уровнем опасности (более 100):
# tripwire -m c -v -l 100
Уровень опасности и имена правил могут быть заданы в файле политики. Параметры -i, -l и -R станут понятнее после прочтения раздела "Представление о файлах политики Tripwire".
twprint. Вы также можете воспользоваться утилитой twprint для распечатки в текстовом виде базы данных Tripwire (.twd). По умолчанию только пользователь с полномочиями root может запустить утилиту twprint, гарантирующую, что обычный пользователь не сможет увидеть содержание этих баз данных и отчетов.После того как будет создана база данных, и вы запустите интегральную проверку, можете настроить утилиту cron для автоматического выполнения Tripwire каждую ночь, еженедельно или так, как пожелаете.
Режим обновления базы данных. Если файл изменен и эти изменения законны, вам необходимо обновить базу данных для сохранения сведений о произведенных изменениях, чтобы информация об этих изменениях постоянно не попадала в отчеты. Чтобы воспользоваться этим режимом ( -m u ), вам необходимо найти ваш самый последний отчет и задать его в командной строке с помощью параметра -r:
# tripwire -m u -r /var/lib/tripwire/report/host-20020330-235028.twr
В результате этого в текстовый редактор будет передан текстовый файл отчета, который будет содержать полную информацию о сканировании. Вы сможете увидеть имя каждого правила из файла политики, уровень опасности и то, сколько правил обнаружили изменения.
Если вы пролистаете раздел Object Summary отчета, вы сможете увидеть так называемые ballot boxes для каждого изменения, которое было произведено с момента последнего обновления базы данных и последней интегральной оценки:
----Rule Name: Tripwire Data Files (/var/lib/tripwire) Severity Level: 100 ----Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Added: [x] "/var/lib/tripwire/originix.twd"
Если вы оставите строки, помеченные символом x, без изменений, то база данных будет обновлена с учетом этих изменений, и они не будут в дальнейшем учитываться при проведении интегральной оценки. Если вы удалите символы x, то покажете, что эти несанкционированные изменения и база данных должны остаться неизмененными.
После того как вы выйдите из редактора, Tripwire запросит у вас ввод локальной секретной фразы, чтобы получить возможность обновить базу данных, если в нее должны быть внесены какие-либо изменения. Вы также можете выбрать режим внесения всех изменений без предварительного просмотра, задав в командной строке параметр -a.
Режим обновления политики. Когда вы лучше узнаете Tripwire и будете получать все больше и больше предупреждений, которые на самом деле будут ложными, вам захочется поиграть с политикой. Ниже приведена командная строка, с помощью которой можно обновить файл политики, задав новую, с использованием текстового файла newpolicy.txt:
# tripwire -m p newpolicy.txt
После обновления политики база данных будет обновлена, исходя из правил новой политики. Вам вновь понадобятся общая и локальная секретные фразы, чтобы получить доступ к файлам политики и базе данных.
Мы кратко обсудим проблему создания политики для Tripwire в разделе "Представление о файлах политики Tripwire "
Tripwire поставляется с несколькими утилитами: twprint, twadmin и siggen.
Twprint. Как уже упоминалось, у twprint два режима работы: утилиту можно использовать для распечатки любого файла отчета ( -m r ) или базы данных ( -m d ) в виде текстового файла.
Twadmin. Twadmin представляет собой интерфейс администратора для создания и просмотра конфигурационных файлов, создания и просмотра файлов политик, добавления или удаления шифрования в файлы и генерации новых ключей для шифрования.
Tripwire, применив режим обновления политики приложения Tripwire ( tripwire -m p newpolicy.txt ).Siggen. Утилиту siggen можно использовать для отображения шифрованных сигнатур для любого файла. Эти шифрованные строки являются сигнатурами, которые использует Tripwire для сравнения содержимого файла и анализа. Tripwire поддерживает формат шифрованной строки вида
Файлы политики определяют для Tripwire, что следует и чего не следует искать. Обычно это шифрованные файлы в двоичном формате, но вы можете воспользоваться командой twadmin -m p current- policy.txt, чтобы сохранить текущий двоичный файл политики в текстовом формате и отредактировать его. Синтаксис текстового файла может оказаться весьма сложным для понимания. Он содержит определения переменных и определения правил. Каждое правило содержит две главные части: имя файла или директории и маску свойств. Ниже приведена часть примера файла политики.
/bin/login -> $(SEC_CRIT) ; /bin/ls -> $(SEC_CRIT) ; /bin/mail -> $(SEC_CRIT) ; /bin/more -> $(SEC_CRIT) ; /bin/mt -> $(SEC_CRIT) ; /bin/mv -> $(SEC_CRIT) ;
Обратите внимание, как имя файла или имя объекта отделяется от маски свойств символом -. SEC_CRIT представляет собой переменную, определенную в начале файла, которая задает разрешенную маску свойств. Обратите также внимание, что каждое правило завершается точкой с запятой (;).
Разрешенная маска свойств. Маски Tripwire управляют тем, какие свойства проверяются в каждом файле. Свойства, обозначенные знаком (+), проверяются, обозначенные знаком (-) - нет. Свойства, которые не обозначены соответствующим знаком, предположительно могут быть проверены. В этом случае все свойства, которые не включены в командную строку, игнорируются. В таблице 12.2 показаны описания каждого свойства.
| Свойство | Описание |
|---|---|
a |
Последнее время доступа. |
b |
Блоки с выделенной памятью. |
c |
Создать/изменить время. |
d |
Устройство ID, на котором находится |
g |
Групповой ID владельца файла. |
i |
Номер |
l |
Файл с разрешенным увеличением размера (хорош для чего-либо из /var/log). |
m |
Модификация отмены времени. |
n |
Контрольный счет |
p |
Разрешение на чтение/запись/исполнение файла и режима ( |
r |
Указание |
s |
Размер файла. |
t |
Тип файла (текстовый, данных, исполнимый). |
u |
Пользовательский ID владельца файла. |
C |
Шифрованная строка по методу CRC32. |
H |
Шифрованная строка по методу |
M |
Шифрованная строка по методу MD5. |
S |
Шифрованная строка по методу |
-i, задаваемый в режиме интегральной оценки ( -m c ), используется для игнорирования конкретных свойств в процессе проведения проверки. Например, выполняя команду tripwire -m c -i "p,s,u", мы сообщаем Tripwire, что необходимо выполнить интегральную оценку для всех файлов, но при этом игнорировать все изменения полномочий доступа, размеров файлов или пользовательских идентификаторов владельцев файлов.Если вы хотите произвести проверку содержимого шифрованной строки MD5, размера файла, полномочий доступа и пользователя/группы владельца файла, то нужно воспользоваться командой:
/home/myfile -> Mspug
Эту команду также можно написать так:
/home/myfile -> +Mspug-abcdilmnrtCHS
Чтобы сделать жизнь проще, Tripwire поставляется с несколькими заранее заданными переменными, которые можно использовать для определения маски свойств. Они приведены в таблице 12.3.
Вы также можете задать свою собственную маску свойств в файле политики. Помните, что переменная SEC_CRIT, о которой мы упоминали в начале этого раздела, представляет собой маску свойств и определяется следующим образом:
SEC_CRIT = $(IgnoreNone)-SHa
Любые правила, которые используют маску свойств SEC_CRIT, будут проверять все свойства, за исключением , и времени последнего доступа к файлу.
| Переменная | Значение | Описание |
|---|---|---|
ReadOnly |
+pinugtsdbmCM-rlacSH |
Следит за полномочиями, |
Dynamic |
+pinugtd-srlbamcCMSH |
Следит за разрешениями, |
Growing |
+pinugtdl-srbamcCMSH |
Следит за тем же, что и Dynamic, но проверяет, что этот файл только увеличивается. Если файл внезапно становится меньше, то Tripwire привлечет ваше внимание. Хороша для файлов протоколов. |
Device |
+pugsdr-intlbamcCMSH |
Следит за разрешениями, правом владения, размером |
IgnoreAll |
-pinugtsdrlbamcCMSH |
Следит только за наличием файла, а не его свойствами. |
IgnoreNone |
+pinugtsdrlbamcCMSH |
Следит за всеми свойствами файла. |
Некоторые правила с использованием переменной маски свойств можно посмотреть здесь:
/var/log/messages -> $(Growing); /dev/fd0 -> $(Device); /home/jdoe/.netscape -> $(IgnoreAll); /etc/inetd.conf -> $(ReadOnly);
Атрибуты правил. Атрибуты правил могут относиться к отдельным правилам или группам правил, как это показано в таблице 12.4.
| Атрибут_правила | Описание |
|---|---|
rulename |
Присваивает имя правилу или группе правил. Помогает в подразделении ваших правил и упрощает понимание при просмотре резюме отчетов по проверке целостности. |
emailto |
Если проверка на целостность Tripwire проводится с опцией -email-report, то где бы правило с этим признаком не запускалось, будет послан e-mail на заданный список e-mail-адресов. Несколько e-mail-адресов должны быть разделены точкой с запятой и заключены в двойные кавычки. |
severity |
Задает уровень строгости правила или группы правил. Значения могут варьироваться от 0 до 1000000. Это позволяет использовать Tripwire для сканирования только на определенный |
|
Сообщает Tripwire, должен ли он сканировать все вложенные директории в директории (значение true), или он не должен сканировать ни в каких вложенных директориях (значение false), или же он должен сканировать только на определенную глубину вложенных директорий (числовое значение). |
Отдельным правилам атрибуты могут присваиваться добавлением их в скобках в конце строки перед точкой с запятой. Чтобы присвоить атрибуты группам правил, их следует помещать в скобках перед правилами. Правила, следующие за атрибутами, на которые распространяется их действие, должны помещаться в фигурных скобках. Ниже приведен пример правил из файла политики:
/var/log/messages -> $(Growing) (rulename = Log, severity = 10);
/etc -> $(ReadOnly) (rulename = Etc, recurse = 2);
(rulename = Bin, severity = 100, recurse = false,
emailto="root;bob@home")
{
/bin/cat -> $(IgnoreNone)-SHa ;
/bin/date -> $(IgnoreNone)-SHa ;
/bin/dd -> $(IgnoreNone)-SHa ;
/bin/df -> $(IgnoreNone)-SHa ;
}
Мы создали правило с названием "Log" с уровнем опасности 10 для файла /var/log/messages. Правило использует маску свойств Growing, которая показывает, что Tripwire проверяет такие свойства, как владельца файла, полномочия доступа и изменение размера. Правило "Etc" использует рекурсивный атрибут, чтобы указать программе на необходимость в процессе интегральной оценки просматривать файловую систему только на глубину двух директорий и использовать маску свойств ReadOnly. Правило "Bin" объединяет несколько тестов с уровнем опасности 100. Правила тестирования для четырех важных Unix-приложений для проверки изменений всех свойств за исключением
-R для режима интегральной оценки ( -mc )? Вы можете включить этот параметр, чтобы обозначить необходимость использования только конкретных правил. К примеру, команда tripwire -m c -R Bin может быть использована в случае, если необходимо выполнить проверку по правилу "Bin".Специальные правила: точки останова. Если вы хотите сканировать директории, но пропускать отдельные файлы, то можете использовать специальные правила, которые называются точками останова ( stop points ), чтобы игнорировать эти файлы. Точки останова представляют собой просто имена файлов или директорий, следующие за восклицательным знаком:
/etc -> $(ReadOnly); !/etc/dhcpd.leases; !/etc/motd;
Это правило говорит о необходимости убедиться, что в директории /etc все файлы имеют свойства "только для чтения", за исключением файлов /etc/dhcpd.
Директивы. Наконец, файл политики может содержать директивы, которые позволяют вам распечатывать Tripwire, которая кратко обсуждается в разделе "Реализация: коммерческая версия". Доступные директивы перечислены ниже.
Tripwire игнорирует разделы файла NTFS или NTREG, что позволяет вам использовать один файл политики для всей вашей сети. Если после директивы не задано никаких аргументов, предполагается значение FS. Нет необходимости определять конец раздела, поскольку Tripwire просто просматривает файл в поисках следующей директивы и интерпретирует ее, как конец предыдущего раздела.ifhost требуют, чтобы предложение было завершено директивой endif. Это позволяет вам запускать правила только для конкретного хоста в группе хостов, воспользовавшись примерно такой командой:@@ifhost originix || badman # define rules for only hosts originix and badman here @@endif
Tripwire выдать сообщение в случае, если будет сделана попытка проверки хоста cauliflower, поскольку для этого хоста не предусмотрено никаких правил проверки:@@ifhost cauliflower
@@error "We haven't written any policy rules for
host cauliflower yet"
@@endif
Tripwire прекращает считывание файла.Использование нового файла политики. После того как вы модифицировали или создали новый файл политики (назовем его newpolicy.txt), воспользуйтесь командой tripwire -m p newpolicy.txt, чтобы дать возможность программе использовать новый файл политики и, соответственно, обновить базу данных.
Коммерческая версия Tripwire работает точно так же, как и свободно распространяемая. Приложения и форматы файлов точно такие же. Однако коммерческая версия доступна практически для всех операционных систем, включая Windows NT, Windows 2000, Solaris и другие. Существенным преимуществом по сравнению с бесплатной версией, кроме того, что она поддерживает многие операционные системы, является наличие утилиты twagent. Эта утилита позволяет Tripwire -серверам управляться по сети через SSL-соединение. Это управляющие программное обеспечение называется Tripwire Manager и доступно для Windows NT, Windows 2000, Solaris и Linux.
Tripwire Manager, показанный на рис 12.27, взаимодействует с каждым коммерческим Tripwire -сервером с помощью утилиты twagent. Это позволяет вам распространять сервера и обновлять политики и базы данных из одного места.
На Windows-машинах twagent запускается в качестве службы, и его можно запускать и останавливать из панели управления или с помощью средств администрирования. На Unix-машинах twagent представляет собой программу, запускаемую из командной строки. Вы можете запускать и останавливать ее, используя команды twagent -start и twagent -stop.
(рис 12.27) Главное окно Tripwire ManagerДобавление сервера Tripwire. Когда вы установили на машине Tripwire Server и запустили службу twagent, машина становится узлом Tripwire. Вы можете добавить узел в Tripwire Manager и в главном окне Tripwire Manager, выбрав Action/Add Machine и открыв диалоговое окно Add Machines, приведенное ниже. Здесь вы задаете IP-адрес узла и порт, который будет прослушивать twagent. Вам также понадобится ввести секретную фразу для консоли Tripwire Manager (заданную в процессе установки Tripwire Manager ), а также общую и локальную секретные фразы для машины, которую вы добавляете.
Вы также можете импортировать машины из текстового файла, который содержит значения, разделенные запятой. Для этого достаточно щелкнуть на кнопке Import. Пример файла для импорта представлен ниже. Здесь 192.168.1.1 - IP-адрес узла Tripwire, а 1169 - TCP-порт, который прослушивает twagent.

"Name","192.168.1.1","1169","Memo","site_password","local_password"
Редактирование файлов политики. Вы можете просматривать и изменять файлы политик для всех ваших .
(рис 12.28) Редактирование файлов политикиВы уже знакомы с синтаксисом файла политики, но вы можете использовать Tripwire Manager, чтобы создать один файл политики для всех ваших операционных систем (воспользовавшись директивой "Section", о которой упоминалось в разделе "Директивы") и распространить этот файл по всем вашим серверам, щелкнув на значке Distribute File.
Графический интерфейс для Tripwire. Все хорошее, что есть в бесплатной версии ), обновить базы данных, обновить политики и все остальное. Tripwire Manager имеет возможность задать расписание работы, чтобы агенты могли выполнять сканирование самостоятельно, по расписанию, обеспечивая контроль из одной точки, вместо настройки утилиты cron или Windows Scheduler на каждой машине.
На рис 12.29 показаны результаты интегральной оценки, выполненной агентом Tripwire Agent #3. Tripwire Manager не только облегчает управление службами, но может создавать сводный отчет, более подробный, полный и понятный, чем его Unix-аналог. Перебирая различные закладки (Reports, Objects, Summary и
(рис 12.29) Результаты интегральной оценки
Какие файлы следует просматривать с помощью Tripwire? Вы должны регулярно обращать внимание на все файлы, которые не должны изменяться. Это наиболее важные системные программы (ls, df, login и cmd.exe), библиотеки и DLL, конфигурационные файлы (/etc/inetd.conf, /etc/ passwd и Windows-файлы system.dat и user.dat). Вы также можете проверять файлы, которые должны изменяться предсказуемым образом. Например, следует быть уверенным, что системные журналы постоянно увеличиваются (и никогда не уменьшаются). Следует следить за тем, что никто из ваших пользователей не получил полного доступа (на чтение/запись) к вашей
Когда вы первый раз воспользуетесь Tripwire, хорошо будет начать с большой базы файлов. Возможно, вы получите слишком много ложных сообщений, но, после того как вы просмотрите отчет Tripwire и проанализируете файлы, которые были изменены, вы сможете понять, как создать оптимальную базу данных, которая осуществляет мониторинг только серьезных изменений.
Пример из жизни. Латание дыр
Новый квартал. Вас приняли на работу в маленькую начинающую компанию, занимающуюся интернет-технологиями в качестве менеджера по сетевой безопасности. Эта компания выполняет Web-хостинг и хостинг приложений для небольших и средних компаний. Они имеют внутреннюю сеть, объединяющую различные регионы США. Сеть использует VPN-оборудование. Кроме того, у них есть клиентские сети, которые они поддерживают и у себя, и на местах. Они используют различные операционные системы и платформы, включая Windows NT, Windows 2000, Linux, FreeBSD, IRIX, Solaris и HP-UX. У них 50 серверов и 100 рабочих станций. Сетевой менеджер компании дал вам карту этих различных сетей, указав типы машин, операционных систем, сетевых местоположений и целей. Менеджер департамента интернет-технологий сказал вам, что ваша первая задача - "залатать дыры". Он велел найти любые области уязвимости и работать с соответствующими департаментами, чтобы заделать дыры до конца месяца. Без дополнительной помощи (и, естественно, бюджета) вы берете свою карту сети и свой надежный портативный компьютер и садитесь планировать свою стратегию.
Сканирование с помощью Nessus. После изучения многих автоматизированных средств сканирования, которые могут помочь вам при решении задачи, вы понимаете, что большинство из них являются коммерческими продуктами. Поскольку вам не предоставили никакого бюджета для реализации проекта, вы знаете, что придется оценить эти коммерческие продукты и предложить рентабельное решение. К счастью, вы знаете одно бесплатное средство, которое может подсказать, насколько дырявыми являются системы вашей сети в действительности. Вы загружаете, компилируете и инсталлируете Nessus на своем надежном компьютере с двойной загрузкой
Непосредственно перед началом сканирования вы просматриваете модули, чтобы понять, что нужно, а что не нужно проверять. Вы решаете отключить проверку на DoS, и оставить ее на промежуточное сканирование. Вы дважды проверяете свои значения и начинаете сканирование. Поскольку вы знаете, что это займет большую часть дня, то у вас есть масса времени, чтобы начать оценку некоторых из коммерческих приложений. Завершив сканирование Nessus и сравнение, что он может сделать с тем, что могут сделать некоторые коммерческие продукты, вы можете направить предварительный отчет менеджеру по интернет-технологиям.
Глубоко копаем безопасность Windows. Вы загружаете копию STAT STAT работает только с вариантами RedHat Linux и Solaris Unix. А поскольку у вас используются несколько операционных систем FreeBSD, IRIX и HP-UX, то вы видите, что STAT не даст полной картины. Но когда вы запустите его на локальных Windows-серверах своего домена, то получите сведения обо всех типах "старушек", которые Nessus найти не смог, включая практику регистрации и пароля, неправильную конфигурацию реестра и другие, относящиеся к Windows вопросы. Теперь вы уверены, что вам необходимо приобрести какой-либо коммерческий сканер в дополнение к Nessus. Но следует проверить и другие доступные продукты, чтобы принять более обоснованное решение.
Необходимое вам верное средство. После предварительного изучения STAT вы понимаете, что не сможете найти и залатать столько дыр, сколько требуется (особенно службы Windows, регистрационные записи и практические неправильные конфигурации), если не выложите немного денег. Вы радуетесь, что можете бесплатно воспользоваться приложением Nessus для общего удаленного сканирования и STAT for Windows для внутреннего и внешнего сканирования. Это должно закрыть большинство дыр. Вы можете также рекомендовать системным администраторам подписаться на рассылку обновленных редакций безопасности для своих конкретных операционных систем, чтобы закрыть все, что сканеры могли упустить.
Однако вы до сих пор не испытали один из наиболее популярных на рынке сканеров на уязвимость: комплект продуктов Internet . Даже если вы можете использовать его только на своей машине, вы понимаете, что оно может обнаружить больше уязвимостей, чем Nessus или оценочная версия Retina. Нужно только помнить, что средство проверки системы не всегда точно сообщает об уязвимостях. То, что
Просматривая некоторые из уязвимостей, найденных в вашей системе, вы понимаете, что это средство выявило множество проблем, тех же, что и STAT. Теперь время поджимает. Вы знаете, что нужно больше, чем бесплатные приложения, чтобы хорошо выполнить работу. Вам нужно подготовить предложения менеджеру по интернет-технологиям, сравнивая решения Nessus и STAT с решением
Если бы программное обеспечение всегда работало так, как это предполагается, то нам не понадобилось бы писать эту лекцию. Но поскольку мы живем в несовершенном мире, то можем быть уверены в том, что приложения и службы, запущенные на нашей машине, неизбежно будут содержать ошибки. Особенно плохо то, что любое хорошо написанное приложение может работать в нашей системе неправильно сконфигурированным. Ошибки и неверная конфигурация могут облегчить взломщику задачу незаметного проникновения в вашу сеть и систему. Эти проблемы также могут позволить взломщику испортить вам день атакой на критические системы и службы.
Ошибки и неправильная конфигурация называются уязвимостью. Почти каждая система в вашей сети имеет различные уязвимости. Некоторые уязвимости известны как потенциально опасные для взлома, и поставивший себе такую задачу взломщик может рыскать по интернету в поисках программного кода, который может быть взломан. Другие уязвимости пока не несут в себе потенциальной опасности взлома, но всегда могут найтись люди, которые, поработав как следует, над этим вопросом, могут добиться результата. Многие уязвимости просто остаются необнаруженными и ожидают своей очереди.
Атаки на уязвимости обычно влекут за собой крах служб или нарушение нормальной работы. Некоторые из этих атак приводят приложение в состояние, при котором оно не сможет работать; другие пожирают такое количество системных ресурсов, что система не может далее выполнять свои функции. Такие атаки на отказ в обслуживании называются
Другие уязвимости позволяют взломщику заставить приложение выполнять функции, которые они в обычных условиях выполнять не должны. И поскольку многие службы выполняются с полномочиями пользователя root или администратора (и то и другое не всегда обязательно), взломщик может получить в системе привилегии суперпользователя, избежав обычного процесса авторизации. При таком сценарии есть два типа уязвимостей, которые могут быть использованы: ошибка, позволяющая манипулировать службой непредусмотренным образом (такая, как переполнение буфера - см. лекцию "Простые средства аудита исходных кодов"), известная, как уязвимость приложения, и ошибка конфигурации службы (запущенной с полномочиями администратора), известная как уязвимость конфигурации. Если служба запущена с полномочиями непривилегированного пользователя с ограниченными правами доступа, то взломщик, использовавший уязвимость приложения, не сможет получить большие полномочия. Если взломщик использовал переполнение буфера против Web-службы, которая запущена с полномочиями администратора, и переполнение буфера привело к возможности выполнения системных команд от лица пользователя Web-службы, то взломщик получает полный доступ к системе. Однако если взломщик использует переполнение буфера против Web-службы, которая запущена с полномочиями непривилегированного пользователя ("IUSR"), то он получит доступ только к той части системы, к которой имеет доступ пользователь IUSR. Устраняйте уязвимости конфигурации, уязвимости приложения доставляют меньше хлопот.
Цель для менеджеров и администраторов сети - найти уязвимости в сети раньше, чем это сделает кто-то другой.
Программа /. Программа обеспечивает эффективную чистку систем в вашей сети от известных ошибок конфигурации сети и уязвимостей приложений. В этой лекции мы сосредоточимся на версии 1.0.10 программы, а также обсудим версию 1.2.0, которая скоро будет выпущена. В Nessus 1.2.0. добавлены возможности типа поддержки SSL, оптимизации проверки уязвимостей и возможность сохранения сессии.
Nessus - клиент-серверное приложение. Сервер nessusd запускается под управлением Unix и выполняет черную работу, сохраняя информацию о различных тестах уязвимости и выполненном сканировании. Он имеет собственную пользовательскую базу данных и метод безопасной аутентификации, так что удаленные пользователи, использующие клиент Nessus (Unix- или Windows-версии) могут войти, настроить сканирование уязвимостей и установки соответствующих режимов.
Создатели Nessus разработали соответствующий скриптовый язык (называемый Nessus , или NASL ) для использования в рамках приложения. В Nessus сканирование каждой из уязвимостей строится на основе отдельного встраиваемого модуля, написанного на NASL. Такая модульная архитектура позволяет легко добавлять процедуры сканирования уязвимостей (и, возможно, тестов на взлом), как только будут обнаружены новые виды уязвимостей. Сообщество Nessus поддерживает собственную базу уязвимостей, обновляемую ежедневно, и они предлагают простой скрипт ( nessus-update-plugins ), который вы можете запустить еженощно (поместив в директорию cron) для автоматического обновления базы встраиваемых модулей.
Cron - Unix-утилита, которая считывает список команд (называемый crontab ) и запускает эти команды в заданное время. Эта утилита предустановлена в Unix. Синтаксис для настройки crontab выходит за рамки этой книги, но большинство Linux-систем предоставляют вам директории в /etc/, такие как cron.daily, cron.weekly и cron.monthly. Вы можете написать короткий shell-скрипт, содержащий команды, которые вы хотите выполнить вместе с соответствующими параметрами и поместить этот скрипт в соответствующую директорию (например, в cron.daily, если вы хотите, чтобы скрипт выполнялся каждую ночь). Вы можете узнать больше о cron и crontab, посмотрев в справочную систему Unix.Nessus - интеллектуальная программа: он может распознать службу, запущенную на другом порту, отличном от стандартного номера порта, который предусмотрен в Internet Nessus может найти его и попытаться протестировать с помощью CGI-теста. С другой стороны, если Nessus не может найти ни одного Web-сервера в системе, которую он сканирует, он пропустит для этой системы все тесты для Web-сервера и CGI-тесты.
Nessus отличается тщательностью, так как многие встраиваемые процедуры не только сканируют систему на наличие уязвимостей, но и пытаются осуществить взлом уязвимостей и составляют об этом соответствующий отчет. Иногда такая деятельность может быть немного опасна, поскольку удачный взлом может привести к краху сканируемой системы или к потере данных. Тем не менее, поскольку Nessus дает полное описание того, как тестируется та или иная уязвимость, вы можете принять решение о том, какие тесты не следует применять.
В отличие от многих свободно распространяемых Unix-утилит, Nessus составляет необычайно подробные отчеты, хорошо построенные и доступные в различных выходных форматах, таких как notes ) до предупреждения ( warnings ) и дыр ( ), каждый из которых разбивается по уровням от низкого ( Low ) до очень высокого ( Very High ).
Инсталляция демона Nessus может оказаться сложной. Он требует для своей установки наличия GIMP Toolkit (GTK) и nmap (см. лекцию "Сканеры портов"). Nessus можно загрузить в четырех отдельных пакетах: nessus-libraries, libnasl, nessus-core и nessus-plugins. Каждый пакет необходимо загрузить, скомпилировать и инсталлировать (обычно с помощью процедур configure, make, make install ) в том порядке, как эти пакеты были перечислены. Nessus также поставляется в едином архиве ( nessus-installer.sh ), который включает все пакеты и обеспечивает для вас полную инсталляцию.
Помните, что Nessus - клиент-серверное приложение. После успешного завершения компиляции следующим шагом будет запуск демона, который поддерживает запросы по сканированию и выполняет основную работу. Для начала необходимо сконфигурировать демона.
Поскольку у клиента Nessus должна быть возможность соединиться с демоном, в первую очередь необходимо создать сертификат для демона (для версии 1.2.0 - если вы хотите, чтобы связь между клиентом и сервером шифровалась по протоколу SSL) и создать как минимум один клиентский профиль. Утилита nessus-mkcert, входящая в состав Nessus 1.2.0, позволяет создать nessus- может быть использована для добавления пользователей в базу данных Nessus. При запуске утилиты nessus- вы получаете запрос на ввод имени пользователя и типа аутентификации. Версия 1.2.0 позволяет сделать выбор между аутентификацией по паролю или по сертификату. Для пользователей версии 1.2.0 обычно достаточно аутентификации по паролю. Для пользователей более ранних версий предпочтительней аутентификация по коду. Вас могут попросить настроить параметры, описывающие, откуда разр
ешен доступ пользователям (по умолчанию отовсюду), и ввести Nessus первый раз с использованием имени пользователя и пароля, все последующие соединения не потребуют ввода пароля. Если вы используете версию 1.2.0, пароль вам может понадобиться каждый раз, если только вы не задали аутентификацию по сертификату (см. страницы справки). Вы можете сконфигурировать правила для каждого пользователя (например, какие машины разрешено сканировать пользователю), но многопользовательская конфигурация выходит за рамки тем, обсуждаемых в этой книге. Для наших целей оставьте список правил пустым, нажав CTRL-D и подтвердив создание пользователя, введя символ y и нажав ENTER.
Файл nessusd.conf (который устанавливается по умолчанию в директорию /usr/local/etc/nessus/) содержит несколько глобальных параметров сканирования, которые вы захотите пощупать. Переменная max_threads (по умолчанию равна 8) может быть увеличена, если вы хотите ускорить сканирование, и ваша система может выдержать нагрузку. В добавление к легко читаемому отчету Nessus может сохранять детали каждого своего теста в журнале. Это особенно полезно, если вы увидите в отчете что-то, что покажется вам необычным, и захотите понять, почему появилось это сообщение в отчете. Вы можете сконфигурировать место размещения этого журнала (по умолчанию /usr/local/var/nessus/nessusd.messages ) и logfile и другие относящиеся к этому переменные ( log-:).
Другой важный параметр предназначен для настройки интервала портов, которые вы хотите сканировать ( port_range ). Nessus сначала использует nmap, чтобы определить порты, прослушиваемые в системе. По умолчанию, Nessus прослушивает порты с номером больше 15000. Увеличение интервала сканирования увеличивает время работы, но это необходимо, если вы хотите осуществить полное сканирование сети.
max_threads и port_range могут быть сконфигурированы для каждого индивидуального теста отдельно с использованием клиента Nessus. Изменение этих параметров здесь будет иметь глобальный эффект, как будто были изменены глобальные параметры, потому что поиск параметров по умолчанию осуществляется в этом файле.Еще две переменные, которые влияют на продолжительность сканирования (и его точность) - это check_read_timeout и delay_between_tests. Первая переменная определяет время ожидания ответа перед тем, как перейти к следующей операции, а вторая определяет время ожидания перед повторением опроса того же самого порта (в случае с тестом CGI для Web-сервера). Переменная check_read_timeout здесь - существенный фактор. Значение по умолчанию составляет 15 секунд. Уменьшение значения до 5 секунд может сделать ваше сканирование слишком быстрым, но вы можете что-нибудь потерять, закончив ожидание слишком быстро. Есть вероятность, что сканируя локальную сеть, можно установить очень маленькое значение параметра check_read_timeout. Значение по умолчанию для переменной delay_between_tests равно 1 секунде, и это, в большинстве случаев, наилучший выбор.
Завершив изменение конфигурационного файла nessus, вы можете запустить демона ( nessusd -D от пользователя root ) и графического клиента, набрав в командной строке Nessus и нажав клавишу ENTER. Для продолжения следует соединиться с демоном Nessus, воспользовавшись именем пользователя и паролем, созданными ранее с помощью команды nessus-. Если вы выбрали шифрованное SSL-соединение для шифрования трафика между Nessus клиентом и сервером (только для версии 1.2.0), вам придется настроить SSL-соединение (если вы не понимаете, что делать, согласитесь со значениями по умолчанию и примите сертификат). Ранние версии, вместо того чтобы задавать вопрос, в случае если вы хотите создать секретную фразу для защиты ключа пользователя, просто сгенерируют ее (обычно в этом нет необходимости). Затем последует большая дискуссия о том, какие тесты уязвимости (плагины) вы хотите запускать, для каких хостов и
каких портов. Выберите закладку Plugins и вы увидите окно, аналогичное тому, что показано
на рис 12.1.
(рис 12.1) Закладка PluginsПри первом запуске Nessus, возможно, следует отменить все выбранные тесты на закладке Plugins и просмотреть все категории, чтобы получить представление о том, как работает каждый тест (плагин). Хорошей мыслью будет проделывать это с любым сканером уязвимостей. Nessus разбивает все плагины на группы или категории. Эти категории и их краткое описание приведены в таблице 12.1 (описание применимо для версий 1.0.10, 1.2.0)
Категория модуля Nessus |
Версия | Описание |
|---|---|---|
Miscellaneous Разнообразные |
Обе | Производит тесты учетных записей, трассировку и другие разнообразные проверки. |
Удаленный доступ к |
Обе | Проверяет переполнение буфера, обходит идентификацию. |
Неправильное использование |
Обе | Проверяет демонов , которые могут позволить хакерам доступ к защищенным файлам, защищенным системным командам или защищенной пользовательской информации. |
| Windows | Обе | Проверяет на SMB, NetBIOS и другие связанные с Windows уязвимости. |
Backdoors Черные ходы |
Обе | Проверяет на черные ходы, типа Trinity, Netbus, Back Orifice и другие им подобные. |
General Общие |
Обе | Проверяет на способность получить версию и другую информацию о программе, которая может помочь хакеру взломать систему. |
SNMP |
Обе | Проверяет дыры и уязвимости в Simple Network Management Protocol (SNMP) |
CGI Неправильное использование CGI |
Обе | Проверяет на взлом Web-серверов и приложений, таких как IIS, Lotus Domino, Apache, PHP, |
Remote file access Удаленный доступ к файлам |
Обе | Проверка на неавторизованные методы захвата файлов через службы NFS ( |
RPC |
Обе | Проверка на получение информации и взлома уязвимых служб RPC, таких как mountd и statd. |
Удаленный доступ с полномочиями root |
Обе | Проверки на уязвимости, которые позволяют удаленным пользователям получить доступ к полномочиями root или доступ администратору к машине. |
Firewalls Брандмауэры |
Обе | Проверки на брандмауэр, относящиеся к неправильной конфигурации и уязвимостям. |
Useless services Бесполезные службы |
Обе | Проверка на устаревшие службы, которые не должны запускаться или быть доступными в интернете в целом, такие как echo, daytime, |
Denial-of-Service Отказ службы |
Обе | Проверка на взломы DoS для целого ряда приложений и служб Unix и Windows. |
FTP |
Обе | Проверка на относящиеся к FTP уязвимости, включая неправильную конфигурации FTP, ненужный анонимный доступ к FTP, уязвимость FTP |
|
Обе | Проверка на уязвимости, относящиеся к Sun's Network Information Service. |
| SMTP problems Проблемы SMTP | 1.2.0 | Проверка на уязвимости в популярных почтовых серверах (sendmail, Lotus и т.п.). |
Windows User Management |
1.2.0 | Проверка, чтобы получить информацию о пользовательских проблемах и проблемах групповых учетных записей, относящуюся к Windows. |
Nessus сделать попытку обхода IDS-систем.Щелкнув дважды на параметре (тест уязвимости) в нижнем окне, вы сможете получить дополнительную информацию о том, какие настройки доступны для выбранного параметра (обычно, время ожидания). Пример информации, отображаемой по двойному щелчку для параметра .
Некоторые модули тестов уязвимости представляют опасность, поскольку в процессе сканирования могут привести к краху системы. На рис 12.3 показаны опасные модули Nessus, отмеченные значком предупреждения. Можно отключить все опасные модули, щелкнув на значке Enable All But Dangerous Plugins.
Чтобы включить конкретный модуль в процесс сканирования, отметьте соответствующий модуль. После того как вы просмотрите все модули и решите, какие из них будете использовать для сканирования, можете сконфигурировать другие аспекты поведения модулей, расположенные на закладке Prefs (см. рис 12.4).

(рис 12.3) Информация о проверке на уязвимость(рис 12.2) Отключение опасных модулей
(рис 12.4) Установка Nessus preferencesНа закладке Scan Options, показанной на ). Вы можете также просмотреть некоторые из параметров, заданных в файле nessusd.conf (такие как Max threads).
(рис 12.5) Закладка Scan OptionsПоследняя важная часть сканирования - это выбор цели. Вы можете задать единственный IP-адрес или имя хоста, подсеть (192.168.1.0/24) или список хостов и IP-адресов, разделенных запятой. Вы можете также записать IP-адреса и имена хостов в отдельный файл и загружать их, щелкнув на кнопке Read File.
В данном примере, мы хотим сканировать три хоста в сети: 192.168.1.100, 192.168.1.101 и 192.168.1.102, как показано на закладке Target Selection на рис 12.6.
Теперь мы готовы начать сканирование.

(рис 12.7) Закладка Target Selection (Выбор цели)(рис 12.6) Состояние сканирования
(рис 12.8) Отчет о проделанной работеТеперь пришло время анализировать отчет. По умолчанию видно, что Nessus обнаружил дыру в безопасности с высоким (High) фактором риска, относящимся к SSH-серверу по адресу 192.168.1.100. Nessus также показывает, что он определил тип и версию работающего Web-сервера. Понятно, что это не обязательно проблема безопасности, а полезная информация, которую потенциальный взломщик может легко получить.
Вы можете отсортировать выходную информацию по портам, щелкнув на кнопке Sort By Port. Список портов будет представлен слева, а соответствующие машины и их проблемы безопасности будут представлены справа в окне Report. Это полезно, если вы просматриваете информацию о конкретной уязвимой службе.
Nessus также сортирует хосты в соответствии со сложностью проблем. Красный значок означает, что обнаружена, по крайней мере, одна дыра в безопасности. Белый значок означает, что порт открыт, но не было найдено никаких ошибок.
Если вы хотите сохранить отчет в файле, можно выбрать формат отчета из выпадающего списка между кнопками Save As и Close, а затем щелкнуть на кнопке Save As. Вы можете сохранить отчет в собственном формате Nessus (по умолчанию NSR), чтобы просмотреть его позже. В противном случае, вы можете сохранить отчет в формате HTML или LaTeX, или в виде простого текстового файла. Это не слишком красиво, но, по крайней мере, здесь есть вся информация.
Как уже упоминалось, модули . Вы можете поместить это приложение в состав заданий демона cron, поскольку оно не требует никакой входной информации на старте. Таким образом, у вас будут наиболее свежие тесты для сканирования.
Программа ), который включает в себя STAT , STAT Analyzer и STAT . STAT размещается на отдельной Windows-машине и выполняет задачи контроля за выполнением правил безопасности, наблюдения за вирусами и проведение активных мероприятий против попыток внедрения. STAT Analyzer обеспечивает интеграцию нескольких других коммерческих сканеров уязвимостей (включая собственный сканер STAT ), чтобы представить вам более полную и достоверную картину уязвимости вашей сети.
STAT - современное средство аудита в комплекте STAT, и в этом разделе мы сосредоточимся на нем. Тем не менее, возможности интеграции STAT Analyzer с другими системами аудита, упоминавшиеся в этой лекции, делают его достойным внимания.
STAT (в оставшейся части раздела - STAT ) использует те же основные настройки, что и другие сканеры уязвимостей. STAT работает на платформе Windows NT/2000, но может быть запущен и на других операционных системах. Наилучшая производительность достигается на Windows-машинах. Если при сканировании вы входите в систему, как администратор домена, у вас есть возможность получить доступ как к машинам для анализа локальной уязвимости, так и анализировать уязвимость с точки зрения удаленного доступа.
STAT не использует архитектуру клиент-сервер. Исполняемая часть и тесты уязвимости должны размещаться на каждом хосте, который необходимо сканировать. STAT еженедельно выпускает новые тесты уязвимости, и их можно скачать с авторизованного Web-сайта.
Щелкнув дважды на каждом сообщении о найденных уязвимостях, можно получить массу информации о найденных проблемах, их сложности, где можно получить дополнительную информацию, и как их устранить. Для некоторых видов уязвимостей у STAT есть уникальная возможность "auto fix", такая, как корректировка системного реестра. Если STAT может устранить их самостоятельно, то становится доступна кнопка AutoFix.
После установки STAT у вас сразу запросят регистрационный ключ. Если у вас его нет, вы сможете запускать приложение только в "ознакомительном" режиме, который предоставляет возможность тридцатидневного использования сканера, но с ограниченными возможностями по запуску тестов уязвимости (из конфигурационного файла QuickScan.dat).
Как показано на рис 12.9, у STAT хорошо организованный интерфейс. Ниже меню и панели инструментов показано текущее состояние выбранной машины и конфигурационный файл (политика или работающие тесты уязвимости). Найденные уязвимости перечисляются в главном окне. Если вы сканируете несколько машин, то можете выбрать найденные уязвимости на конкретной машине или на всех машинах сразу. Каждую колонку можно сохранить. В нижней части окна значки показывают количество найденных уязвимостей и их уровень. Вы также можете отслеживать процесс сканирования, поскольку информация на дисплее обновляется регулярно.
(рис 12.9) Интерфейс STATТак же как и для Nessus, вам необходимо сконфигурировать набор тестов, которые вы собираетесь использовать. STAT поставляется с несколькими сконфигурированными файлами DAT, которые содержат наборы видов уязвимостей, для которых вы можете выполнять сканирование. Вы можете использовать DAT-файлы для сканирования уязвимостей заданного уровня опасности, конкретные операционные системы или типы уязвимостей. Вы можете выбрать конфигурационный файл для сканирования, выбрав в меню STAT Configurations/Load Configuration From File. Вы можете увидеть это окно на иллюстрации.

Файл QuickScan.dat подходит, если вы хотите найти более серьезные проблемы. Если вас интересует только проверка системных политик (профили пользователей, дата истечения срока действия пароля, и т.д.), используйте файл Policy.dat. Каждый DAT-файл имеет содержательное название, чтобы помочь вам выбрать наиболее подходящий для решения поставленных задач.
Вы можете создать свой собственный конфигурационный файл, используя один из имеющихся DAT-файлов в качестве шаблона. Следует выбрать Configurations/Edit Configuration From File, чтобы открыть окно, показанное на рис 12.10.
В окне Editing вы можете просмотреть все доступные тесты и решить, какие из них использовать. Выбрав соответствующий тест, вы можете просмотреть справочную информацию в нижней части окна. Тест может быть перемещен из списка доступных (и наоборот) в список используемых с помощью кнопки со стрелками. Сделав свой выбор, вы можете сохранить свою конфигурацию, как пользовательский DAT-файл, для дальнейшего использования, воспользовавшись кнопкой Save.
(рис 12.10) Вы можете самостоятельно настроить конфигурациюВы также можете управлять некоторыми другими параметрами сканирования, такими как политика входа в программу и пароли, стандарты политики аудита Windows, временные параметры сканирования (задержка, параллельное выполнение), особенности формата отчета и другие настройки. Все эти настройки доступны по команде Edit/Options, как это показано на рис 12.11.
Наша последняя задача перед запуском сканирования - выбрать цель. Когда выбираются машины для сканирования в главном меню . Вы можете выбрать или интервал IP-адресов, или назначить Windows Network
(рис 12.11) Выбор других параметров сканирования в диалоговом окне OptionsПосле того как машины найдены (или с помощью Windows
Если вы выбрали машины для сканирования с неизвестными или неподдерживаемыми операционными системами, мы выбрали для сканирования Linux и Windows 2000 машины, которые были обнаружены в процессе предыдущей сессии (что объясняет, почему мы не видим их в списке в левой части экрана).
(рис 12.12) Выбор целей для сканированияЧтобы начать сканирование этих систем, нам необходимо задать аутентификационную информацию для систем, щелкнув на кнопке Configure. По этой команде открывается диалоговое окно Authentication, показанное на иллюстрации ниже.

Обратите внимание, что для Windows-машин вы можете пропустить шаг аутентификации, если вы сканируете машины, для которых вы вошли в систему, как администратор домена. В противном случае, вы можете задать в диалоговом окне аутентификации значения для профиля администратора. STAT соединяется с Windows-системами, используя net use (о которой говорилось в лекции "Система X Window"). Если вы соединяетесь с Unix-системой, STAT потребуется пользовательская информация для доступа к машине; это не обязательно должна быть информация о пользователе root. STAT может поддерживать SSH-соединение с машиной, которая подвергается сканированию.
STAT требуется доступ к сканируемой системе, поскольку множество уязвимостей рассматриваются, как локальные, которые не могут быть протестированы удаленно. Это может быть несколько утомительно, но зато предохраняет одних людей от выполнения неавторизованных сессий сканирования на машинах других людей.Как только вы определите цель сканирования, щелкните на кнопках Save и Close в окне Machine List (см. рис 12.12).
STAT говорят о проблемах, которые должны быть устранены, многие из предупреждений с низким уровнем риска, которые выдает STAT, являются просто наведенными из-за особенностей конфигурации и политики безопасности. Иногда они могут быть всего лишь ложной тревогой.STAT, убедитесь, что это не нарушит деятельности выполняемых приложений. К примеру, STAT может предупредить вас о том, что работает IIS, и он должен быть остановлен, если в нем нет необходимости. Но если вы запустили Web-сервер на этой машине, вы можете игнорировать это сообщение. Тем не менее, если STAT сообщает вам о том, что у IIS есть опасность переполнения буфера, и он должен быть немедленно обновлен с использованием соответствующих заплаток, то это сообщение относится к таким, на которые следует реагировать достаточно быстро. Также будьте внимательны к сообщениям STAT, касающимся системного реестра. Некоторые изменения в системном реестре могут привести к нежелательному эффекту, поэтому, исправляя их, вы должны быть уверены, что это не повлияет на работу ваших приложений. Как только вы определите, что вам необходимо устранить уязвимость, щелкните на
кнопке AutoFix, если она доступна, или
следуйте инструкции по решению проблемы, которая отображается в окне дополнительной информации (см. рис 12.14), чтобы устранить проблему самостоятельно.
(рис 12.13) Результаты сканированияSTAT несовершенен. Иногда он поднимает STAT по-прежнему будет выдавать сообщение о ней, даже если вы знаете о том, что STAT действует, как помощник, а не как руководство по пошаговому устранению проблемы. Как и с другими утилитами, опирайтесь на здравый смысл в работе со STAT.
(рис 12.14) Информация об уязвимостиПоскольку вы управляете сканированием, STAT сохраняет историю каждого сканирования (как и историю каждого факта использования AutoFix). Это позволяет вам проследить, что вы сделали, и когда это было сделано, а также позволяет сравнить результаты сканирования, чтобы определить, когда были исправлены определенные уязвимости.
У показан отчет Executive Summary.
Вы можете распечатать отчет, или экспортировать его в какой-либо из файлов, включая форматы Excel,
Если вы щелкните на Reports/Compare Scan Results, то сможете увидеть список проведенных сканирований. В этом диалоге вы можете выбрать несколько сканирований и создать отчет, сравнивающий результаты сканирования. Это позволяет анализировать изменения, которые произошли от одного сканирования до другого.
(рис 12.15) Отчет Executive Summary
.
Как и STAT, Retina работает не по модели клиент/сервер. Полное приложение (включая проверку безопасности) должно быть установлено на всех машинах, с которых вы хотите производить сканирование. У Retina есть дополнительные утилиты и модули, которые можно использовать для получения дополнительной информации о машинах, которые вы сканируете. Тем не менее, концептуально, Nessus, STAT и Retina не отличаются друг от друга.
При первом запуске .

(рис 12.16) 
Меню Tools также содержит параметры, которые позволяют сконфигурировать различные политики, которые использует Retina в процессе сканирования. Вы можете управлять интервалами портов, которые просматривает программа, а также типами аудита (или тестов уязвимостей), которые она реализует.
Запустим пример сканирования уязвимости.
Retina сканирует открытые порты и пытается получить информацию об этих портах (аналогично программе Nessus ).STAT, которая позволяет автоматически обновить системный реестр Windows и т. п. Когда вы будете готовы создать отчет, выбирите меню Tools/Reports для доступа к параметрам отчетов.
(рис 12.17) Процесс сканированияRetina поддерживает дополнительные модули (в левой панели главного окна), которые помогут вам в процессе сканирования.
Еще один коммерческий сканер для удаленной работы -
Как большинство других сканеров, Internet поддерживает те же основные функции, что и Retina, STAT и Nessus. Вопрос в том, делает ли он это лучше?
Запустив Internet , вы увидите, что он загружает все доступные в базе данных тесты уязвимости и проверки на возможность проникновения в систему. Затем вы можете работать над созданием новой
STAT. Они позволяют производить сканирование на предмет обнаружения уязвимостей определенного типа и уровня опасности в зависимости от того, какие типы хостов вы сканируете.При первом запуске Internet запускается вместе с мастером создания новой сессии (New Session Wizard), который показан на следующей иллюстрации. Поскольку мы все равно ничего не сканируем, мы можем выбрать политику Evaluation, чтобы получить представление о возможностях сканера.

Выбрав политику, мы можем просмотреть параметры в специальном редакторе Policy Editor. Выберите Choose Policy/Edit Current, чтобы открыть окно Policy Editor, которое показано на рис 12.18.
(рис 12.18) Окно Policy EditorНаиболее сложно в использовании Internet - это понять, что вы перед собой видите. Вы можете потратить часы, изучая различные типы тестов и приемы получения информации. Вы можете даже выбрать различные представления конфигурации вашей политики.
На рис 12.19 показан тот же редактор политик Policy Editor, но в другом представлении. Выбрав Risk View из ниспадающего списка вверху, вы можете перестроить список уязвимостей в порядке убывания риска, в отличие от стандартной организации по категориям на рис 12.18.
(рис 12.19) Вид редактора Policy Editor в конфигурации по уровню рискаРедактор политик в обязательном порядке заставляет вас выбрать тип тестов уязвимости, который вы хотите включить в сканирование. Вы можете щелкнуть на поле выбора, следующем за списком элементов, чтобы включить или отключить конкретный тест. Вы также можете отключить целую группу тестов. Если вы хотите отключить сканирование всех уязвимостей среднего уровня, вы можете щелкнуть в окне рядом с полем Medium (304) на левой панели, показанной на рис 12.19, чтобы очистить поле. Так будут отключены все 304 теста со средним уровнем риска. Вновь щелкнув, можно заново задействовать 304 теста уязвимостей со средним уровнем риска.
Как только вы закончили модификацию политики, щелкните на значке с диском для сохранения политики или просто закройте Policy Editor (он должен спросить, хотите ли вы сохранить сделанные изменения). С этого момента вы должны вернуться в главное окно
После работы с мастером New Session Wizard в начале сессии у вас уже должны быть заданы IP-адреса, которые вы хотите сканировать. Как только вы настроили политику сканирования в соответствии со своими предпочтениями, можно начинать работу.
(рис 12.20) Результаты ISS-сканированияОткройте закладку
Сканер может находить ошибки конфигурации политик Windows и ошибки конфигурации служб. Например, уязвимость identdresp показывает, что мы запустили демон identd, который может использоваться удаленной машиной для определения имен пользователей в системе.
Открытая закладка Services, показанная на рис 12.22, показывает какие Internet- и Windows-службы запущены на машине. Все службы, которым не следует работать, не должны работать. Используя Internet , вы можете с одного места определить все службы, работающие на всех ваших машинах.

(рис 12.22) Уязвимости, обнаруженные при сканировании(рис 12.21) Проверка запущенных служб. Это легко сделать на Windows-машине, где у вас есть полномочия администратора.
(рис 12.23) Закладка AccountsЗакладки слева от окна Session обеспечивают различные способы представления информации о сканировании. Вы можете не только посмотреть информацию по конкретному хосту, но и быстро просмотреть, какие из машин имеют конкретные уязвимости, на каких из них запущены конкретные службы, и на каких активны конкретные пользователи.
Как и другие сканеры уязвимости, ) можно получить дополнительную информацию по поводу написания FlexChecks. Кроме того, вы можете поддерживать списки профилей и словарей для
Другая сильная сторона
(рис 12.24) Выбор типа отчетаДалее вас спросят, какие атрибуты вы хотите перечислить в вашем отчете. Если вы выполняли множественное сканирование или
(рис 12.25) Выбор критериев для отчетаКогда вы закончите,
Программа Tripwire несколько отличается от других утилит, обсуждавшихся в этой лекции. Она предназначена для аудита файлов и приложений, а не уязвимостей в этих файлах и приложениях. Tripwire размещается в системе и проверяет наличие изменений в любых файлах. Вы можете настроить ее на проверку важных двоичных файлов, исполняемых модулей и конфигурационных файлов, которые не должны изменяться. Если в этих файлах обнаружены изменения, Tripwire записывает информацию в журнал и может даже послать уведомление по электронной почте. Важно заметить, что Tripwire может только обнаружить изменения и уведомить об этом; программа не может предотвратить несанкционированные изменения файлов. И все же, Tripwire - великолепное средство для предохранения системы от "троянских коней" и гарантия того, что неавторизованные пользователи не будут играть с критическими файлами.
(рис 12.26) Отчет об уязвимостях для администрации/. Однако отдельная, свободно распространяемая версия /. В этом разделе обсуждаются обе версии. В действительности Tripwire работает одинаково в обеих версиях, но управление узлами Tripwire в коммерческой версии проще.
Каким образом осуществляется мониторинг файлов? Программа отслеживает такие позиции, как размер файла и контрольная сумма файла, представляя их в качестве сигнатуры, которая не должна меняться. Мы познакомимся с различными параметрами сигнатуры файлов в разделе "Представление о файлах политики Tripwire ".
Tripwire. За дополнительной информацией обращайтесь к лекции "Черный ход и средства удаленного доступа".Рассмотрим свободно распространяемую версию Tripwire для Linux. Для программы доступны как rpm-пакеты, так и исходные тексты. Независимо от того, какую версию вы устанавливаете, есть некоторые обязательные действия, которые придется выполнить перед установкой Tripwire.
Скрипт install.sh используется для установки Tripwire и должен быть запущен с полномочиями пользователя root. Запустив этот скрипт, вы получите запрос на подтверждение о согласии с лицензионным соглашением и выборе директории для установки программы (как правило, лучше использовать установки по умолчанию). После этих стандартных операций вас попросят ввести секретную фразу. Эта фраза используется для шифрования политик, баз данных и конфигурационных файлов с целью защиты их от подделки. Как только вы введете секретную фразу, скрипт сгенерирует ключ для шифрования ваших файлов. Вы получите запрос относительно общей секретной фразы для шифрования конфигурационных файлов и файлов политик. Секретная фраза будет сохраняться в виде текста на случай, если вы захотите что-то изменить.
Tripwire использует общий ключ для шифрования ваших файлов политик и конфигурационных файлов и локальную фразу для шифрования баз данных и отчетов. Установка общей и локальной секретных фраз позволяет вам (и только вам) расшифровать эти файлы для просмотра и модификации.Файлы политик указывают Tripwire на то, какие файлы проверять, какую информацию просматривать и когда предупреждать вас о том, что произошли какие-то изменения. Устанавливаемый по умолчанию файл политик, twpol.txt, содержит определение переменных и правил. Более детально они рассматриваются в разделе "Представление о файлах политики Tripwire ". Конфигурационный файл, twcfg.txt, хранит информацию о месте положения файлов и другие предпочтения, которые должно использовать приложение Tripwire. Обычно вам не потребуется изменять конфигурацию по умолчанию.
Оба эти файла шифруются с использованием общей секретной фразы в процессе инсталляции. Действительные файлы конфигурации и политики, которые использует Tripwire, называются tw.Tripwire также устанавливает незашифрованные копии файлов (twpol.txt и twcfg.txt) на случай, если вы захотите просмотреть или изменить их. Рекомендуется удалить все текстовые копии файлов после того, как вы изучите их содержание. Если позже вам понадобится изменить любой из этих файлов в текстовом формате, вы можете воспользоваться утилитами, которые обсуждаются в разделе "Другие утилиты Tripwire ".
У Tripwire четыре основных режима работы: инициализация базы данных, интегральная оценка, обновление базы данных и обновление политики.
Режим инициализации базы данных. Перед тем как вы сможете сравнивать файлы в вашей системе с правильной сигнатурой, вы должны создать основу для этих сигнатур. Режим инициализации базы данных использует файл политики для выполнения этой работы и создания базы сигнатур. При этом используются значения по умолчанию из конфигурационного файла, если только вы не задали другие значения в командной строке. Ниже приведена командная строка, которая запускает режим инициализации базы данных.
# tripwire -m i -v
Параметр -m используется для задания режима ( -m показывает режим инициализации базы данных). Вы получите запрос на ввод локальной секретной фразы, и Tripwire понадобится несколько минут на проверку ваших файлов в процессе создания базы данных сигнатур файлов. Параметр -v используется для отображения процесса работы программы на экране. Как только будет создана база данных, она сохранится в двоичном файле Tripwire Database (.twd), который доступен для записи только пользователю root (обычно в директории /var/lib/ tripwire) и зашифрована с использованием локального ключа. Файл может быть прочитан только с помощью команды twprint, которую может запустить только пользователь root. Вы можете проверить, что права на доступ к файлу и директории с данными Tripwire (по умолчанию /etc/tripwire and /var/lib/tripwire) запрещают другим пользователям доступ на чтение и изменение этой информации.
Режим интегральной оценки. Это обычный режим работы Tripwire. Программа сканирует файлы в поисках любых нарушений заданной политики. Отчет о работе сохраняется по адресу, заданному в переменной REPORTFILE в файле tw.
Эта команда может сопровождаться заданием некоторых параметров. Вы можете задать альтернативные имена файлов политики, -I ), который после завершения сканирования создает текстовый файл отчета в тестовом редакторе по умолчанию. Для сохранения ваших отчетов в зашифрованном виде воспользуйтесь параметром -E для ввода локальной секретной фразы. Вы также можете изменить политику, проигнорировав отдельный параметры ( -i ), делая проверки только определенного уровня опасности ( -l ), используя при проверке только заданные по именам правила ( -R ), или проверяя только определенные файлы. Например, если мы проверяем целостность только команды ls, мы должны ввести:
# tripwire -m c -v /bin/ls
Здесь мы задали режим интегральной оценки ( -m c ) с включенным расширенным -v ). Если мы не задаем имя файла в конце командной строки, Tripwire проверяет все файлы в базе данных, которая определена по умолчанию. Следующая команда задает для программы проверку только файлов с самым высоким уровнем опасности (более 100):
# tripwire -m c -v -l 100
Уровень опасности и имена правил могут быть заданы в файле политики. Параметры -i, -l и -R станут понятнее после прочтения раздела "Представление о файлах политики Tripwire".
twprint. Вы также можете воспользоваться утилитой twprint для распечатки в текстовом виде базы данных Tripwire (.twd). По умолчанию только пользователь с полномочиями root может запустить утилиту twprint, гарантирующую, что обычный пользователь не сможет увидеть содержание этих баз данных и отчетов.После того как будет создана база данных, и вы запустите интегральную проверку, можете настроить утилиту cron для автоматического выполнения Tripwire каждую ночь, еженедельно или так, как пожелаете.
Режим обновления базы данных. Если файл изменен и эти изменения законны, вам необходимо обновить базу данных для сохранения сведений о произведенных изменениях, чтобы информация об этих изменениях постоянно не попадала в отчеты. Чтобы воспользоваться этим режимом ( -m u ), вам необходимо найти ваш самый последний отчет и задать его в командной строке с помощью параметра -r:
# tripwire -m u -r /var/lib/tripwire/report/host-20020330-235028.twr
В результате этого в текстовый редактор будет передан текстовый файл отчета, который будет содержать полную информацию о сканировании. Вы сможете увидеть имя каждого правила из файла политики, уровень опасности и то, сколько правил обнаружили изменения.
Если вы пролистаете раздел Object Summary отчета, вы сможете увидеть так называемые ballot boxes для каждого изменения, которое было произведено с момента последнего обновления базы данных и последней интегральной оценки:
----Rule Name: Tripwire Data Files (/var/lib/tripwire) Severity Level: 100 ----Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Added: [x] "/var/lib/tripwire/originix.twd"
Если вы оставите строки, помеченные символом x, без изменений, то база данных будет обновлена с учетом этих изменений, и они не будут в дальнейшем учитываться при проведении интегральной оценки. Если вы удалите символы x, то покажете, что эти несанкционированные изменения и база данных должны остаться неизмененными.
После того как вы выйдите из редактора, Tripwire запросит у вас ввод локальной секретной фразы, чтобы получить возможность обновить базу данных, если в нее должны быть внесены какие-либо изменения. Вы также можете выбрать режим внесения всех изменений без предварительного просмотра, задав в командной строке параметр -a.
Режим обновления политики. Когда вы лучше узнаете Tripwire и будете получать все больше и больше предупреждений, которые на самом деле будут ложными, вам захочется поиграть с политикой. Ниже приведена командная строка, с помощью которой можно обновить файл политики, задав новую, с использованием текстового файла newpolicy.txt:
# tripwire -m p newpolicy.txt
После обновления политики база данных будет обновлена, исходя из правил новой политики. Вам вновь понадобятся общая и локальная секретные фразы, чтобы получить доступ к файлам политики и базе данных.
Мы кратко обсудим проблему создания политики для Tripwire в разделе "Представление о файлах политики Tripwire "
Tripwire поставляется с несколькими утилитами: twprint, twadmin и siggen.
Twprint. Как уже упоминалось, у twprint два режима работы: утилиту можно использовать для распечатки любого файла отчета ( -m r ) или базы данных ( -m d ) в виде текстового файла.
Twadmin. Twadmin представляет собой интерфейс администратора для создания и просмотра конфигурационных файлов, создания и просмотра файлов политик, добавления или удаления шифрования в файлы и генерации новых ключей для шифрования.
Tripwire, применив режим обновления политики приложения Tripwire ( tripwire -m p newpolicy.txt ).Siggen. Утилиту siggen можно использовать для отображения шифрованных сигнатур для любого файла. Эти шифрованные строки являются сигнатурами, которые использует Tripwire для сравнения содержимого файла и анализа. Tripwire поддерживает формат шифрованной строки вида
Файлы политики определяют для Tripwire, что следует и чего не следует искать. Обычно это шифрованные файлы в двоичном формате, но вы можете воспользоваться командой twadmin -m p current- policy.txt, чтобы сохранить текущий двоичный файл политики в текстовом формате и отредактировать его. Синтаксис текстового файла может оказаться весьма сложным для понимания. Он содержит определения переменных и определения правил. Каждое правило содержит две главные части: имя файла или директории и маску свойств. Ниже приведена часть примера файла политики.
/bin/login -> $(SEC_CRIT) ; /bin/ls -> $(SEC_CRIT) ; /bin/mail -> $(SEC_CRIT) ; /bin/more -> $(SEC_CRIT) ; /bin/mt -> $(SEC_CRIT) ; /bin/mv -> $(SEC_CRIT) ;
Обратите внимание, как имя файла или имя объекта отделяется от маски свойств символом -. SEC_CRIT представляет собой переменную, определенную в начале файла, которая задает разрешенную маску свойств. Обратите также внимание, что каждое правило завершается точкой с запятой (;).
Разрешенная маска свойств. Маски Tripwire управляют тем, какие свойства проверяются в каждом файле. Свойства, обозначенные знаком (+), проверяются, обозначенные знаком (-) - нет. Свойства, которые не обозначены соответствующим знаком, предположительно могут быть проверены. В этом случае все свойства, которые не включены в командную строку, игнорируются. В таблице 12.2 показаны описания каждого свойства.
| Свойство | Описание |
|---|---|
a |
Последнее время доступа. |
b |
Блоки с выделенной памятью. |
c |
Создать/изменить время. |
d |
Устройство ID, на котором находится |
g |
Групповой ID владельца файла. |
i |
Номер |
l |
Файл с разрешенным увеличением размера (хорош для чего-либо из /var/log). |
m |
Модификация отмены времени. |
n |
Контрольный счет |
p |
Разрешение на чтение/запись/исполнение файла и режима ( |
r |
Указание |
s |
Размер файла. |
t |
Тип файла (текстовый, данных, исполнимый). |
u |
Пользовательский ID владельца файла. |
C |
Шифрованная строка по методу CRC32. |
H |
Шифрованная строка по методу |
M |
Шифрованная строка по методу MD5. |
S |
Шифрованная строка по методу |
-i, задаваемый в режиме интегральной оценки ( -m c ), используется для игнорирования конкретных свойств в процессе проведения проверки. Например, выполняя команду tripwire -m c -i "p,s,u", мы сообщаем Tripwire, что необходимо выполнить интегральную оценку для всех файлов, но при этом игнорировать все изменения полномочий доступа, размеров файлов или пользовательских идентификаторов владельцев файлов.Если вы хотите произвести проверку содержимого шифрованной строки MD5, размера файла, полномочий доступа и пользователя/группы владельца файла, то нужно воспользоваться командой:
/home/myfile -> Mspug
Эту команду также можно написать так:
/home/myfile -> +Mspug-abcdilmnrtCHS
Чтобы сделать жизнь проще, Tripwire поставляется с несколькими заранее заданными переменными, которые можно использовать для определения маски свойств. Они приведены в таблице 12.3.
Вы также можете задать свою собственную маску свойств в файле политики. Помните, что переменная SEC_CRIT, о которой мы упоминали в начале этого раздела, представляет собой маску свойств и определяется следующим образом:
SEC_CRIT = $(IgnoreNone)-SHa
Любые правила, которые используют маску свойств SEC_CRIT, будут проверять все свойства, за исключением , и времени последнего доступа к файлу.
| Переменная | Значение | Описание |
|---|---|---|
ReadOnly |
+pinugtsdbmCM-rlacSH |
Следит за полномочиями, |
Dynamic |
+pinugtd-srlbamcCMSH |
Следит за разрешениями, |
Growing |
+pinugtdl-srbamcCMSH |
Следит за тем же, что и Dynamic, но проверяет, что этот файл только увеличивается. Если файл внезапно становится меньше, то Tripwire привлечет ваше внимание. Хороша для файлов протоколов. |
Device |
+pugsdr-intlbamcCMSH |
Следит за разрешениями, правом владения, размером |
IgnoreAll |
-pinugtsdrlbamcCMSH |
Следит только за наличием файла, а не его свойствами. |
IgnoreNone |
+pinugtsdrlbamcCMSH |
Следит за всеми свойствами файла. |
Некоторые правила с использованием переменной маски свойств можно посмотреть здесь:
/var/log/messages -> $(Growing); /dev/fd0 -> $(Device); /home/jdoe/.netscape -> $(IgnoreAll); /etc/inetd.conf -> $(ReadOnly);
Атрибуты правил. Атрибуты правил могут относиться к отдельным правилам или группам правил, как это показано в таблице 12.4.
| Атрибут_правила | Описание |
|---|---|
rulename |
Присваивает имя правилу или группе правил. Помогает в подразделении ваших правил и упрощает понимание при просмотре резюме отчетов по проверке целостности. |
emailto |
Если проверка на целостность Tripwire проводится с опцией -email-report, то где бы правило с этим признаком не запускалось, будет послан e-mail на заданный список e-mail-адресов. Несколько e-mail-адресов должны быть разделены точкой с запятой и заключены в двойные кавычки. |
severity |
Задает уровень строгости правила или группы правил. Значения могут варьироваться от 0 до 1000000. Это позволяет использовать Tripwire для сканирования только на определенный |
|
Сообщает Tripwire, должен ли он сканировать все вложенные директории в директории (значение true), или он не должен сканировать ни в каких вложенных директориях (значение false), или же он должен сканировать только на определенную глубину вложенных директорий (числовое значение). |
Отдельным правилам атрибуты могут присваиваться добавлением их в скобках в конце строки перед точкой с запятой. Чтобы присвоить атрибуты группам правил, их следует помещать в скобках перед правилами. Правила, следующие за атрибутами, на которые распространяется их действие, должны помещаться в фигурных скобках. Ниже приведен пример правил из файла политики:
/var/log/messages -> $(Growing) (rulename = Log, severity = 10);
/etc -> $(ReadOnly) (rulename = Etc, recurse = 2);
(rulename = Bin, severity = 100, recurse = false,
emailto="root;bob@home")
{
/bin/cat -> $(IgnoreNone)-SHa ;
/bin/date -> $(IgnoreNone)-SHa ;
/bin/dd -> $(IgnoreNone)-SHa ;
/bin/df -> $(IgnoreNone)-SHa ;
}
Мы создали правило с названием "Log" с уровнем опасности 10 для файла /var/log/messages. Правило использует маску свойств Growing, которая показывает, что Tripwire проверяет такие свойства, как владельца файла, полномочия доступа и изменение размера. Правило "Etc" использует рекурсивный атрибут, чтобы указать программе на необходимость в процессе интегральной оценки просматривать файловую систему только на глубину двух директорий и использовать маску свойств ReadOnly. Правило "Bin" объединяет несколько тестов с уровнем опасности 100. Правила тестирования для четырех важных Unix-приложений для проверки изменений всех свойств за исключением
-R для режима интегральной оценки ( -mc )? Вы можете включить этот параметр, чтобы обозначить необходимость использования только конкретных правил. К примеру, команда tripwire -m c -R Bin может быть использована в случае, если необходимо выполнить проверку по правилу "Bin".Специальные правила: точки останова. Если вы хотите сканировать директории, но пропускать отдельные файлы, то можете использовать специальные правила, которые называются точками останова ( stop points ), чтобы игнорировать эти файлы. Точки останова представляют собой просто имена файлов или директорий, следующие за восклицательным знаком:
/etc -> $(ReadOnly); !/etc/dhcpd.leases; !/etc/motd;
Это правило говорит о необходимости убедиться, что в директории /etc все файлы имеют свойства "только для чтения", за исключением файлов /etc/dhcpd.
Директивы. Наконец, файл политики может содержать директивы, которые позволяют вам распечатывать Tripwire, которая кратко обсуждается в разделе "Реализация: коммерческая версия". Доступные директивы перечислены ниже.
Tripwire игнорирует разделы файла NTFS или NTREG, что позволяет вам использовать один файл политики для всей вашей сети. Если после директивы не задано никаких аргументов, предполагается значение FS. Нет необходимости определять конец раздела, поскольку Tripwire просто просматривает файл в поисках следующей директивы и интерпретирует ее, как конец предыдущего раздела.ifhost требуют, чтобы предложение было завершено директивой endif. Это позволяет вам запускать правила только для конкретного хоста в группе хостов, воспользовавшись примерно такой командой:@@ifhost originix || badman # define rules for only hosts originix and badman here @@endif
Tripwire выдать сообщение в случае, если будет сделана попытка проверки хоста cauliflower, поскольку для этого хоста не предусмотрено никаких правил проверки:@@ifhost cauliflower
@@error "We haven't written any policy rules for
host cauliflower yet"
@@endif
Tripwire прекращает считывание файла.Использование нового файла политики. После того как вы модифицировали или создали новый файл политики (назовем его newpolicy.txt), воспользуйтесь командой tripwire -m p newpolicy.txt, чтобы дать возможность программе использовать новый файл политики и, соответственно, обновить базу данных.
Коммерческая версия Tripwire работает точно так же, как и свободно распространяемая. Приложения и форматы файлов точно такие же. Однако коммерческая версия доступна практически для всех операционных систем, включая Windows NT, Windows 2000, Solaris и другие. Существенным преимуществом по сравнению с бесплатной версией, кроме того, что она поддерживает многие операционные системы, является наличие утилиты twagent. Эта утилита позволяет Tripwire -серверам управляться по сети через SSL-соединение. Это управляющие программное обеспечение называется Tripwire Manager и доступно для Windows NT, Windows 2000, Solaris и Linux.
Tripwire Manager, показанный на рис 12.27, взаимодействует с каждым коммерческим Tripwire -сервером с помощью утилиты twagent. Это позволяет вам распространять сервера и обновлять политики и базы данных из одного места.
На Windows-машинах twagent запускается в качестве службы, и его можно запускать и останавливать из панели управления или с помощью средств администрирования. На Unix-машинах twagent представляет собой программу, запускаемую из командной строки. Вы можете запускать и останавливать ее, используя команды twagent -start и twagent -stop.
(рис 12.27) Главное окно Tripwire ManagerДобавление сервера Tripwire. Когда вы установили на машине Tripwire Server и запустили службу twagent, машина становится узлом Tripwire. Вы можете добавить узел в Tripwire Manager и в главном окне Tripwire Manager, выбрав Action/Add Machine и открыв диалоговое окно Add Machines, приведенное ниже. Здесь вы задаете IP-адрес узла и порт, который будет прослушивать twagent. Вам также понадобится ввести секретную фразу для консоли Tripwire Manager (заданную в процессе установки Tripwire Manager ), а также общую и локальную секретные фразы для машины, которую вы добавляете.
Вы также можете импортировать машины из текстового файла, который содержит значения, разделенные запятой. Для этого достаточно щелкнуть на кнопке Import. Пример файла для импорта представлен ниже. Здесь 192.168.1.1 - IP-адрес узла Tripwire, а 1169 - TCP-порт, который прослушивает twagent.

"Name","192.168.1.1","1169","Memo","site_password","local_password"
Редактирование файлов политики. Вы можете просматривать и изменять файлы политик для всех ваших .
(рис 12.28) Редактирование файлов политикиВы уже знакомы с синтаксисом файла политики, но вы можете использовать Tripwire Manager, чтобы создать один файл политики для всех ваших операционных систем (воспользовавшись директивой "Section", о которой упоминалось в разделе "Директивы") и распространить этот файл по всем вашим серверам, щелкнув на значке Distribute File.
Графический интерфейс для Tripwire. Все хорошее, что есть в бесплатной версии ), обновить базы данных, обновить политики и все остальное. Tripwire Manager имеет возможность задать расписание работы, чтобы агенты могли выполнять сканирование самостоятельно, по расписанию, обеспечивая контроль из одной точки, вместо настройки утилиты cron или Windows Scheduler на каждой машине.
На рис 12.29 показаны результаты интегральной оценки, выполненной агентом Tripwire Agent #3. Tripwire Manager не только облегчает управление службами, но может создавать сводный отчет, более подробный, полный и понятный, чем его Unix-аналог. Перебирая различные закладки (Reports, Objects, Summary и
(рис 12.29) Результаты интегральной оценки
Какие файлы следует просматривать с помощью Tripwire? Вы должны регулярно обращать внимание на все файлы, которые не должны изменяться. Это наиболее важные системные программы (ls, df, login и cmd.exe), библиотеки и DLL, конфигурационные файлы (/etc/inetd.conf, /etc/ passwd и Windows-файлы system.dat и user.dat). Вы также можете проверять файлы, которые должны изменяться предсказуемым образом. Например, следует быть уверенным, что системные журналы постоянно увеличиваются (и никогда не уменьшаются). Следует следить за тем, что никто из ваших пользователей не получил полного доступа (на чтение/запись) к вашей
Когда вы первый раз воспользуетесь Tripwire, хорошо будет начать с большой базы файлов. Возможно, вы получите слишком много ложных сообщений, но, после того как вы просмотрите отчет Tripwire и проанализируете файлы, которые были изменены, вы сможете понять, как создать оптимальную базу данных, которая осуществляет мониторинг только серьезных изменений.
Пример из жизни. Латание дыр
Новый квартал. Вас приняли на работу в маленькую начинающую компанию, занимающуюся интернет-технологиями в качестве менеджера по сетевой безопасности. Эта компания выполняет Web-хостинг и хостинг приложений для небольших и средних компаний. Они имеют внутреннюю сеть, объединяющую различные регионы США. Сеть использует VPN-оборудование. Кроме того, у них есть клиентские сети, которые они поддерживают и у себя, и на местах. Они используют различные операционные системы и платформы, включая Windows NT, Windows 2000, Linux, FreeBSD, IRIX, Solaris и HP-UX. У них 50 серверов и 100 рабочих станций. Сетевой менеджер компании дал вам карту этих различных сетей, указав типы машин, операционных систем, сетевых местоположений и целей. Менеджер департамента интернет-технологий сказал вам, что ваша первая задача - "залатать дыры". Он велел найти любые области уязвимости и работать с соответствующими департаментами, чтобы заделать дыры до конца месяца. Без дополнительной помощи (и, естественно, бюджета) вы берете свою карту сети и свой надежный портативный компьютер и садитесь планировать свою стратегию.
Сканирование с помощью Nessus. После изучения многих автоматизированных средств сканирования, которые могут помочь вам при решении задачи, вы понимаете, что большинство из них являются коммерческими продуктами. Поскольку вам не предоставили никакого бюджета для реализации проекта, вы знаете, что придется оценить эти коммерческие продукты и предложить рентабельное решение. К счастью, вы знаете одно бесплатное средство, которое может подсказать, насколько дырявыми являются системы вашей сети в действительности. Вы загружаете, компилируете и инсталлируете Nessus на своем надежном компьютере с двойной загрузкой
Непосредственно перед началом сканирования вы просматриваете модули, чтобы понять, что нужно, а что не нужно проверять. Вы решаете отключить проверку на DoS, и оставить ее на промежуточное сканирование. Вы дважды проверяете свои значения и начинаете сканирование. Поскольку вы знаете, что это займет большую часть дня, то у вас есть масса времени, чтобы начать оценку некоторых из коммерческих приложений. Завершив сканирование Nessus и сравнение, что он может сделать с тем, что могут сделать некоторые коммерческие продукты, вы можете направить предварительный отчет менеджеру по интернет-технологиям.
Глубоко копаем безопасность Windows. Вы загружаете копию STAT STAT работает только с вариантами RedHat Linux и Solaris Unix. А поскольку у вас используются несколько операционных систем FreeBSD, IRIX и HP-UX, то вы видите, что STAT не даст полной картины. Но когда вы запустите его на локальных Windows-серверах своего домена, то получите сведения обо всех типах "старушек", которые Nessus найти не смог, включая практику регистрации и пароля, неправильную конфигурацию реестра и другие, относящиеся к Windows вопросы. Теперь вы уверены, что вам необходимо приобрести какой-либо коммерческий сканер в дополнение к Nessus. Но следует проверить и другие доступные продукты, чтобы принять более обоснованное решение.
Необходимое вам верное средство. После предварительного изучения STAT вы понимаете, что не сможете найти и залатать столько дыр, сколько требуется (особенно службы Windows, регистрационные записи и практические неправильные конфигурации), если не выложите немного денег. Вы радуетесь, что можете бесплатно воспользоваться приложением Nessus для общего удаленного сканирования и STAT for Windows для внутреннего и внешнего сканирования. Это должно закрыть большинство дыр. Вы можете также рекомендовать системным администраторам подписаться на рассылку обновленных редакций безопасности для своих конкретных операционных систем, чтобы закрыть все, что сканеры могли упустить.
Однако вы до сих пор не испытали один из наиболее популярных на рынке сканеров на уязвимость: комплект продуктов Internet . Даже если вы можете использовать его только на своей машине, вы понимаете, что оно может обнаружить больше уязвимостей, чем Nessus или оценочная версия Retina. Нужно только помнить, что средство проверки системы не всегда точно сообщает об уязвимостях. То, что
Просматривая некоторые из уязвимостей, найденных в вашей системе, вы понимаете, что это средство выявило множество проблем, тех же, что и STAT. Теперь время поджимает. Вы знаете, что нужно больше, чем бесплатные приложения, чтобы хорошо выполнить работу. Вам нужно подготовить предложения менеджеру по интернет-технологиям, сравнивая решения Nessus и STAT с решением
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.