Понадобилось мне просканировать один хост на наличие уязвимостей. Нет ничего лучше для этих целей, чем сканер безопасноcти Nessus. Версия Essentials позволяет бесплатно просканировать до 16 IP адресов. Если один из использованных адресов не сканировать три месяца, то он пропадёт из списка.
Сегодня будем ставить сканер Nessus на Ununtu 18.
Подготовка к установке Nessus
Просто так мы его не поставим, потому как компания Tenable заблокировала свои IP для России.
Делать нечего, ставим какой-нибудь VPN.
ProtonVPN — бесплатный VPN с безлимитным трафиком
Установка ProtonVPN на Ubuntu Server
Включаем VPN, теперь сайт Tenable откроется.
Внизу есть ссылочка "Download by curl", с помощью неё выясняем путь к установочному DEB пакету:
https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.3.0-ubuntu1404_amd64.deb
Установка Nessus
Теперь идём в Ubuntu Server и ставим Nessus:
cd /tmp
curl --request GET \
--url 'https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.3.0-ubuntu1404_amd64.deb' \
--output 'Nessus-10.3.0-ubuntu1404_amd64.deb'
dpkg -i Nessus-10.3.0-ubuntu1404_amd64.deb
После установки запускаем службу.
sudo /bin/systemctl start nessusd.service
Для любителей WSL пригодится такой способ запуска:
sudo /opt/nessus/sbin/nessus-service
Настройка Nessus
Переходим в web интерфейс Nessus. По умолчанию он работает по протоколу HTTPS на порту 8834.
Дожидаемся окончания процедуры компиляции плагинов. После выбираем версию Nessus, я буду использовать бесплатную Essentials, выбираю её.
Для работы Nessus Essentials нужен ключ активации, его высылают на почту. Для получения ключа указываем ФИО и почту. Естественно, зарубежную, типа Gmail. Email.
На почту приходит ключ активации.
Копируем ключ из письма и вставляем в поле Activation Code. Continue.
Создаём аккаунт администратора. Указываем логин и пароль. Submit.
Nessus начинает скачивать плагины. Ждём.
Входим под админом.
Welcome. Нам предлагают указать диапазон сканирования. Можно пока пропустить. Сканер безопасности Nessus настроен.
Сканирование с помощью Nessus
Отключаем VPN и пробуем что-нибудь просканировать.
План сканирования пока пуст пуст. Create a new scan.
Предустановлено много разных шаблонов сканирования, не будем их все рассматривать. Выбираю сканирование web: Web Application Tests.
Открывается мастер создания нового сканирования. На вкладке Settings → BASIC → General указываем название, описание и DNS имя сайта, который будем сканировать. В Schedule можно настроить расписание сканирования, но мне не нужно.
Settings → BASIC → Notification. Отправим письмо с результатами сканирования на указанный ящик. Нам любезно сообщают, что у нас не настроен почтовый сервер. Нажимаем SMTP Server.
Настраиваем почтовый сервер. Отправим тестовое письмо: Sent Test Email.
Send. Письмо пришло. Save. Продолжаем настраивать новое сканирование.
Settings → DISCOVERY. Выбираем какие порты сканировать.
Settings → ASSESMENT. Выбираем типы уязвимостей для сканирования.
Settings → REPORT. Настраиваем отчёт.
Settings → ADVANCED. Указываем настройки производительности.
Есть ещё вкладки: Credentials для указания параметров аутентификации, если они нужны; Plugins для тонкой настройки плагинов. Save.
Создаётся новое сканирование, без расписания. Запускаем: Launch.
Сканирование запускается.
Пока идёт сканирование в режиме реального времени можно смотреть уже найденные уязвимости. Степень опасности разная:
- Critical
- Hight
- Medium
- Low
- Info
Можно посмотреть конкретные уязвимости.
К примеру, сообщается, что найден открытый порт 25 для почты.
Если сам сканер потребляет не очень много ресурсов, то сканируемый им ресурс может сильно нагрузиться.
После окончания сканирования можно скачать отчёт и заняться исправлением ошибок своей инфраструктуры.