T-Pot — это универсальная, опционально распределенная, многоархитектурная (amd64, Arm64) платформа-приманка, поддерживающая более 20 приманок и бесчисленное количество вариантов визуализации с использованием Elastic Stack, анимированных карт атак в реальном времени и множества инструментов безопасности для дальнейшего улучшения опыта обмана.
Соответствовать системным требованиям. Для установки T-Pot требуется как минимум 8–16 ГБ ОЗУ, 128 ГБ свободного места на диске, а также работающее (исходящее нефильтрованное) подключение к Интернету.
Загрузите или используйте работающий поддерживаемый дистрибутив.
Установите ISO с минимальным количеством пакетов/сервисов (требуется ssh
)
Установите curl
: $ sudo [apt, dnf, zypper] install curl
если он еще не установлен
Запустите установщик от имени пользователя без полномочий root из $HOME
:
env bash -c "$(curl -sL https://github.com/telekom-security/tpotce/raw/master/install.sh)"
Следуйте инструкциям, прочитайте сообщения, проверьте возможные конфликты портов и перезагрузитесь.
T-Pot — многофункциональная платформа-приманка «все в одном»
ТЛ;ДР
Отказ от ответственности
Техническая концепция
Техническая Архитектура
Услуги
Типы пользователей
Системные требования
Запуск в виртуальной машине
Работа на оборудовании
Бег в облаке
Требуемые порты
Размещение системы
Установка
Стандартный/УЛЕЙ
Распределенный
Выберите свой дистрибутив
Поддержка Raspberry Pi 4 (8 ГБ)
Получите и установите T-Pot
macOS и Windows
Типы установки
Удалить T-Pot
Первый старт
Планирование и сертификаты
Развертывание датчиков
Автономный первый запуск
Распределенное развертывание
Отправка данных сообщества
Согласие на отправку данных HPFEEDS
Удаленный доступ и инструменты
SSH
Целевая страница T-Pot
Панель управления Кибана
Карта атаки
Кибершеф
Эластвью
Паучья лапка
Конфигурация
Конфигурационный файл T-Pot
Настройка приманок и сервисов T-Pot
Обслуживание
Экспорт
Импорт
Образы Docker не загружаются
Сбой в работе сети T-Pot
Общие обновления
Обновить скрипт
Ежедневная перезагрузка
Известные проблемы
Запустить T-Pot
Остановить Т-Пот
Папка данных T-Pot
Сохранение журнала
Сброс к заводским настройкам
Показать контейнеры
Черная дыра
Добавьте пользователей в Nginx (веб-интерфейс T-Pot)
Импорт и экспорт объектов Kibana
Поиск неисправностей
Журналы
ОЗУ и хранилище
Контакт
Проблемы
Обсуждения
Лицензии
Кредиты
Разработчики и сообщества разработчиков
Отзывы
Вы устанавливаете и запускаете T-Pot под свою ответственность. Выбирайте развертывание с умом, поскольку никогда нельзя исключать возможность компрометации системы.
Для быстрой помощи в исследовании проблем и обсуждений.
Программное обеспечение разработано и предлагается с учетом всех усилий. Будучи проектом сообщества и открытым исходным кодом, он использует множество других программ с открытым исходным кодом и может содержать ошибки и проблемы. Сообщайте ответственно.
Honeypots по своей конструкции не должны хранить конфиденциальные данные. Убедитесь, что вы ничего не добавляете.
По умолчанию ваши данные передаются в Sicherheitstacho. Вы можете отключить это в конфигурации ( ~/tpotce/docker-compose.yml
), удалив раздел ewsposter
. Но в данном случае делиться – это действительно забота!
Основные компоненты T-Pot были перенесены в образ Docker tpotinit
, что позволяет T-Pot теперь поддерживать несколько дистрибутивов Linux, даже macOS и Windows (хотя оба они ограничены набором функций Docker Desktop). T-Pot использует docker и docker Compose для достижения своей цели — одновременного запуска как можно большего количества приманок и инструментов и, таким образом, максимального использования оборудования хоста.
T-Pot предлагает образы докеров для следующих ловушек...
адбхони,
сискоаса,
цитриксханипот,
конпо,
каури,
ддоспот,
дикомпот,
дионея,
эластичный горшок,
бесконечный,
обжора,
адский горшок,
вестник,
приманки,
ловушка,
айфони,
журнал4пот,
мейлони,
медпот,
красный медовый горшок,
часовой,
ловушка,
кожевник,
словесный горшок
... наряду со следующими инструментами...
Autoheal — инструмент для автоматического перезапуска контейнеров при неудачных проверках работоспособности.
Cyberchef — веб-приложение для шифрования, кодирования, сжатия и анализа данных.
Elastic Stack для красивой визуализации всех событий, зафиксированных T-Pot.
Elasticvue — веб-интерфейс для просмотра и взаимодействия с кластером Elasticsearch.
Fatt — скрипт на основе pyshark для извлечения сетевых метаданных и отпечатков пальцев из файлов pcap и реального сетевого трафика.
T-Pot-Attack-Map — красиво анимированная карта атак для T-Pot.
P0f — это инструмент для чисто пассивного снятия отпечатков пальцев трафика.
Spiderfoot — инструмент автоматизации разведки с открытым исходным кодом.
Suricata — механизм мониторинга сетевой безопасности.
... чтобы предоставить вам наилучшие возможности и простую в использовании систему с несколькими приманками.
Исходный код и файлы конфигурации полностью хранятся в репозитории T-Pot GitHub. Образы докеров созданы и предварительно настроены для среды T-Pot.
Отдельные файлы Dockerfile и конфигурации находятся в папке docker.
T-Pot предлагает ряд услуг, которые в основном разделены на пять групп:
Системные службы, предоставляемые ОС
SSH для безопасного удаленного доступа.
Эластичный стек
Elasticsearch для хранения событий.
Logstash для приема, получения и отправки событий в Elasticsearch.
Kibana для отображения событий на красиво оформленных информационных панелях.
Инструменты
NGINX обеспечивает безопасный удаленный доступ (обратный прокси-сервер) к Kibana, CyberChef, Elasticvue, GeoIP AttackMap, Spiderfoot и позволяет датчикам T-Pot безопасно передавать данные о событиях в улей T-Pot.
CyberChef — веб-приложение для шифрования, кодирования, сжатия и анализа данных.
Elasticvue — веб-интерфейс для просмотра и взаимодействия с кластером Elasticsearch.
Карта атаки T-Pot — красиво анимированная карта атаки для T-Pot.
Spiderfoot — инструмент автоматизации разведки с открытым исходным кодом.
Приманки
Выбор из 23 доступных приманок на основе выбранного файла docker-compose.yml
.
Мониторинг сетевой безопасности (NSM)
Fatt — скрипт на основе pyshark для извлечения сетевых метаданных и отпечатков пальцев из файлов pcap и реального сетевого трафика.
P0f — это инструмент для чисто пассивного снятия отпечатков пальцев трафика.
Suricata — механизм мониторинга сетевой безопасности.
Во время установки и использования T-Pot вы будете работать с двумя разными типами учетных записей. Убедитесь, что вы знаете различия между разными типами учетных записей, поскольку это, безусловно, самая распространенная причина ошибок аутентификации.
Услуга | Тип учетной записи | Имя пользователя/группа | Описание |
---|---|---|---|
SSH | ОС | <OS_USERNAME> | Пользователь, которого вы выбрали при установке ОС. |
Нгинкс | Базовая аутентификация | <WEB_USER> | <web_user> который вы выбрали во время установки T-Pot. |
КиберШеф | Базовая аутентификация | <WEB_USER> | <web_user> который вы выбрали во время установки T-Pot. |
Эластвью | Базовая аутентификация | <WEB_USER> | <web_user> который вы выбрали во время установки T-Pot. |
Карта атак GeoIP | Базовая аутентификация | <WEB_USER> | <web_user> который вы выбрали во время установки T-Pot. |
Паучья лапка | Базовая аутентификация | <WEB_USER> | <web_user> который вы выбрали во время установки T-Pot. |
Т-Пот | ОС | tpot | tpot этот пользователь/группа всегда зарезервирован службами T-Pot. |
Журналы T-Pot | Базовая аутентификация | <LS_WEB_USER> | LS_WEB_USER управляются автоматически. |
В зависимости от поддерживаемых образов дистрибутива Linux, куста/сенсора, установки на реальном оборудовании, виртуальной машине или других средах для успешной установки T-Pot необходимо соблюдать различные требования в отношении ОС, оперативной памяти, хранилища и сети ( вы всегда можете настроить ~/tpotce/docker-compose.yml
и ~/tpotce/.env
в соответствии со своими потребностями, чтобы преодолеть эти требования).
Тип Т-образного горшка | БАРАН | Хранилище | Описание |
---|---|---|---|
Улей | 16 ГБ | 256 ГБ твердотельный накопитель | Как правило, чем больше датчиков и данных, тем больше оперативной памяти и хранилища требуется. |
Датчик | 8 ГБ | 128 ГБ твердотельный накопитель | Поскольку журналы приманки сохраняются (~/tpotce/data) в течение 30 дней, объем хранилища зависит от объема атаки. |
T-Pot требует...
адрес IPv4 через DHCP или статически назначенный
работающее подключение к Интернету без прокси-сервера... для успешной установки и работы.
Если вам нужна поддержка прокси или другие нестандартные функции, вам следует проверить документацию поддерживаемых образов дистрибутива Linux и/или документацию Docker.
Все поддерживаемые образы дистрибутива Linux будут работать на виртуальной машине, а это означает, что T-Pot будет работать нормально. Следующие устройства были протестированы/сообщены о работе:
UTM (Intel и Apple Silicon)
ВиртуалБокс
VMWare Fusion и рабочая станция VMWare
Сообщается, что KVM также работает.
Некоторые советы по настройке/настройке:
Хотя версии Intel работают стабильно, поддержка Apple Silicon (arm64) имеет известные проблемы, из-за которых в UTM может потребоваться переключение Display
на Console Only
во время первоначальной установки ОС, а затем обратно на Full Graphics
.
Во время настройки вам может потребоваться включить смешанный режим для сетевого интерфейса, чтобы fatt, suricata и p0f работали правильно.
Если вы хотите использовать карту Wi-Fi в качестве основного сетевого адаптера для T-Pot, имейте в виду, что не все драйверы сетевых интерфейсов поддерживают все беспроводные карты. Например, в VirtualBox вам нужно выбрать модель сетевого адаптера «MT SERVER» .
T-Pot ограничен только аппаратной поддержкой поддерживаемых образов дистрибутива Linux. Рекомендуется проверить HCL (список совместимости оборудования) и протестировать поддерживаемые дистрибутивы с помощью T-Pot, прежде чем инвестировать в специальное оборудование.
T-Pot протестирован и работает на...
Telekom OTC, использующий метод после установки... другие могут работать, но остаются непроверенными.
Некоторые пользователи сообщают о работающих установках на других облаках и хостерах, например Azure и GCP. Требования к оборудованию могут быть разными. Если вы не уверены, вам следует изучить проблемы и обсуждения, а также провести несколько функциональных тестов. В T-Pot 24.04.0 и более поздних версиях мы постарались удалить настройки, которые, как известно, мешали установке в облаке.
Помимо портов, обычно необходимых ОС, например, для получения аренды DHCP, DNS и т. д. T-Pot потребует следующие порты для входящих/исходящих соединений. Просмотрите архитектуру T-Pot для визуального представления. Кроме того, некоторые порты будут отображаться как дубликаты, и это нормально, поскольку они используются в разных редакциях.
Порт | Протокол | Направление | Описание |
---|---|---|---|
80, 443 | TCP | исходящий | Управление T-Pot: установка, обновления, журналы (например, ОС, GitHub, DockerHub, Sicherheitstacho и т. д.). |
64294 | TCP | входящий | Управление T-Pot: передача данных датчиков в улей (через обратный прокси-сервер NGINX) по адресу 127.0.0.1:64305. |
64295 | TCP | входящий | Управление T-Pot: доступ к SSH |
64297 | TCP | входящий | Управление T-Pot Доступ к обратному прокси-серверу NGINX |
5555 | TCP | входящий | Приманка: ADBHoney |
5000 | UDP | входящий | Приманка: CiscoASA |
8443 | TCP | входящий | Приманка: CiscoASA |
443 | TCP | входящий | Приманка: CitrixHoneypot |
80, 102, 502, 1025, 2404, 10001, 44818, 47808, 50100 | TCP | входящий | Приманка: Конпот |
161, 623 | UDP | входящий | Приманка: Конпот |
22, 23 | TCP | входящий | Приманка: Каури |
19, 53, 123, 1900 г. | UDP | входящий | Приманка: Ddospot |
11112 | TCP | входящий | Приманка: Дикомпот |
21, 42, 135, 443, 445, 1433, 1723, 1883, 3306, 8081 | TCP | входящий | Приманка: Дионея |
69 | UDP | входящий | Приманка: Дионея |
9200 | TCP | входящий | Приманка: Elasticpot |
22 | TCP | входящий | Приманка: Бесконечная |
21, 22, 23, 25, 80, 110, 143, 443, 993, 995, 1080, 5432, 5900 | TCP | входящий | Honeypot: Вестник |
21, 22, 23, 25, 80, 110, 143, 389, 443, 445, 631, 1080, 1433, 1521, 3306, 3389, 5060, 5432, 5900, 6379, 6667, 8080, 9100, 9200, 11211 | TCP | входящий | Приманка: qHoneypots |
53, 123, 161, 5060 | UDP | входящий | Приманка: qHoneypots |
631 | TCP | входящий | Приманка: IPPHoney |
80, 443, 8080, 9200, 25565 | TCP | входящий | Приманка: Log4Pot |
25 | TCP | входящий | Приманка: Мейлони |
2575 | TCP | входящий | Приманка: Медпот |
6379 | TCP | входящий | Приманка: Redishoneypot |
5060 | TCP/UDP | входящий | Приманка: SentryPeer |
80 | TCP | входящий | Приманка: ловушка (Таннер) |
8090 | TCP | входящий | Приманка: Wordpot |
Порты и доступность услуг SaaS могут различаться в зависимости от вашего географического положения.
Для достижения полной функциональности некоторых приманок (например, Cowrie или Log4Pot) также необходимы исходящие соединения, чтобы они могли загрузить вредоносное ПО злоумышленника. Пожалуйста, ознакомьтесь с документацией по отдельным приманкам, чтобы узнать больше, перейдя по ссылкам на их репозитории.
Прежде чем начинать работу с Интернетом, рекомендуется ознакомиться с тем, как работают T-Pot и приманки. Для быстрого старта запустите установку T-Pot на виртуальной машине.
Как только вы ознакомитесь с тем, как все работает, вам следует выбрать сеть, в которой или из которой, по вашему мнению, злоумышленники (например, Интернет). В противном случае T-Pot, скорее всего, не зафиксирует никаких атак (если только вы не захотите доказать свою точку зрения)! Для начала рекомендуется поместить T-Pot в нефильтрованную зону, где весь трафик TCP и UDP перенаправляется на сетевой интерфейс T-Pot. Чтобы избежать проверки портов управления T-Pot, вам следует поместить T-Pot за брандмауэр и перенаправлять весь трафик TCP/UDP в диапазоне портов 1–64000 на T-Pot, разрешая доступ к портам > 64000 только с доверенных IP-адресов и / или открывайте только те порты, которые соответствуют вашему варианту использования. Если вы хотите перехватывать трафик вредоносного ПО на неизвестных портах, вам не следует ограничивать пересылаемые порты, поскольку «обжорство» и «ловушка» динамически связывают любой TCP-порт, который не занят другими демонами-приманками, и, таким образом, дают вам лучшее представление о рисках, которым подвергается ваша установка. .
Загрузите один из поддерживаемых образов дистрибутива Linux, следуйте инструкциям TL;DR или git clone
и запустите установщик ~/tpotce/install.sh
. Запуск T-Pot поверх работающей и поддерживаемой системы Linux возможен, но рекомендуется выполнить чистую установку, чтобы избежать конфликтов портов с работающими службами. Установщику T-Pot потребуется прямой доступ к Интернету, как описано здесь.
Шаги, которые необходимо выполнить:
Загрузите поддерживаемый дистрибутив Linux из списка ниже.
Во время установки выберите минимальную версию , сетевую или серверную версию, которая будет устанавливать только необходимые пакеты.
Никогда не устанавливайте графическую среду рабочего стола, такую как Gnome или KDE. T-Pot не сможет с ним работать из-за конфликтов портов.
Обязательно установите SSH, чтобы вы могли подключиться к машине удаленно.
Название дистрибутива | х64 | рука64 |
---|---|---|
Alma Linux OS 9.4 Загрузочный ISO | скачать | скачать |
Сетевая установка Debian 12 | скачать | скачать |
Сетевая установка Fedora Server 40 | скачать | скачать |
Сетевой образ OpenSuse Tumbleweed | скачать | скачать |
Rocky Linux OS 9.4 Загрузочный ISO | скачать | скачать |
Живой сервер Ubuntu 24.04 | скачать | скачать |
Название дистрибутива | рука64 |
---|---|
ОС Raspberry Pi ( 64-битная, Lite ) | скачать |
Клонируйте репозиторий GitHub: $ git clone https://github.com/telekom-security/tpotce
или следуйте TL;DR и пропустите этот раздел.
Перейдите в папку tpotce/ : $ cd tpotce
Запустите установщик от имени пользователя без полномочий root: $ ./install.sh
:
Измените порт SSH на tcp/64295
Отключите прослушиватель DNS-заглушки, чтобы избежать конфликтов портов с приманками.
Установите SELinux в режим мониторинга
Установите в качестве цели брандмауэра для общедоступной зоны значение ACCEPT.
Добавьте репозиторий Docker и установите Docker.
Установите рекомендуемые пакеты
Удалите пакеты, которые, как известно, вызывают проблемы
Добавьте текущего пользователя в группу докеров (разрешите взаимодействие с докером без sudo
).
Добавьте псевдонимы dps
и dpsw
( grc docker ps -a
, watch -c "grc --colour=on docker ps -a
)
Добавьте псевдонимы la
, ll
и ls
( exa
, улучшенная команда ls
)
Добавить mi
(для micro
, отличная альтернатива vi
и/или nano
)
Отображение открытых портов на хосте (сравните с требуемыми портами T-Pot)
Добавьте и включите tpot.service
в /etc/systemd/system
, чтобы T-Pot мог автоматически запускаться и останавливаться.
В зависимости от выбранного вами дистрибутива Linux установщик:
Следуйте инструкциям установщика, вам нужно будет ввести пароль пользователя ( sudo
или root
) хотя бы один раз.
Проверьте сообщения установщика на наличие ошибок и открытых портов, которые могут вызвать конфликты портов.
Перезагрузка: $ sudo reboot
Иногда просто приятно, если вы можете запустить экземпляр T-Pot на macOS или Windows, например, для разработки, тестирования или просто для развлечения. Поскольку Docker Desktop довольно ограничен, поддерживаются не все типы ловушек или функции T-Pot. Также помните, что по умолчанию брандмауэр macOS и Windows блокируют удаленный доступ, поэтому тестирование ограничивается хостом. Для производства рекомендуется запускать T-Pot в Linux.
Чтобы начать работу, просто выполните следующие действия:
Установите Docker Desktop для macOS или Windows.
Клонируйте репозиторий GitHub: git clone https://github.com/telekom-security/tpotce
(в Windows убедитесь, что код извлекается с помощью LF
вместо CRLF
!)
Перейдите по адресу: cd ~/tpotce
Скопируйте cp compose/mac_win.yml ./docker-compose.yml
Создайте WEB_USER
, запустив ~/tpotce/genuser.sh
(macOS) или ~/tpotce/genuserwin.ps1
(Windows).
Настройте файл .env
, изменив TPOT_OSTYPE=linux
на mac
или win
:
# OSType (linux, mac, win) # Most docker features are available on linux TPOT_OSTYPE=mac
Вы должны самостоятельно убедиться в отсутствии конфликтов портов, мешающих запуску T-Pot.
Запустите T-Pot: docker compose up
или docker compose up -d
если вы хотите, чтобы T-Pot работал в фоновом режиме.
Остановить T-Pot: CTRL-C
(если он работал на переднем плане) и/или docker compose down -v
чтобы полностью остановить T-Pot.
При использовании T-Pot Standard/HIVE все службы, инструменты, приманки и т. д. будут установлены на один хост, который также служит конечной точкой HIVE. Убедитесь, что системные требования соблюдены. Вы можете настроить ~/tpotce/docker-compose.yml
в соответствии со своими личными потребностями или создать свою собственную конфигурацию, используя ~/tpotce/compose/customizer.py
чтобы адаптировать работу T-Pot к вашим потребностям. После завершения установки вы можете перейти к первому запуску.
Распределенная версия T-Pot требует как минимум двух хостов.
T-Pot HIVE , стандартная установка T-Pot (сначала установите это!),
и T-Pot SENSOR , который будет размещать только приманки, некоторые инструменты и передавать данные журналов в HIVE .
SENSOR не запустится до завершения установки SENSOR , как описано в разделе «Распределенное развертывание».
Удаление T-Pot доступно только в поддерживаемых дистрибутивах Linux.
Чтобы удалить T-Pot, запустите ~/tpotce/uninstall.sh
и следуйте инструкциям программы удаления. Вам нужно будет хотя бы один раз ввести свой пароль.
После завершения удаления перезагрузите компьютер sudo reboot
После успешного завершения работы установщика T-Pot систему необходимо перезагрузить ( sudo reboot
). После перезагрузки вы можете войти в систему, используя пользователя, которого вы настроили во время установки системы. Логины соответствуют типам пользователей:
пользователь: [ <OS_USERNAME>
>]
пройти: [пароль]
Вы можете войти через SSH для доступа к командной строке: ssh -l <OS_USERNAME> -p 64295 <your.ip>
:
пользователь: [ <OS_USERNAME>
>]
pass: [пароль, рекомендуется использовать ключ SSH]
Вы также можете войти в систему из браузера и получить доступ к веб-интерфейсу T-Pot и инструментам: https://<your.ip>:64297
пользователь: [ <WEB_USER>
]
пройти: [пароль]
Делать особо нечего, кроме как войти в систему и проверить через dps.sh
, все ли службы и приманки запускаются правильно, а также войти в систему Kibana и/или карту атак Geoip для отслеживания атак.
Распределенное развертывание предполагает планирование, поскольку T-Pot Init создаст только самозаверяющий сертификат для IP-адреса хоста HIVE , который обычно подходит для простых настроек. Поскольку logstash будет проверять наличие действующего сертификата при подключении, распределенная настройка с использованием HIVE для доступности по нескольким IP-адресам (например, RFC 1918 и общедоступному IP-адресу NAT) и, возможно, даже по имени домена приведет к ошибке соединения, когда сертификат не может быть проверен как для такой настройки требуется сертификат с общим именем и SAN (альтернативное имя субъекта).
Прежде чем развертывать какие-либо датчики, убедитесь, что вы правильно спланировали доменные имена и IP-адреса, чтобы избежать проблем с сертификатом. Подробнее см. в выпуске №1543.
Приспособьте пример к настройке вашего IP/домена и следуйте командам, чтобы изменить сертификат HIVE :
sudo systemctl stop tpot sudo openssl req -nodes -x509 -sha512 -newkey rsa:8192 -keyout "$HOME/tpotce/data/nginx/cert/nginx.key" -out "$HOME/tpotce/data/nginx/cert/nginx.crt" -days 3650 -subj '/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd' -addext "subjectAltName = IP:192.168.1.200, IP:1.2.3.4, DNS:my.primary.domain, DNS:my.secondary.domain" sudo chmod 774 $HOME/tpotce/data/nginx/cert/* sudo chown tpot:tpot $HOME/tpotce/data/nginx/cert/* sudo systemctl start tpot
Файл конфигурации T-Pot ( .env
) позволяет отключить проверку SSL для подключений logstash от SENSOR к HIVE , установив LS_SSL_VERIFICATION=none
. По соображениям безопасности это рекомендуется только для лабораторных или тестовых сред.
Если вы решите использовать действительный сертификат для HIVE, подписанный центром сертификации (т. е. Let's Encrypt), у logstash и, следовательно, у SENSOR не должно возникнуть проблем с подключением и передачей своих журналов в HIVE .
После перезагрузки SENSOR в соответствии с инструкциями установщика вы можете продолжить распределенное развертывание, войдя в HIVE и перейдя в папку cd ~/tpotce
. Прежде чем продолжить фактическое развертывание, убедитесь, что вы поняли «Планирование и сертификаты».
Если вы еще не сгенерировали SSH-ключ для безопасного входа в СЕНСОР и разрешения Ansible
запускать плейбук на датчике:
Запустите ssh-keygen
, следуйте инструкциям и оставьте парольную фразу пустой:
Generating public/private rsa key pair. Enter file in which to save the key (/home/<your_user>/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/<your_user>/.ssh/id_rsa Your public key has been saved in /home/<your_user>/.ssh/id_rsa.pub
Разверните ключ для SENSOR, запустив ssh-copy-id -p 64295 <SENSOR_SSH_USER>@<SENSOR_IP>)
:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/<your_user>/.ssh/id_rsa.pub" The authenticity of host '[<SENSOR_IP>]:64295 ([<SENSOR_IP>]:64295)' can't be stablished. ED25519 key fingerprint is SHA256:naIDxFiw/skPJadTcgmWZQtgt+CdfRbUCoZn5RmkOnQ. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys <your_user>@172.20.254.124's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh -p '64295' '<your_user>@<SENSOR_IP>'" and check to make sure that only the key(s) you wanted were added.
Как предложено, следуйте инструкциям для проверки соединения ssh -p '64295' '<your_user>@<SENSOR_IP>'
.
После успешного развертывания ключа запустите ./deploy.sh
и следуйте инструкциям.
Определите ENV TPOT_HIVE_USER
на ДАТЧИКЕ в конфигурации $HOME/tpotce/.env
(это строка в кодировке Base64). Теперь определите ту же строку в ENV LS_WEB_USER
в HIVE в конфигурации $HOME/tpotce/.env
. Удалите веревку и перезапустите T-Pot.
Теперь вы можете безопасно удалить машину SENSOR.
T-Pot создан для того, чтобы сделать его доступным для всех, кто интересуется приманками. По умолчанию собранные данные передаются на сервер сообщества. Серверная часть сообщества использует данные для подачи Sicherheitstacho. Вы можете отказаться от отправки, удалив # Ewsposter service
из ~/tpotce/docker-compose.yml
выполнив следующие действия:
Остановить службы T-Pot: systemctl stop tpot
Откройте ~/tpotce/docker-compose.yml
: micro ~/tpotce/docker-compose.yml
Удалите следующие строки, сохраните и выйдите из микро ( CTRL+Q
):
# Ewsposter service ewsposter: container_name: ewsposter restart: always depends_on: tpotinit: condition: service_healthy networks: - ewsposter_local environment: - EWS_HPFEEDS_ENABLE=false - EWS_HPFEEDS_HOST=host - EWS_HPFEEDS_PORT=port - EWS_HPFEEDS_CHANNELS=channels - EWS_HPFEEDS_IDENT=user - EWS_HPFEEDS_SECRET=secret - EWS_HPFEEDS_TLSCERT=false - EWS_HPFEEDS_FORMAT=json image: ${TPOT_REPO}/ewsposter:${TPOT_VERSION} pull_policy: ${TPOT_PULL_POLICY} volumes: - ${TPOT_DATA_PATH}:/data - ${TPOT_DATA_PATH}/ews/conf/ews.ip:/opt/ewsposter/ews.ip
Запуск служб T-Pot: systemctl start tpot
Рекомендуется не отключать отправку данных, поскольку это основная цель подхода сообщества. Как вы все знаете, делиться – это забота ?
В качестве согласия можно поделиться данными T-Pot со сторонними брокерами HPFEEDS.
Следуйте инструкциям здесь, чтобы остановить службы T-Pot, и откройте ~/tpotce/docker-compose.yml
.
Прокрутите вниз до раздела ewsposter
и настройте параметры HPFEEDS в соответствии со своими потребностями.
Если вам нужно добавить сертификат CA, добавьте его в ~/tpotce/data/ews/conf
и установите EWS_HPFEEDS_TLSCERT=/data/ews/conf/<your_ca.crt>
.
Запустите службы T-Pot: systemctl start tpot
.
Удаленный доступ к вашему хосту/T-Pot возможен с помощью SSH (на tcp/64295
), а некоторые службы и инструменты поставляются с T-Pot, что значительно упрощает некоторые ваши исследовательские задачи.
В соответствии с типами пользователей вы можете войти через SSH для доступа к командной строке: ssh -l <OS_USERNAME> -p 64295 <your.ip>
:
пользователь: [ <OS_USERNAME>
>]
пройти: [пароль]
В соответствии с типами пользователей вы можете открыть целевую страницу T-Pot из своего браузера по адресу https://<your.ip>:64297
:
пользователь: [ <WEB_USER>
]
пройти: [пароль]
На целевой странице T-Pot просто нажмите Kibana
, и вы будете перенаправлены в Кибану. Вы можете выбирать из большого разнообразия информационных панелей и визуализаций, адаптированных к приманкам, поддерживаемым T-Pot.
На целевой странице T-Pot просто нажмите Attack Map
, и вы будете перенаправлены на карту атак. Поскольку карта атак использует веб-сокеты, вам может потребоваться повторно ввести учетные данные <WEB_USER>
.
На целевой странице T-Pot просто нажмите Cyberchef
, и вы будете перенаправлены в Cyberchef.
На целевой странице T-Pot просто нажмите Elasticvue
, и вы будете перенаправлены на Elasticvue.
На целевой странице T-Pot просто нажмите Spiderfoot
, и вы будете перенаправлены на Spiderfoot.
T-Pot предлагает файл конфигурации, содержащий переменные не только для служб докера (т. е. приманок и инструментов), но и для среды создания докера. Файл конфигурации скрыт в ~/tpoce/.env
. Существует также файл примера ( env.example
), который содержит конфигурацию по умолчанию.
Перед первым запуском запустите ~/tpotce/genuser.sh
или настройте WEB_USER
вручную, как описано здесь.
В ~/tpotce/compose
вы найдете все необходимое для настройки установки T-Pot Standard/HIVE:
customizer.py mac_win.yml mini.yml mobile.yml raspberry_showcase.yml sensor.yml standard.yml tpot_services.yml
Файлы .yml
представляют собой файлы компоновки Docker, каждый из которых представляет собой различный набор ловушек и инструментов, при этом tpot_services.yml
является шаблоном для customizer.py
для создания настраиваемого файла компоновки Docker.
Чтобы активировать файл создания, выполните следующие действия:
Остановите T-Pot с помощью systemctl stop tpot
.
Скопируйте файл компоновки docker cp ~/tpotce/compose/<dockercompose.yml> ~/tpotce/docker-compose.yml
.
Запустите T-Pot с помощью systemctl start tpot
.
Чтобы создать собственный файл компоновки Docker:
Перейдите на cd ~/tpotce/compose
.
Запустите python3 customizer.py
.
Скрипт проведет вас через процесс создания собственного docker-compose.yml
. Поскольку некоторые приманки и службы занимают одни и те же порты, он проверит наличие конфликтов портов и уведомит о конфликтующих службах. Затем вы можете устранить их вручную, изменив docker-compose-custom.yml
или перезапустив скрипт.
Остановите T-Pot с помощью systemctl stop tpot
.
Скопируйте пользовательский файл компоновки Docker: cp docker-compose-custom.yml ~/tpotce
и cd ~/tpotce
.
Проверьте, все ли работает, запустив docker-compose -f docker-compose-custom.yml up
. В случае возникновения ошибок следуйте спецификации Docker Compose для устранения ошибок. Скорее всего, это просто конфликт портов, который можно исправить, отредактировав файл компоновки докера.
Если все работает нормально, нажмите CTRL-C
, чтобы остановить контейнеры, и запустите docker-compose -f docker-compose-custom.yml down -v
.
Замените файл Docker Compose новым и успешно протестированным настроенным файлом Docker Compose mv ~/tpotce/docker-compose-custom.yml ~/tpotce/docker-compose.yml
.
Запустите T-Pot с помощью systemctl start tpot
.
T-Pot спроектирован так, чтобы не требовать особого ухода. Поскольку почти все предоставляется через образы докеров, вам практически ничего не нужно делать, кроме как позволить этому работать. Мы будем регулярно обновлять образы докеров, чтобы снизить риски компрометации; однако вам следует внимательно прочитать этот раздел.
В случае сбоя обновления открытие проблемы или обсуждение помогут улучшить ситуацию в будущем, но предлагаемым решением всегда будет выполнить новую установку , поскольку мы просто не можем предоставить какую-либо поддержку в случае утери данных!
Безопасность T-Pot зависит от обновлений, предоставляемых для поддерживаемых образов дистрибутива Linux. Обязательно ознакомьтесь с документацией ОС и убедитесь, что ОС регулярно устанавливает обновления. По умолчанию ( ~/tpotce/.env
) TPOT_PULL_POLICY=always
гарантирует, что при каждом запуске T-Pot докер будет проверять наличие новых образов докера и загружать их перед созданием контейнеров.
Релизы T-Pot предлагаются через GitHub и могут быть загружены с помощью ~/tpotce/update.sh
.
Если вы внесли какие-либо важные изменения в файлы конфигурации T-Pot, обязательно сначала создайте резервную копию!
Обновления могут иметь непредвиденные последствия. Создайте резервную копию машины или файлов, наиболее ценных для вашей работы!
Скрипт обновления будет...
безжалостно перезаписывать локальные изменения для синхронизации с главной веткой T-Pot
создайте полную резервную копию папки ~/tpotce
обновить все файлы в ~/tpotce
для синхронизации с главной веткой T-Pot
восстановите свой собственный ews.cfg
из ~/tpotce/data/ews/conf
и конфигурации T-Pot ( ~/tpotce/.env
).
По умолчанию T-Pot добавит ежедневную перезагрузку, включая некоторую очистку. Вы можете настроить эту строку с помощью sudo crontab -e
#Ansible: T-Pot Daily Reboot 42 2 * * * bash -c 'systemctl stop tpot.service && docker container prune -f; docker image prune -f; docker volume prune -f; /usr/sbin/shutdown -r +1 "T-Pot Daily Reboot"'
Следующие проблемы известны, просто следуйте описанным шагам для их решения.
Некоторое время назад Docker ввел ограничения на скорость загрузки. Если вы часто загружаете образы Docker через один или общий IP-адрес, возможно, для этого IP-адреса исчерпан лимит скорости загрузки Docker. Войдите в свою учетную запись Docker, чтобы продлить ограничение скорости.
sudo su - docker login
T-Pot предназначен для работы только на машинах с одним сетевым адаптером. T-Pot попытается захватить интерфейс с маршрутом по умолчанию, однако не гарантируется, что это всегда удастся. В лучшем случае используйте T-Pot на машинах только с одним сетевым адаптером.
Служба T-Pot автоматически запускается и останавливается при каждой перезагрузке (которая происходит один раз в день согласно настройке в sudo crontab -l
во время установки).
Если вы хотите вручную запустить службу T-Pot, вы можете сделать это с помощью systemctl start tpot
и наблюдать через dpsw
за запуском контейнеров.
Служба T-Pot автоматически запускается и останавливается при каждой перезагрузке (которая происходит один раз в день согласно настройке в sudo crontab -l
во время установки).
Если вы хотите вручную остановить службу T-Pot, вы можете сделать это с помощью systemctl stop tpot
и наблюдать через dpsw
за завершением работы контейнеров.
Все постоянные файлы журналов ловушек, инструментов и служб, связанных с T-Pot, хранятся в ~/tpotce/data
. Сюда входят собранные артефакты, которые не передаются в Elastic Stack.
По умолчанию все данные журнала, хранящиеся в папке данных T-Pot, будут храниться в течение 30 дней.
Индексы Elasticsearch обрабатываются политикой жизненного цикла индекса tpot
, которую можно настроить непосредственно в Kibana (обязательно установите флажок «Включить политики управляемой системы»).
По умолчанию политика жизненного цикла индекса tpot
сохраняет индексы в течение 30 дней. Это обеспечивает хороший баланс между объемом памяти и скоростью. Однако вы можете настроить политику в соответствии со своими потребностями.
Все данные журнала, хранящиеся в папке данных T-Pot (конечно, за исключением индексов Elasticsearch), можно удалить, запустив clean.sh
. Иногда что-то может выйти из строя и не подлежит ремонту, и восстановить заводские настройки T-Pot еще никогда не было так просто (обязательно введите cd ~/tpotce
).
Остановите T-Pot с помощью systemctl stop tpot
.
Переместите/сохраните резервную копию папки ~/tpotce/data
в безопасное место (это необязательно, на всякий случай).
Удалите папку ~/tpotce/data
с помощью sudo rm -rf ~/tpotce/data
.
Сбросьте T-Pot до последнего полученного коммита:
cd ~/tpotce/ git reset --hard
Теперь вы можете запустить ~/tpotce/install.sh
.
Вы можете показать все соответствующие контейнеры T-Pot, запустив dps
или dpsw [interval]
. interval (s)
будет периодически перезапускать dps.sh
Blackhole будет запускать T-Pot в скрытом режиме без постоянного посещения общеизвестных сканеров, что снизит вероятность разоблачения. Хотя это, конечно, всегда игра в кошки-мышки, функция черной дыры обеспечивает нулевую маршрутизацию всех запросов от известных массовых сканеров, в то же время перехватывая события через Suricata.
Эта функция активируется путем установки TPOT_BLACKHOLE=DISABLED
в ~/tpotce/.env
, затем запускаете systemctl stop tpot
и systemctl start tpot
или sudo reboot
.
Включение этой функции резко снизит видимость злоумышленников и, как следствие, приведет к снижению активности. Однако, как уже упоминалось, это не является гарантией полной скрытности и не предотвращает сбор отпечатков пальцев некоторых служб-приманок.
Nginx (T-Pot WebUI) позволяет вам добавлять столько учетных записей <WEB_USER>
, сколько вы хотите (в соответствии с типами пользователей).
Чтобы добавить нового пользователя, запустите ~/tpotce/genuser.sh
.
Чтобы удалить пользователей, откройте ~/tpotce/.env
, найдите WEB_USER
и удалите соответствующую строку base64 (для декодирования: echo <base64_string> | base64 -d
или откройте CyberChef и загрузите рецепт «From Base64»).
Чтобы изменения вступили в силу, вам необходимо перезапустить T-Pot, используя systemctl stop tpot
и systemctl start tpot
или sudo reboot
.
Некоторые обновления T-Pot потребуют от вас обновления объектов Kibana. Либо для поддержки новых приманок, либо для улучшения существующих информационных панелей или визуализаций. Обязательно сначала экспортируйте , чтобы не потерять какие-либо настройки.
Иди в Кибану
Нажмите «Управление стеком».
Нажмите «Сохраненные объекты».
Нажмите «Экспортировать объекты <№>».
Нажмите «Экспортировать все». Это приведет к экспорту файла NDJSON со всеми вашими объектами. Всегда запускайте полный экспорт, чтобы убедиться, что включены все ссылки.
Загрузите файл NDJSON и разархивируйте его.
Иди в Кибану
Нажмите «Управление стеком».
Нажмите «Сохраненные объекты».
Нажмите «Импорт» и оставьте значения по умолчанию (проверьте наличие существующих объектов и автоматически перезапишите конфликты), если вы не вносили личные изменения в объекты Kibana.
Найдите файл NDJSON. При появлении вопроса: «Если какие-либо объекты уже существуют, хотите ли вы автоматически перезаписать их?» вы отвечаете: «Да, перезаписать все».
Обычно T-Pot предлагается «как есть», без каких-либо обязательств относительно поддержки. Проблемы и обсуждения могут быть открыты, но будьте готовы включить основную необходимую информацию, чтобы сообщество могло помочь.
Проверьте, правильно ли работают ваши контейнеры: dps
Проверьте, не исчерпаны ли ресурсы вашей системы: htop
, docker stats
Проверьте, нет ли конфликта портов:
systemctl stop tpot grc netstat -tulpen mi ~/tpotce/docker-compose.yml docker-compose -f ~/tpotce/docker-compose.yml up CTRL+C docker-compose -f ~/tpotce/docker-compose.yml down -v
Проверьте журналы отдельных контейнеров: docker logs -f <container_name>
Проверьте журнал tpotinit
: cat ~/tpotce/data/tpotinit.log
Elastic Stack жаждет оперативной памяти, особенно logstash
и elasticsearch
. Если упругой стек недоступен, не получает никаких журналов или просто продолжает сбой, он, скорее всего, является проблемой оперативной памяти или хранения.
В то время как T -Pot продолжает перезагрузить службы / контейнеры запускайте docker logs -f <container_name>
(либо logstash
, либо elasticsearch
) и проверяйте, есть ли какие -либо предупреждения или сбои, связанные с оперативной памятью.
Сбои хранения могут быть идентифицированы проще через htop
.
T-POT предоставляется , как и открытый исходный код без каких-либо обязательств в отношении поддержки (см. Отказ от ответственности).
Если вы являетесь исследователем безопасности и хотите ответственно сообщить о проблеме, пожалуйста, свяжитесь с нашим сертификатом.
Пожалуйста, сообщите о проблемах (ошибках) по нашим вопросам GitHub, но сначала устранение неполадок. Вопросы, не предоставляющие информацию для решения ошибки, будут закрыты или преобразованы в обсуждения.
Сначала используйте функцию поиска, возможно, что аналогичная проблема уже была решена или обсуждена, с решением всего лишь поиском.
Общие вопросы, идеи, шоу и рассказ и т. Д. Могут быть рассмотрены в наших дискуссиях GitHub.
Используйте функцию поиска, возможно, что аналогичное обсуждение уже было открыто, с ответом просто поиском.
Программное обеспечение, на котором основано T-POT, использует следующие лицензии.
GPLV2: Conpot, Dionaea, Honeytrap, Suricata
GPLV3: Adbhoney, Elasticpot, Ewsposter, Log4pot, Fatt, Heralling, Ipphoney, Redishoneypot, Sentrypeer, Snare, Tanner
Apache 2 Лицензия: Cyberchef, DiCompot, Elasticsearch, Logstash, Kibana, Docker
Лицензия MIT: Autoheal, Ciscoasa, Ddospot, Elasticvue, Glutton, Hellpot, Maltrail
Нелизации: endlessh
Другое: Citrixhoneypot, Cowrie, Mailoney, Elastic License, Wordpot
Agpl-3.0: Honeypots
Общественный домен (CC): Harvard Dataverse
Без открытого исходного кода и сообщества развития, частью которого мы гордимся, T-Pot не был бы возможен! Наша благодарность расширена, но не ограничивается следующими людьми и организациями:
Адбхони
Ciscoasa
Citrixhoneypot
конпот
каури
Ddospot
дикопот
Диона
докер
Elasticpot
эластичный поиск
Elasticvue
endlessh
Ewsposter
толстый
обжора
Hellpot
Весел
Honeypots
Honeytrap
Ipphoney
Кибана
logstash
log4pot
Mailoney
Мальттрайл
Медпот
P0F
Redishoneypot
Sentrypeer
Spiderfoot
ловушка
кожевник
Suricata
Wordpot
Следующие компании и организации
докер
Elastic.io
Honeynet Project
... и, конечно, вы присоединились к сообществу!
Спасибо за игру?
Один из величайших отзывов, которые мы получили до сих пор, - это один из разработчиков Conpot:
«[...] Я очень рекомендую t-pot, который ... это не совсем швейцарский армейский нож ... это больше похоже на швейцарский армический солдат, оборудованный швейцарским армейским ножом. Внутри танка. Швейцарский танк. ...] "
И от @robcowart (создатель elastiflow):
«#TPOT-одно из самых хорошо составленных решений для HoneyPot Bondkey. Это необходимо для тех, кто хочет проанализировать и понять поведение злонамеренных актеров и угрозу, которую они представляют вашей организации».