Гид по технологиям

Установка и настройка SpiderFoot на Ubuntu 20.04

• 5 min read • Security • Обновлено 21 Nov 2025
Установка SpiderFoot на Ubuntu 20.04
Установка SpiderFoot на Ubuntu 20.04

Скриншот интерфейса SpiderFoot на веб‑сервере

SpiderFoot — бесплатный и открытый инструмент для автоматизированного поиска уязвимостей и разведки по открытым источникам (OSINT). Программа написана на Python, использует SQLite для хранения данных и предоставляет веб‑интерфейс для запуска сканирований нескольких целей одновременно через браузер. SpiderFoot работает на Linux и Windows и может интегрироваться с внешними репозиториями и API.

Основная цель статьи

Провести установку SpiderFoot на сервер Ubuntu 20.04, запустить веб‑интерфейс, включить простую аутентификацию и дать практические рекомендации по безопасной эксплуатации.

Кому пригодится

  • Системным администраторам, которые хотят добавить инструмент OSINT в арсенал.
  • Пентестерам, планирующим автономный инвентарь рисков.
  • Командам IT‑безопасности, требующим быстрой установки и безопасного развёртывания.

Предпосылки

  • Сервер с Ubuntu 20.04 (доступ по SSH).
  • Пароль root или учетная запись с правами sudo.
  • Базовые навыки работы в терминале.

Обновление пакетов и установка зависимостей

Перед началом обновите кеш пакетов и установите Python 3 и pip:

apt-get update -y
apt-get install python3 python3-pip -y

Важно: используйте sudo, если вы не под root. После установки можно перейти к загрузке SpiderFoot.

Загрузка и установка SpiderFoot

  1. Скачайте релиз (в примере — v3.3):
wget https://github.com/smicallef/spiderfoot/archive/v3.3.tar.gz
  1. Распакуйте архив:
tar -xvzf v3.3.tar.gz
  1. Перейдите в распакованную папку и установите Python‑зависимости:
cd spiderfoot-3.3
pip3 install -r requirements.txt
  1. Проверьте доступные опции SpiderFoot:
python3 sf.py --help

(Вы увидите список аргументов запуска, например: -l для адреса прослушивания, -s для цели, -M для списка модулей и т.д.)

Запуск SpiderFoot в режиме веб‑интерфейса

Запустите сервер, указав IP сервера и порт (по умолчанию в примерах используется 5001):

python3 sf.py -l your-server-ip:5001

При старте вы увидите лог о том, что сервер слушает указанный адрес и порт. Нажмите CTRL+C для остановки.

Важно: по умолчанию аутентификация отключена. Не экспонируйте сервис в интернет без защиты.

Включение базовой аутентификации

  1. В каталоге spiderfoot создайте файл passwd с записью “user:password”:
cd spiderfoot-3.3
echo "admin:yourpassword" > passwd
  1. Запустите SpiderFoot снова, и он автоматически включит базовую аутентификацию при наличии файла passwd:
python3 sf.py -l your-server-ip:5001

После этого веб‑интерфейс будет запрашивать логин и пароль при входе.

Доступ к веб‑интерфейсу

Откройте в браузере:

http://your-server-ip:5001

Страница входа SpiderFoot

Введите учётные данные и войдите. После входа вы попадёте в панель управления, где можно создать новый скан.

История сканирований и панель SpiderFoot

Создание нового сканирования в SpiderFoot

Результаты сканирования на Linux‑сервере

Рекомендации по безопасной публикации веб‑интерфейса

Минимальные шаги для безопасной эксплуатации:

  • Запустите SpiderFoot только на внутреннем интерфейсе (127.0.0.1) и пробрасывайте доступ через реверс‑прокси (Nginx) с TLS.
  • Ограничьте доступ через брандмауэр (ufw или iptables) по IP, если возможно.
  • Используйте надёжные пароли и храните их в менеджере паролей.
  • Рассмотрите запуск под отдельным непривилегированным системным юзером.

Пример запуска на локальном интерфейсе и проксирования через Nginx:

  1. Запустите SpiderFoot на localhost:
python3 sf.py -l 127.0.0.1:5001
  1. Пример конфигурации Nginx (файл /etc/nginx/sites-available/spiderfoot):
server {
    listen 80;
    server_name spiderfoot.example.com;

    location / {
        proxy_pass http://127.0.0.1:5001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  1. Получите сертификат Let’s Encrypt и включите HTTPS (certbot):
apt-get install certbot python3-certbot-nginx -y
certbot --nginx -d spiderfoot.example.com

Настройка systemd‑сервиса для автозапуска

Создайте файл /etc/systemd/system/spiderfoot.service:

[Unit]
Description=SpiderFoot
After=network.target

[Service]
User=spiderfoot
WorkingDirectory=/opt/spiderfoot-3.3
ExecStart=/usr/bin/python3 /opt/spiderfoot-3.3/sf.py -l 127.0.0.1:5001
Restart=on-failure

[Install]
WantedBy=multi-user.target

Затем:

systemctl daemon-reload
systemctl enable --now spiderfoot.service

Жёсткая настройка и соответствие приватности

  • Не сканируйте объекты, на которые у вас нет явного разрешения — это может быть незаконно.
  • Если вы собираете персональные данные, оцените соответствие GDPR и локальным законам о защите данных; минимизируйте хранение чувствительной информации.
  • По возможности используйте отдельную базу данных и резервное копирование зашифрованных файлов SQLite.

Проверочный чеклист (роль — системный администратор)

  • Сервер обновлён (apt-get update && apt-get upgrade).
  • Установлен Python3 и pip3.
  • SpiderFoot распакован и зависимости установлены.
  • Включена базовая аутентификация (файл passwd заполнен).
  • Веб‑интерфейс доступен только через Nginx с HTTPS.
  • Сервис настроен через systemd и автоматически перезапускается.
  • Файлы логов и база данных защищены правами доступа.

Критерии приёмки

  • Веб‑интерфейс доступен по HTTPS и требует учётных данных.
  • Сканирование запускается и сохраняет результаты в базе данных.
  • Сервис автоматически стартует после перезагрузки сервера.

Частые проблемы и способы устранения

  1. Проблема: «Port already in use» при старте

    • Причина: другой процесс слушает порт 5001.
    • Решение: остановите процесс или измените порт (например, 127.0.0.1:5002) и обновите прокси.
  2. Проблема: «Authentication disabled» даже при наличии passwd

    • Причина: файл passwd не в той директории или нет прав чтения.
    • Решение: проверьте путь и права (chmod 600 passwd).
  3. Проблема: Nginx не проксирует корректно

    • Проверьте логи Nginx (journalctl -u nginx) и убедитесь, что proxy_pass указывает на правильный адрес.

Обновление и миграция

  • Чтобы обновиться до новой версии SpiderFoot, скачайте архив новой версии, остановите сервис, распакуйте в /opt, установите зависимости и перезапустите systemd‑сервис. Проверьте совместимость модулей и резервные копии базы данных перед обновлением.

Альтернативы и когда SpiderFoot не подходит

  • Если вам нужен распределённый сканер с базой данных уровня предприятия — рассмотрите коммерческие решения (они обеспечат масштабирование, централизованное управление и поддержу).
  • SpiderFoot хорошо подходит для OSINT и начальной автоматизации, но может быть недостаточен для глубокой сетевой эксплуатации или управления большими объёмами данных.

Быстрая методология безопасного запуска (мини‑SOP)

  1. Установить и протестировать локально (127.0.0.1).
  2. Включить аутентификацию и строгие права доступа.
  3. Прокси через Nginx + TLS, ограничить доступ по IP при возможности.
  4. Настроить systemd и мониторинг (Prometheus/Alertmanager или простой health‑check).
  5. Делать регулярные бэкапы и ревью модулей.

Резервный план и откат

  • Перед обновлением: создать копию каталога spiderfoot и файла базы (SQLite).
  • Если обновление привело к ошибкам, откатитесь к резервной копии каталога и базы и перезапустите старый сервис.

Полезные ссылки и документация

Краткое резюме

Вы установили SpiderFoot на Ubuntu 20.04, запустили веб‑интерфейс и включили базовую аутентификацию. Дальше рекомендуется проксировать сервис через Nginx с HTTPS, настроить systemd для автозапуска и обеспечить защиту данных. Используйте чеклист и рекомендации по безопасности при развертывании в продакшн.

Вопросы? Опишите вашу конфигурацию (IP, публичный/приватный доступ, есть ли reverse proxy), и я помогу адаптировать сервис под ваш сценарий.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро