Опубликован: 20.02.2006 | Уровень: специалист | Доступ: платный
Лекция 5:

Сканеры уязвимостей

Сканеры уязвимостей спешат на помощь

Как можно видеть, современные компьютерные сети содержат множество потенциальных областей небезопасности. Как закрыть все эти пути для атак? Вы чувствуете себя одиноким стражем, пытающимся защитить гигантский замок с множеством окон, дверей и других путей проникновения. Невозможно быть сразу везде. Можно тратить день за днем, просто проверяя вручную дыры в безопасности. Даже если попробовать автоматизировать эту деятельность с помощью командных файлов, придется использовать десятки программ. К счастью для вас и вашей психики, существуют пакеты, называемые сканерами уязвимостей, которые автоматически выявляют наличие слабых мест и помогают в решении других проблем.

Nessus: Сканер уязвимостей со встроенным сканером портов

Nessus

Автор/основной контакт: Renaud Deraison

Web-сайт: http://www.nessus.org

Платформы: Linux, BSD UNIX

Лицензия: GPL

Рассмотренная версия: 2.0.10a

Другие ресурсы:

См. списки почтовой рассылки в разделе "Сеть надежной поддержки"

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

Глубина тестирования

В настоящее время Nessus предлагает более 2000 отдельных тестов уязвимостей, которые охватывают практически все области потенциально слабых мест в системах. Очень немногие существующие сканеры могут конкурировать с достигнутым в Nessus уровнем тестирования, и новые тесты добавляются ежедневно всемирной сетью разработчиков. Скорость выпуска новых тестов для выявляемых уязвимостей обычно измеряется днями, если не часами. Его архитектура на основе встраиваемых модулей позволяет легко добавлять новые тесты. Ниже представлен перечень всех категорий тестов, которые выполняет Nessus:

  • Потайные входы;
  • Ненадлежащее использование CGI;
  • Cisco;
  • Атаки на доступность;
  • Ненадлежащее использование Finger;
  • FTP;
  • Удаленный доступ к командному интерпретатору;
  • Удаленное получение прав суперпользователя;
  • Общие;
  • Прочие;
  • Netware;
  • NIS;
  • Сканеры портов;
  • Удаленный доступ к файлам;
  • RPC;
  • Настройки;
  • Проблемы SMTP;
  • SNMP;
  • Непроверенные;
  • Бесполезные сервисы;
  • Windows;
  • Windows: управление пользователями.

Можно отключить целую категорию тестов, если они неприменимы к вашей системе или могут быть опасны для нее. Если вас беспокоят отдельные тесты, можно отключить только их. Например, естественно отключить категорию "Непроверенные", которая содержит тесты, еще не полностью оттестированные (клиент, конечно, всегда прав, но должен соблюдать разумную осторожность). В приложении E приведен полный список всех проверок безопасности. Помните, однако, что этот список соответствует указанной дате и постоянно изменяется по мере добавления новых встраиваемых модулей.

Архитектура клиент-сервер

Для выполнения проверок безопасности Nessus опирается на архитектуру "клиент-сервер". Сервер выполняет проверки, а клиент конфигурирует и управляет сеансами. Тот факт, что клиент и сервер могут быть разделены, предоставляет несколько уникальных преимуществ. Во-первых, сканирующий сервер можно расположить вне вашей сети, но обращаться к нему изнутри сети через клиента. Во-вторых, различные клиенты могут поддерживать разные операционные системы. В настоящее время существуют доступные клиенты UNIX и Windows, и ведутся работы по созданию дополнительных. В настоящее время предоставляется также интерфейс web-клиента, который делает Nessus полностью платформно-независимым (по крайней мере, на стороне клиента).

Независимость

Поскольку исходные тексты Nessus открыты, а встраиваемые модули написаны разнообразными группами специалистов по информационной безопасности, не приходится опасаться каких-либо конфликтов интересов, возможных в коммерческих компаниях. Например, если поставщик коммерческого сканера уязвимостей тесно связан с крупнейшим производителем ОС, то они могут быть настроены менее критически к своим продуктам и медленнее выпускать тесты для них. Проект с открытыми исходными текстами, такой как Nessus, не имеет финансовых причин не разрабатывать и не выпускать тесты немедленно. И, опираясь на его расширяемость, вы всегда можете написать собственный модуль, не дожидаясь официального.

Встроенный язык сценариев атак

В дополнение к архитектуре со встраиваемыми модулями, в Nessus имеется собственный язык сценариев атак, называемый NASL (Nessus Attack Scripting Language). Этот простой в изучении служебный язык позволяет легко и быстро писать собственные встраиваемые модули безопасности, не зная Си или всей внутренней кухни основной программы. (Далее в данной лекции приведен пример написания пользовательского встраиваемого модуля на языке NASL.)

Интеграция с другими средствами

Сканер уязвимостей Nessus можно применять сам по себе или совместно с некоторыми другими защитными средствами с открытыми исходными текстами. Часть из них рассмотрена в этой лекции, и все они являются лучшими из имеющихся. Вместо встроенного можно применить лучший в мире сканер портов Nmap. Сканер портов в Nessus быстрее и немного экономнее в расходовании памяти, но Nmap, как вы узнали из "Сканеры портов" , предоставляет значительно больше возможностей и настроек. Почти все параметры Nmap можно конфигурировать из клиента Nessus. Nessus также работает с Nikto и Whisker - средствами, которые выполняют более сложные проверки на web-серверах; с программами CGI; а также с Hydra - средством для проведения парольных атак на употребительные сервисы методом грубой силы. Функциональность этих средств напрямую задана в Nessus, поэтому можно вносить изменения в конфигурацию в рамках единого интерфейса.

Интеллектуальное тестирование

Nessus можно настроить так, чтобы он не выполнял автоматически все тесты уязвимостей на всех хостах. На основе результатов сканирования портов или других исходных данных, таких как результаты предыдущих тестов уязвимостей, Nessus будет запускать только тесты, подходящие для данной машины. Например, если на сервере не запускается web-сервер, то и тесты web-сервера выполняться не будут. Nessus также достаточно интеллектуален, чтобы не предполагать автоматически, что web-серверы будут использовать порт 80; он будет проверять все возможные порты на наличие признаков web-сервера. Nessus найдет даже несколько экземпляров сервисов, подключенных к разным портам. Это особенно важно, если вы нечаянно запустили web-сервер или другой общедоступный сервер на необычных портах.

База знаний

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

Множество форматов отчетов

Nessus входит в число лучших программ с открытыми исходными текстами и по возможностям генерации отчетов. Хотя они не совершенны, данные сканирования можно выдать почти в любом формате. Базовый HTML и HTML с круговыми диаграммами и графиками - два наиболее популярных формата. В отчеты входят итоговые данные, так что почти без редактирования их можно разместить на внутреннем web-сайте. Поддерживаются также форматы отчетов XML, LaTeX и обычный текст. Клиент Windows предлагает дополнительные форматы отчетов. Доступны и другие средства, обсуждаемые в последующих лекциях, которые позволяют производить дальнейшие манипуляции с данными.

Сеть надежной поддержки

Nessus имеет обширную сеть поддержки для получения помощи как по базовой установке и использованию, так и по более сложным вопросам программирования и индивидуальной настройки. Существует не менее пяти списков почтовой рассылки Nessus, каждый из которых ориентирован на свою область. Подписчики отметят, что сам главный автор, Renaud, отвечает на многие вопросы. Попробуйте получить такую поддержку от коммерческой компании! Имеется архив всех прошлых сообщений, в котором можно проверить, не давался ли уже ответ на ваш вопрос. Ниже перечислены основные списки почтовой рассылки Nessus:

  • nessus: конечно же, список общей дискуссии о Nessus;
  • nessus-devel: обсуждение разработки будущих версий;
  • nessu-cvs: информирует о фиксациях CVS, сделанных в дереве Nessus;
  • nessus-announce: модерируемый список с небольшим трафиком, предназначенный для объявлений о доступности новых выпусков;
  • plug-ins-writers: список, посвященный написанию новых встраиваемых модулей Nessus. Если вы хотите писать собственные проверки безопасности, вам следует подписаться на него.

Чтобы подписаться на любой из перечисленных списков, отправьте сообщение по адресу majordomo@list.nessus.org со следующим текстом в теле письма:

Subsribe имя_списка

Замените имя_списка названием списка, на который вы хотите подписаться. Чтобы отказаться от подписки, действуйте аналогичным образом, но поместите в тело текст Unsubscribe имя_списка.

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

Nessus предоставляет быстрый и простой способ проверки сетей и систем на наличие уязвимостей почти всех видов, поэтому давайте установим его.

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?

Гончик Цымжитов
Гончик Цымжитов
Россия, Санкт-Петербург
Александр Косенко
Александр Косенко
Украина, Днепропетровск