Раздел помощи SpaceWeb

Как использовать Nessus для сканирования уязвимостей в Ubuntu 22.04

10 авг, 2024

Nessus – это коммерческий сканер уязвимостей, который разработан компанией Tenable. Он используется для выявления слабых мест в компьютерных системах, сетях и приложениях. 

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

Основные функции Nessus включают:

  • Анализ конфигураций. Программа проводит проверку системных конфигураций на предмет соответствия лучшим практикам и стандартам безопасности, таким как CIS (Center for Internet Security), NIST (National Institute of Standards and Technology) и другие.
  • Аутентифицированное сканирование. Nessus поддерживает аутентифицированное сканирование – это позволяет проводить более глубокий анализ системы, включая проверку внутренних сервисов и приложений, которые доступны только после авторизации.
  • Интеграция с другими системами безопасности. Nessus может интегрироваться с различными SIEM-системами (Security Information and Event Management). Благодаря этому можно централизованно управлять инцидентами безопасности и анализировать их.
  • Мониторинг сетевой активности. Наблюдение за сетевыми потоками и выявление подозрительной активности помогает своевременно реагировать на потенциальные угрозы.
  • Отчеты и анализ. Инструмент генерирует подробные отчеты с результатами сканирования, позволяя администраторам и специалистам по безопасности анализировать обнаруженные уязвимости и предпринимать соответствующие меры по их устранению.
  • Постоянное обновление базы уязвимостей. Регулярное обновление базы данных уязвимостей обеспечивает своевременное обнаружение новых угроз и поддержание актуальности результатов сканирования.
  • Сканирование уязвимостей. Nessus проводит глубокий анализ системы, выявляя известные уязвимости в операционных системах, сервисах, устройствах и приложениях. 
  • Управление патчами. Nessus помогает отслеживать состояние патчей и обновлений для различных компонентов системы, указывая на необходимость их установки для устранения обнаруженных уязвимостей.

Версии Nessus

Каждая версия Nessus предлагает свои уникальные преимущества:

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

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

Эта версия поддерживает более сложные сценарии сканирования, автоматизацию и интеграцию с другими инструментами безопасности. В целом, она обеспечивает глубокий анализ уязвимостей и рекомендации по их устранению. 

Nessus Expert – наиболее мощная версия ПО, которая предлагает полный набор функций для крупных организаций и специалистов с высокими требованиями к безопасности. Помимо функций, которые и так доступны в версии Professional, Nessus Expert включает в себя дополнительные инструменты для управления облачной безопасностью, а также возможности для работы с инфраструктурами DevOps. Она позволяет организациям проводить глубокий анализ безопасности не только традиционных сетей, но и современных облачных и контейнерных сред. 

Версия Expert идеально подходит для крупных предприятий и организаций, которым необходимо управлять безопасностью в масштабах и комплексности их инфраструктур.

Установка Nessus 

Далее мы расскажем, как установить Nessus в Ubuntu 22.04. 

У вас есть два способа установки Nessus на Ubuntu 22.04: через Docker для быстрой и изолированной установки или через deb-пакет для традиционной установки на систему. 

Выберите тот, который лучше соответствует вашим требованиям и окружению.

Способ 1. Установить Nessus в Ubuntu 22.04 через Docker

  1. Перед началом установки убедитесь, что Docker установлен на вашей системе. Для этого выполните команду:
docker -v

Примерный вывод:

Docker version 24.0.5

  1. Загрузите последнюю версию образа Nessus из Docker Hub с помощью следующей команды:
sudo docker pull tenable/nessus:latest-ubuntu

  1. После завершения загрузки образа создайте и запустите контейнер с помощью следующей команды:
sudo docker run --name "newnessus" -d -p 8834:8834 tenable/nessus:latest-ubuntu

Где:

  • «--name "newnessus"» задает имя контейнера.
  • «-d» указывает Docker запускать контейнер в фоновом режиме.
  • «-p 8834:8834» перенаправляет порт 8834 контейнера на порт 8834 хоста, делая веб-интерфейс Nessus доступным по адресу http://localhost:8834.
  1. Если вам потребуется запустить контейнер после его остановки, используйте команду:
docker start newnessus

Способ 2. Установить Nessus в Ubuntu 22.04 как deb-пакет

  1. Для начала загрузите установочный пакет Nessus для Ubuntu с официального сайта Tenable, используя следующую команду:
curl --request GET \
  --url 'https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.7.5-ubuntu1604_amd64.deb' \
  --output 'Nessus-10.7.5-ubuntu1604_amd64.deb'

  1. По завершении загрузки установите Nessus с помощью утилиты dpkg:
sudo dpkg -i ./Nessus-10.7.5-ubuntu1604_amd64.deb

Команда распакует и установит Nessus на вашу систему Ubuntu.

  1. Когда установка закончится, запустите службу Nessus, чтобы начать использовать приложение. Для этого введите команду:
sudo systemctl start nessusd.service

  1. Убедитесь, что служба Nessus запущена и работает корректно. Это можно сделать, прописав:
sudo systemctl status nessusd

Вы должны увидеть статус Active: active (running) – он укажет на успешный запуск службы.

  1. Теперь вы можете получить доступ к веб-интерфейсу Nessus через ваш браузер по адресу: 

  1. При первом подключении появится предупреждение о возможной небезопасности соединения. Нажмите Accept the Risk and Continue.

Итак, вы успешно установили Nessus на Ubuntu 22.04 и готовы приступить к его настройке и использованию для сканирования уязвимостей в вашей сети.

Настройка Nessus 

  1. Перейдите в веб-интерфейс Nessus. По умолчанию он работает по протоколу HTTPS на порту 8834. Откройте браузер и введите адрес: 

  1. Дождитесь, когда завершится процедура компиляции плагинов. Это может занять несколько минут.
  2. По завершении выберите версию Nessus. Чем отличаются версии, вы можете посмотреть в начале руководства. 

Мы будем использовать бесплатную версию – Nessus Essentials, поэтому выбираем её.

  1. Для работы с Nessus Essentials нужен ключ активации. Чтобы его получить, укажите ваше имя и адрес электронной почты (лучше использовать зарубежный сервис, например, Gmail).
  2. Нажмите Submit.
  3. На указанный адрес электронной почты придет письмо с ключом активации. Скопируйте этот ключ из письма и вставьте его в поле Activation Code на странице настройки Nessus. 
  4. Нажмите Continue.
  5. Создайте аккаунт администратора. Укажите логин и пароль, которые вы будете использовать для входа в систему. 
  6. Нажмите Submit.
  7. После создания аккаунта Nessus начнет скачивать плагины. Подождите, пока загрузка завершится. Это может занять некоторое время.
  8. Войдите в систему под учетной записью администратора, которую вы создали ранее.
  9. Вам предложат указать диапазон IP-адресов для сканирования. Этот шаг можно пропустить и настроить его позже.

Теперь сканер безопасности Nessus настроен и готов к использованию.

Настройка сервера beeBox  

После установки и настройки Nessus пришло время проверить его в действии. 

Нам понадобится целевая система, которую будем сканировать на наличие уязвимостей. В этом примере мы используем виртуальную машину beeBox.

beeBox – это специализированная виртуальная машина, которая разработана на основе bWAPP (buggy web application) – учебном приложении с преднамеренно оставленными уязвимостями. Она предназначена для обучения и практики в области кибербезопасности. beeBox помогает отрабатывать навыки выявления и устранения различных угроз.

В нем реализованы следующие уязвимости:

  • атаки с использованием внешних сущностей XML (XXE),
  • инъекции (HTML, SQL, LDAP, SMTP и другие),
  • использование компонентов с известными уязвимостями,
  • межсайтовая подделка запроса (CSRF),
  • межсайтовый скриптинг (XSS),
  • нарушение аутентификации и управления сессиями,
  • недостаточная проверка объектов,
  • неправильная конфигурация безопасности,
  • непроверенные перенаправления и пересылки,
  • отсутствие контроля доступа на уровне функций,
  • утечка конфиденциальной информации,
  • фальсификация серверных запросов (SSRF).

Мы разберем, как установить bee-box в VirtualBox:

  1. Сначала скачайте образ виртуальной машины bee-box и распакуйте его.
  2. Откройте VirtualBox и нажмите кнопку New.
  3. В разделе «Name and Operating System» введите имя виртуальной машины, выберите тип ОС Linux и укажите версию Oracle Linux (64-bit).
  4. Задайте объем оперативной памяти (RAM) в 1024 МБ и выделите 1 процессор (CPU).
  5. В разделе Hard Disk выберите Use an Existing Virtual Hard Disk File.
  6. Нажмите Add и укажите путь к файлу bee-box.vmdk, который вы распаковали ранее.
  7. Перед запуском машины перейдите в Settings, а затем – в Network.
  8. Измените параметр Attached to с NAT на Bridged Adapter.
  9. Нажмите Start, чтобы запустить виртуальную машину.
  10.  После загрузки рабочего стола кликните на USA в верхнем меню.
  11.  Выберите Keyboard Preferences, затем – Layouts
  12.  Укажите IBM Rapid Access II в Keyboard model.
  13.  Откройте терминал и введите команду «ip a», чтобы определить IP-адрес виртуальной машины.
  14.  Используйте этот IP-адрес на вашей основной машине.

Сканирование с использованием Nessus

  1. Откройте Nessus и начните новое сканирование, нажав Create a new scan.
  2. Среди множества предустановленных шаблонов выберите Web Application Tests для сканирования веб-приложений.
  3. Перейдите на вкладку Settings, а затем – BASIC.
  4. Откройте General.
  5. Введите название, описание и DNS-имя сайта, который собираетесь сканировать.
  6. Если необходимо настроить расписание сканирования, это можно сделать в разделе Schedule, но мы его пропустим.
  7. Перейдите в раздел Settings, а затем – BASIC.
  8. Откройте Notification и укажите адрес электронной почты для получения результатов сканирования.
  9. Если почтовый сервер не настроен, нажмите SMTP Server и настройте его.
  10. Отправьте тестовое письмо, нажав Sent Test Email, и убедитесь, что письмо пришло. 
  11. Затем сохраните настройки.
  12. Перейдите раздел в Settings, а потом – в DISCOVERY. Укажите порты, которые необходимо сканировать.
  13. Перейдите в Settings, а затем – ASSESSMENT. Выберите типы уязвимостей, которые хотите искать.
  14. Перейдите в Settings, а затем –REPORT. Настройте параметры отчета.
  15. Перейдите в Settings, а затем – ADVANCED. Укажите настройки производительности.
  16. Вкладка Credentials позволяет указать параметры аутентификации, если они необходимы.
  17. Вкладка Plugins помогает настроить плагины.
  18. Сохраните настройки сканирования. Сканирование будет создано без расписания.
  19. Нажмите Launch, чтобы запустить сканирование.

Во время сканирования в режиме реального времени можно отслеживать уже найденные уязвимости. 

Уязвимости классифицируются по степени опасности:

  • Critical,
  • High,
  • Medium,
  • Low,
  • Info.

Например, если обнаружен открытый порт 25, это будет указано в результатах.

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

После завершения сканирования можно скачать отчет и приступить к устранению выявленных уязвимостей в инфраструктуре.

Заключение

В этом руководстве мы рассмотрели процесс установки и использования Nessus для сканирования уязвимостей в Ubuntu 22.04. Следуя ему, вы сможете эффективно проводить сканирование ваших веб-приложений и инфраструктуры, выявлять уязвимости и получать детализированные отчеты.