Инструментальные средства обеспечения безопасности

Nessus


Программа Nessus представляет собой удаленный сканер уязвимостей, свободно доступный для загрузки по адресу http://www.nessus.org/. Программа обеспечивает эффективную чистку систем в вашей сети от известных ошибок конфигурации сети и уязвимостей приложений. В этой лекции мы сосредоточимся на версии 1.0.10 программы, а также обсудим версию 1.2.0, которая скоро будет выпущена. В Nessus 1.2.0. добавлены возможности типа поддержки SSL, оптимизации проверки уязвимостей и возможность сохранения сессии.

Nessus - клиент-серверное приложение. Сервер nessusd запускается под управлением Unix и выполняет черную работу, сохраняя информацию о различных тестах уязвимости и выполненном сканировании. Он имеет собственную пользовательскую базу данных и метод безопасной аутентификации, так что удаленные пользователи, использующие клиент Nessus (Unix- или Windows-версии) могут войти, настроить сканирование уязвимостей и установки соответствующих режимов.

Создатели Nessus разработали соответствующий скриптовый язык (называемый Nessus Attack Scripting Language, или 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 Assigned Numbers Authority (IANA). Если у вас есть Web-сервер, запущенный по порту 8888, Nessus может найти его и попытаться протестировать с помощью CGI-теста. С другой стороны, если Nessus не может найти ни одного Web-сервера в системе, которую он сканирует, он пропустит для этой системы все тесты для Web-сервера и CGI-тесты.

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

В отличие от многих свободно распространяемых Unix-утилит, Nessus составляет необычайно подробные отчеты, хорошо построенные и доступные в различных выходных форматах, таких как plain text, HTML и LaTeX. Программа различает события в области безопасности по классам от замечания (notes) до предупреждения (warnings) и дыр (holes), каждый из которых разбивается по уровням от низкого (Low) до очень высокого (Very High).


Содержание раздела