
Устанавливает и настраивает сенсор ханипота DShield на Raspberry Pi или Ubuntu, запуская SSH- и HTTP-ханипоты Cowrie и пересылая журналы межсетевого экрана на портал DShield.
Это набор скриптов для настройки сенсора DShield.
Текущие цели дизайна и предварительные требования для использования процедуры автоматической установки:
Текущая версия протестирована только на Raspberry Pi OS (64-bit) и Ubuntu 24.04 LTS Server, но не на других дистрибутивах, извините. Если есть потребность в других дистрибутивах, "кто-то" должен проверить и поддерживать скрипт установки.
Обратитесь к следующим файлам для инструкций по установке для конкретной ОС: Raspberry Pi OS (рекомендуется), Ubuntu, openSUSE и AWS
install.shЭтот скрипт:
Логи отправляются дважды в час на портал dshield заданием cron /etc/cron.d/dshield, это можно проверить через 'My Account' -> 'My Reports'
Посмотрите вывод скрипта статуса: /srv/dshield/status.sh
Если вы получаете странные ошибки, связанные с Python или pip, во время установки или обновления, попробуйте следующие команды от имени root:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
Ознакомьтесь с нашим Руководством по устранению неполадок для помощи в выявлении проблем.
Внутри вашего каталога "dshield" (каталог, созданный выше при выполнении git clone), выполните
cd install/dshield
sudo git pull
sudo bin/install.sh --update
Параметр --update автоматически использует существующую конфигурацию и не запрашивает у пользователя параметры конфигурации.
Параметры конфигурации, такие как ваш API Key, будут сохранены. Чтобы изменить конфигурацию, отредактируйте /etc/dshield.ini, чтобы настроить firewall, отредактируйте /etc/network/iptables (примечание: также используется таблица nat).
Добавлена новая функция, специально для автоматических обновлений. В конце установки скрипт install.sh ищет файл /root/bin/postinstall.sh и выполняет его содержимое, если он существует. Если вам нужны дополнительные изменения во вновь установленных файлах, это место для их размещения. Этот файл ДОЛЖЕН иметь права на выполнение.
Пожалуйста, следите за актуальностью специальной конфигурации портов и сети (например, вручную настройте недавно добавленные telnet/web-порты в конфигурации firewall), например, конфигурацию no-log, конфигурацию no-honey, ... к сожалению, на данный момент это нельзя сделать автоматически. Если сомневаетесь, удалите соответствующие строки в /etc/dshield.ini и повторно запустите скрипт установки.
Этот DShield sensor и honeypot предназначен только для анализа трафика, связанного с Интернетом, то есть трафика, исходящего от публичных IP-адресов:
Поэтому вы должны разместить Pi в сети, где он может быть доступен из Интернета (и к нему не будут подключаться из внутренних сетей, кроме административных задач). Для максимальной пользы сенсора желательно, чтобы Pi был доступен для всего трафика, который Интернет направляет на публичный IP (а не только для отдельных портов).
Для пользователей SoHo обычно в DSL- или кабельном роутере есть опция направить весь трафик с публичного IP, который использует роутер (то есть назначенного провайдером), на внутренний IP. Это должен быть Pi. Эта функция называется, например, "exposed host", "DMZ" (здесь может потребоваться дополнительная настройка, чтобы весь трафик направлялся на внутренний IP-адрес Pi, а не только, например, порт 80).
Для предприятий подходящим местом будет защищённая DMZ (защищённая: если сенсор/honeypot взломан, этот инцидент локализуется и не затрагивает другие хосты в DMZ). Учтите, что при использовании статических IP-адресов вы раскрываете атаки/сканирования вашего IP проекту DShield и сообществу, которые можно отследить через whois до вашей компании.
Чтобы проверить свою настройку, вы можете использовать публичный сканер портов и направить его на публичный IP роутера (который затем внутренне перенаправляется на Pi). Это сканирование портов должно быть сразу видно в /var/log/dshield.log и позже в вашем онлайн-отчёте, доступном через вашу учётную запись DShield. Пожалуйста, используйте только для быстрого и ограниченного тестирования, чтобы данные DShield не были искажены.
install.shstatus.sh) в структуру каталогов /srvsitecopy.py скопирует любой сайт, обслуживаемый с помощью скрипта web.py, просто используйте:
python sitecopy.py http://www.yoursite.com
web.py — запускать sitecopy не требуется, однако он будет обслуживать очень простую страницу, которая может принимать ввод и файлы. Список задач:
Буду признателен за любые предложения — пожалуйста, отправьте отчёт об ошибке / issue через github — спасибо!
Ссылка-приглашение в группу Slack: https://www.dshield.org/slack/