Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
tpotce — 🍯 T-Pot - オールインワンのマルチハニーポットプラットフォーム 🐝 | Kitploit
ツール/GitHubGitHub/telekom-security/tpotce
防御ツールOSINT (オープンソースインテリジェンス)パケットスニッフィングと分析脆弱性分析情報収集ネットワークセキュリティ脅威インテリジェンス侵入検知学習と教育ログ分析侵入検知 第16位
9.4k1.4k144日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubtelekom-security/tpotce

tpotce

🍯 T-Pot - オールインワンのマルチハニーポットプラットフォーム 🐝

リポジトリを見る

T-Pot - オールインワンマルチハニーポットプラットフォーム

T-Pot

T-Potは、オプションで分散可能なマルチアーキテクチャ(amd64、arm64)のハニーポットプラットフォームであり、20以上のハニーポットと、Elastic Stackを使用した無数の可視化オプション、アニメーションによるライブ攻撃マップ、欺瞞体験をさらに向上させるための多くのセキュリティツールをサポートしています。

TL;DR

  1. システム要件を満たすこと。T-Potのインストールには、少なくとも8~16 GBのRAM、128 GBの空きディスク容量、および動作可能な(発信がフィルタリングされていない)インターネット接続が必要です。
  2. ダウンロードするか、実行中のサポートされているディストリビューションを使用します。
  3. 最小限のパッケージ/サービスでISOをインストールします(sshが必要)
  4. curlをインストールします:$ sudo [apt, dnf, zypper] install curl(まだインストールされていない場合)
  5. $HOMEから非rootユーザーとしてインストーラーを実行します:``` env bash -c "$(curl -sL https://github.com/telekom-security/tpotce/raw/master/install.sh)"
root@kitploit:~
* 指示に従い、メッセージを読み、ポートの競合の可能性を確認し、再起動してください

<!-- TOC -->
- [T-Pot - オールインワンマルチハニーポットプラットフォーム](#t-pot---the-all-in-one-multi-honeypot-platform)
- [TL;DR](#tldr)
- [免責事項](#disclaimer)
- [技術的概念](#technical-concept)
  - [ハニーポットとツール](#honeypots-and-tools)
  - [技術アーキテクチャ](#technical-architecture)
  - [サービス](#services)
  - [ユーザータイプ](#user-types)
- [システム要件](#system-requirements)
  - [VMでの実行](#running-in-a-vm)
  - [ハードウェアでの実行](#running-on-hardware)
  - [クラウドでの実行](#running-in-a-cloud)
  - [必要なポート](#required-ports)
  - [LLMベースのハニーポット](#llm-based-honeypots)
    - [Ollama](#ollama)
    - [ChatGPT](#chatgpt)
- [システム配置](#system-placement)
- [インストール](#installation)
  - [ディストリビューションの選択](#choose-your-distro)
  - [Raspberry Pi 4 (8GB) 対応](#raspberry-pi-4-8gb-support)
  - [T-Potの入手とインストール](#get-and-install-t-pot)
  - [macOS と Windows](#macos--windows)
  - [Red Hat Enterprise Linux](#red-hat-enterprise-linux)
  - [インストールタイプ](#installation-types)
    - [Standard / Hive](#standard--hive)
    - [分散](#distributed)
  - [T-Potのアンインストール](#uninstall-t-pot)
- [初回起動](#first-start)
  - [スタンドアロン初回起動](#standalone-first-start)
  - [分散デプロイメント](#distributed-deployment)
    - [計画と証明書](#planning-and-certificates)
    - [センサーのデプロイ](#deploying-sensors)
    - [センサーの削除](#removing-sensors)
  - [コミュニティデータ送信](#community-data-submission)
  - [オプトイン HPFEEDS データ送信](#opt-in-hpfeeds-data-submission)
- [リモートアクセスとツール](#remote-access-and-tools)
  - [SSH](#ssh)
  - [T-Pot ランディングページ](#t-pot-landing-page)
  - [Kibana ダッシュボード](#kibana-dashboard)
  - [攻撃マップ](#attack-map)
  - [Cyberchef](#cyberchef)
  - [Elasticvue](#elasticvue)
  - [Spiderfoot](#spiderfoot)
- [設定](#configuration)
  - [T-Pot 設定ファイル](#t-pot-config-file)
  - [T-Pot ハニーポットとサービスのカスタマイズ](#customize-t-pot-honeypots-and-services)
- [メンテナンス](#maintenance)
  - [一般的な更新](#general-updates)
  - [更新スクリプト](#update-script)
  - [毎日の再起動](#daily-reboot)
  - [既知の問題](#known-issues)
    - [Docker イメージのダウンロード失敗](#docker-images-fail-to-download)
    - [T-Pot ネットワーク障害](#t-pot-networking-fails)
  - [T-Pot の起動](#start-t-pot)
  - [T-Pot の停止](#stop-t-pot)
  - [T-Pot データフォルダー](#t-pot-data-folder)
  - [ログの永続化](#log-persistence)
  - [ファクトリーリセット](#factory-reset)
  - [コンテナとイメージの表示](#show-containers-and-images)
  - [ブラックホール](#blackhole)
  - [Nginx (T-Pot WebUI) へのユーザー追加](#add-users-to-nginx-t-pot-webui)
  - [Kibana オブジェクトのインポートとエクスポート](#import-and-export-kibana-objects)
    - [エクスポート](#export)
    - [インポート](#import)
- [トラブルシューティング](#troubleshooting)
  - [ログ](#logs)
  - [RAM とストレージ](#ram-and-storage)
- [連絡先](#contact)
  - [問題](#issues)
  - [ディスカッション](#discussions)
- [ライセンス](#licenses)
- [クレジット](#credits)
  - [開発者と開発コミュニティ](#the-developers-and-development-communities-of)
  - [**以下の企業・組織**](#the-following-companies-and-organizations)
  - [**そしてもちろん ***あなた*** コミュニティへの参加に感謝!**](#and-of-course-you-for-joining-the-community)
- [お客様の声](#testimonials)
- [ありがとうございます 💖](#thank-you-)
<!-- TOC -->
<br><br>

# 免責事項
- T-Pot のインストールおよび実行は、お客様の責任において行ってください。システムの侵害は完全には排除できないため、導入方法を慎重に選択してください。
- 迅速な解決のためには、[Issues](https://github.com/telekom-security/tpotce/issues) および [Discussions](https://github.com/telekom-security/tpotce/discussions) を調査してください。
- 本ソフトウェアはベストエフォートで設計・提供されています。コミュニティおよびオープンソースプロジェクトとして、他の多くのオープンソースソフトウェアを利用しており、バグや問題が含まれている可能性があります。責任を持って報告してください。
- ハニーポットは設計上、機密データをホストすべきではありません。機密データを追加しないように注意してください。
- デフォルトでは、お客様のデータは [Sicherheitstacho](https://www.sicherheitstacho.eu/start/main) に送信されます。設定ファイル (`~/tpotce/docker-compose.yml`) の `ewsposter` セクションを [削除](#community-data-submission) することで無効にできます。ただし、その場合は共有がケアであることを忘れないでください。
<br><br>

# 技術的概念
T-Pot の主要コンポーネントは `tpotinit` Docker イメージに移され、T-Pot が複数の Linux ディストリビューション、さらには macOS や Windows (ただし、どちらも Docker Desktop の機能セットに制限されます) をサポートできるようになりました。T-Pot は [docker](https://www.docker.com/) と [docker compose](https://docs.docker.com/compose/) を使用して、可能な限り多くのハニーポットとツールを同時に実行し、ホストのハードウェアを最大限に活用するという目標を達成します。
<br><br>

## ハニーポットとツール
- T-Pot は以下のハニーポット用の Docker イメージを提供しています:<br>
[adbhoney](https://github.com/huuck/ADBHoney)、
[beelzebub](https://github.com/beelzebub-labs/beelzebub)、
[ciscoasa](https://github.com/Cymmetria/ciscoasa_honeypot)、
[citrixhoneypot](https://github.com/MalwareTech/CitrixHoneypot)、
[conpot](http://conpot.org/)、
[cowrie](https://github.com/cowrie/cowrie)、
[ddospot](https://github.com/aelth/ddospot)、
[dicompot](https://github.com/nsmfoo/dicompot)、
[dionaea](https://github.com/DinoTools/dionaea)、
[elasticpot](https://gitlab.com/bontchev/elasticpot)、
[endlessh](https://github.com/skeeto/endlessh)、
[galah](https://github.com/0x4D31/galah)、
[go-pot](https://github.com/ryanolee/go-pot)、
[glutton](https://github.com/mushorg/glutton)、
[h0neytr4p](https://github.com/pbssubhash/h0neytr4p)、
[hellpot](https://github.com/yunginnanet/HellPot)、
[heralding](https://github.com/johnnykv/heralding)、
[honeyaml](https://github.com/mmta/honeyaml)、
[honeypots](https://github.com/qeeqbox/honeypots)、
[honeytrap](https://github.com/armedpot/honeytrap/)、
[ipphoney](https://gitlab.com/bontchev/ipphoney)、
[log4pot](https://github.com/thomaspatzke/Log4Pot)、
[mailoney](https://github.com/phin3has/mailoney)、
[medpot](https://github.com/schmalle/medpot)、
[miniprint](https://github.com/sa7mon/miniprint)、
[redishoneypot](https://github.com/cypwnpwnsocute/RedisHoneyPot)、
[rdphoneypot](https://gitlab.com/bontchev/rdphoneypot)、
[sentrypeer](https://github.com/SentryPeer/SentryPeer)、
[snare](http://mushmush.org/)、
[tanner](http://mushmush.org/)、
[wordpot](https://github.com/gbrindisi/wordpot)

以下のツールと併せて提供されます:
* [Autoheal](https://github.com/willfarrell/docker-autoheal) - ヘルスチェックに失敗したコンテナを自動的に再起動するツール。
* [Cyberchef](https://gchq.github.io/CyberChef/) - 暗号化、エンコーディング、圧縮、データ分析のためのウェブアプリ。
* [Elastic Stack](https://www.elastic.co/videos) - T-Pot が収集したすべてのイベントを美しく可視化します。
* [Elasticvue](https://github.com/cars10/elasticvue/) - Elasticsearch クラスターの参照と操作を行うためのウェブフロントエンド。
* [Fatt](https://github.com/0x4D31/fatt) - pcap ファイルやライブネットワークトラフィックからネットワークメタデータとフィンガープリントを抽出する pyshark ベースのスクリプト。
* [T-Pot-Attack-Map](https://github.com/telekom-security/t-pot-attack-map) - T-Pot 用の美しいアニメーション攻撃マップ。
* [P0f](https://lcamtuf.coredump.cx/p0f3/) - 純粋にパッシブなトラフィックフィンガープリンティングのためのツール。
* [Spiderfoot](https://github.com/smicallef/spiderfoot) - オープンソースインテリジェンス自動化ツール。
* [Suricata](https://suricata.io/) - ネットワークセキュリティ監視エンジン。

... これらにより、可能な限り最高のアウトオブボックス体験と、使いやすいマルチハニーポットシステムを提供します。
<br><br>


## 技術アーキテクチャ
![アーキテクチャ](https://assets.kitploit.com/production/public/readmes/4462/3fe1e953817d210102d0a4c79a55bebd32d23014d6ddefa058719411cfc9d178.png)

ソースコードと設定ファイルはすべて T-Pot GitHub リポジトリに保存されています。Docker イメージは T-Pot 環境用にビルドされ、事前設定されています。

個々の Dockerfile と設定は [docker フォルダー](https://github.com/telekom-security/tpotce/tree/master/docker) にあります。
<br><br>

## サービス
T-Pot は多くのサービスを提供しており、基本的に5つのグループに分けられます:
1. OS が提供するシステムサービス
    * 安全なリモートアクセスのための SSH。
2. Elastic Stack
    * イベント保存のための Elasticsearch。
    * イベントを取り込み、受信し、Elasticsearch に送信するための Logstash。
    * 美しくレンダリングされたダッシュボードにイベントを表示するための Kibana。
3. ツール
    * NGINX は、Kibana、CyberChef、Elasticvue、GeoIP AttackMap、Spiderfoot への安全なリモートアクセス(リバースプロキシ)を提供し、T-Pot センサーがイベントデータを T-Pot ハイブに安全に送信できるようにします。
    * CyberChef - 暗号化、エンコーディング、圧縮、データ分析のためのウェブアプリ。
    * Elasticvue - Elasticsearch クラスターの参照と操作を行うためのウェブフロントエンド。
    * T-Pot Attack Map - T-Pot 用の美しいアニメーション攻撃マップ。
    * Spiderfoot - オープンソースインテリジェンス自動化ツール。
4. ハニーポット
    * 選択した `docker-compose.yml` に基づいて、利用可能な23のハニーポットから選択。
5. ネットワークセキュリティ監視 (NSM)
    * Fatt - pcap ファイルやライブネットワークトラフィックからネットワークメタデータとフィンガープリントを抽出する pyshark ベースのスクリプト。
    * P0f - 純粋にパッシブなトラフィックフィンガープリンティングのためのツール。
    * Suricata - ネットワークセキュリティ監視エンジン。
<br><br>

## ユーザータイプ
T-Pot のインストール時および使用時には、扱うアカウントに2種類のタイプがあります。アカウントタイプの違いを理解しておいてください。これは**圧倒的に**認証エラーの最も一般的な原因です。

| サービス          | アカウントタイプ | ユーザー名 / グループ | 説明                                                              |
|:-----------------|:-------------|:-----------------|:-------------------------------------------------------------------|
| SSH              | OS           | `<OS_USERNAME>`  | OS のインストール時に選択したユーザー。                              |
| Nginx            | BasicAuth    | `<WEB_USER>`     | T-Pot のインストール時に選択した `<web_user>`。                     |
| CyberChef        | BasicAuth    | `<WEB_USER>`     | T-Pot のインストール時に選択した `<web_user>`。                     |
| Elasticvue       | BasicAuth    | `<WEB_USER>`     | T-Pot のインストール時に選択した `<web_user>`。                     |
| Geoip Attack Map | BasicAuth    | `<WEB_USER>`     | T-Pot のインストール時に選択した `<web_user>`。                     |
| Spiderfoot       | BasicAuth    | `<WEB_USER>`     | T-Pot のインストール時に選択した `<web_user>`。                     |
| T-Pot            | OS           | `tpot`           | `tpot` このユーザー/グループは常に T-Pot サービスによって予約されています。 |
| T-Pot Logs       | BasicAuth    | `<LS_WEB_USER>`  | `LS_WEB_USER` は自動的に管理されます。                              |


<br><br>

# システム要件

[サポート対象の Linux ディストリビューションイメージ](#choose-your-distro)、ハイブ/センサー、[実ハードウェア](#running-on-hardware)、[仮想マシン](#running-in-a-vm) またはその他の環境へのインストールに応じて、T-Pot を正常にインストールするための OS、RAM、ストレージ、ネットワークに関するさまざまな要件があります(これらの要件を克服するために、`~/tpotce/docker-compose.yml` と `~/tpotce/.env` を必要に応じて調整できます)。
<br><br>

| T-Pot タイプ | RAM  | ストレージ   | 説明                                                                                              |
|:-----------|:-----|:----------|:-------------------------------------------------------------------------------------------------|
| Hive       | 16GB | 256GB SSD | 経験則として、ハニーポット、センサー、データが多ければ多いほど、RAM とストレージが必要です。      |
| Sensor     | 8GB  | 128GB SSD | ハニーポットログは30日間保持されるため(~/tpotce/data)、ストレージは攻撃量に依存します。 |

T-Pot は以下を必要とします...
- DHCP または固定割り当てによる IPv4 アドレス
- 動作する、プロキシなしのインターネット接続
... これらはインストールと操作を成功させるために必要です。
<br><br>
*プロキシ対応やその他の非標準機能が必要な場合は、[サポート対象の Linux ディストロイメージ](#choose-your-distro) のドキュメントや [Docker ドキュメント](https://docs.docker.com/) を確認してください。*
<br><br>

## VM での実行
[サポート対象の Linux ディストロイメージ](#choose-your-distro) はすべて VM で実行可能であり、T-Pot は問題なく動作します。以下の環境でテスト/報告されています:
* [UTM (Intel & Apple Silicon)](https://mac.getutm.app/)
* [VirtualBox](https://www.virtualbox.org/)
* [VMWare Fusion](https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion) と [VMWare Workstation](https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion)
* KVM でも動作するという報告があります。

***設定/セットアップのヒント:***
- Intel バージョンは安定していますが、Apple Silicon (arm64) サポートには既知の問題があり、UTM では OS の初期インストール中に `Display` を `Console Only` に切り替え、その後 `Full Graphics` に戻す必要がある場合があります。
- 設定中に、fatt、suricata、p0f が正しく動作するようにネットワークインターフェースのプロミスキャスモードを有効にする必要がある場合があります。
- T-Pot のプライマリー NIC として Wi-Fi カードを使用したい場合、すべてのネットワークインターフェースドライバーがすべてのワイヤレスカードをサポートしているわけではないことに注意してください。例えば VirtualBox では、NIC の *"MT SERVER"* モデルを選択する必要があります。
<br><br>

## ハードウェアでの実行
T-Pot は [サポート対象の Linux ディストロイメージ](#choose-your-distro) のハードウェアサポートによってのみ制限されます。専用ハードウェアに投資する前に、HCL (ハードウェア互換性リスト) を確認し、T-Pot でサポート対象ディストロをテストすることをお勧めします。
<br><br>

## クラウドでの実行
T-Pot は以下でテストされ、動作することが確認されています...
* Telekom OTC (ポストインストール方法を使用)
... その他のクラウドでも動作する可能性がありますが、未テストです。

一部のユーザーは、Azure や GCP などの他のクラウドやホスティングサービスでの動作インストールを報告しています。ハードウェア要件は異なる場合があります。不明な場合は、[issues](https://github.com/telekom-security/tpotce/issues) や [discussions](https://github.com/telekom-security/tpotce/discussions) を調査し、機能テストを実行してください。T-Pot 24.04.0 以降では、クラウドベースのインストールに干渉することが知られている設定を削除するようにしました。
<br><br>

## 必要なポート
OS に一般的に必要なポート(DHCP リースの取得、DNS など)に加えて、T-Pot は着信/発信接続のために以下のポートを必要とします。視覚的な表現については [T-Pot アーキテクチャ](#technical-architecture) を参照してください。また、一部のポートは重複して表示される場合がありますが、異なるエディションで使用されるため問題ありません。| Port | Protocol | Direction | Description |
|:--------------------------------------------------------------------------------------------------------------------------------------|:---------|:----------|:------------------------------------------------------------------------------------------------------------------------------------|
| 80, 443 | tcp | 送信 | T-Pot管理: インストール、アップデート、ログ(OS、GitHub、DockerHub、Sicherheitstachoなど) |
| 11434 | tcp | 送信 | LLMベースのハニーポット: Ollamaインストールへのアクセス |
| 64294 | tcp | 受信 | T-Pot管理: センサーデータをhiveへ送信(NGINXリバースプロキシ経由で127.0.0.1:64305へ) |
| 64295 | tcp | 受信 | T-Pot管理: SSHへのアクセス |
| 64297 | tcp | 受信 | T-Pot管理: NGINXリバースプロキシへのアクセス |
| 5555 | tcp | 受信 | ハニーポット: ADBHoney |
| 22 | tcp | 受信 | ハニーポット: Beelzebub(LLM必須) |
| 5000 | udp | 受信 | ハニーポット: CiscoASA |
| 8443 | tcp | 受信 | ハニーポット: CiscoASA |
| 443 | tcp | 受信 | ハニーポット: CitrixHoneypot |
| 80, 102, 502, 1025, 2404, 10001, 44818, 47808, 50100 | tcp | 受信 | ハニーポット: Conpot |
| 161, 623 | udp | 受信 | ハニーポット: Conpot |
| 22, 23 | tcp | 受信 | ハニーポット: Cowrie |
| 19, 53, 123, 1900 | udp | 受信 | ハニーポット: Ddospot |
| 11112 | tcp | 受信 | ハニーポット: Dicompot |
| 21, 42, 135, 443, 445, 1433, 1723, 1883, 3306, 8081 | tcp | 受信 | ハニーポット: Dionaea |
| 69 | udp | 受信 | ハニーポット: Dionaea |
| 9200 | tcp | 受信 | ハニーポット: Elasticpot |
| 22 | tcp | 受信 | ハニーポット: Endlessh |
| 80, 443, 8080, 8443 | tcp | 受信 | ハニーポット: Galah(LLM必須) |
| 8080 | tcp | 受信 | ハニーポット: Go-pot |
| 80, 443 | tcp | 受信 | ハニーポット: H0neytr4p |
| 21, 22, 23, 25, 80, 110, 143, 443, 993, 995, 1080, 5432, 5900 | tcp | 受信 | ハニーポット: Heralding |
| 3000 | tcp | 受信 | ハニーポット: Honeyaml |
| 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 | 受信 | ハニーポット: Mailoney |
| 2575 | tcp | 受信 | ハニーポット: Medpot |
| 9100 | tcp | 受信 | ハニーポット: Miniprint |
| 6379 | tcp | 受信 | ハニーポット: Redishoneypot |
| 3389 | tcp | 受信 | ハニーポット: RDPHoneypot |
| 5060 | tcp/udp | 受信 | ハニーポット: SentryPeer |
| 80 | tcp | 受信 | ハニーポット: Snare (Tanner) |
| 8090 | tcp | 受信 | ハニーポット: Wordpot |

ポートおよびSaaSサービスの利用可能性は、お客様の地理的な場所によって異なる場合があります。

一部のハニーポット(例:CowrieやLog4Pot)が完全な機能を発揮するには、攻撃者のマルウェアをダウンロードするために送信接続も必要です。詳細については、各ハニーポットのリポジトリにある[リンク](#technical-concept)を参照して、個々のハニーポットのドキュメントをご確認ください。

## LLMベースのハニーポット
LLMベースのハニーポットは、欺瞞/ハニーポット分野におけるゲームチェンジの**始まり**を示すものと考えています。その結果、**T-Pot 24.04.1**のリリースに伴い、**Beelzebub**と**Galah**という2つのLLMベースのハニーポットが導入されました。これらのハニーポットを使用するには、[T-Pot設定ファイル](#t-pot-config-file)で設定が必要な**Ollama**のインストールが必要です。また、このファイルで**ChatGPT**サポートの設定を調整することもできますが、その場合はDocker Composeファイル(`~/tpotce/compose/llm.yml`)も変更する必要があります。<br><br>
**Beelzebub**と**Galah**の詳細については、[ハニーポットとツール](#honeypots-and-tools)セクションのリンクを参照してください。

### Ollama
🚨 **CPUベースの使用は推奨されません**。テスト目的であっても同様です。<br><br>
**Ollama**をセットアップして実行するには、[Ollama GitHubリポジトリ](https://github.com/ollama/ollama)の指示を参照してください。エントリーレベルまたはテスト目的の場合、**Nvidia RTX 4060 Ti 16GB**または同等品(OllamaはAMDのROCmもサポート)を使用し、**openchat**や**Llama3**などのモデルで結果を得ることができます。LLMベースのシステムでは一般的に、使用するハードウェアが高性能で多いほど、特にタスクを複数のGPUや大規模モデルにオフロードする場合、結果はより速く正確になります。

#### ChatGPT
これらのハニーポットに対するChatGPTサポートは、T-Potに関連してテストされていない状態が続きます。
<br><br>

# システムの配置
インターネットに公開する前に、T-Potとハニーポットの仕組みを十分に理解しておくことをお勧めします。クイックスタートとして、仮想マシン上でT-Potインストールを実行してください。
<br><br>
仕組みに慣れたら、侵入者を疑うネットワーク(例:インターネット)を選択してください。そうしないと、T-Potは攻撃をほとんどキャプチャしません(特定の目的を証明したい場合を除く)!最初は、T-Potをフィルタリングされていないゾーンに配置し、すべてのTCPおよびUDPトラフィックをT-Potのネットワークインターフェースに転送することをお勧めします。T-Potの管理ポートへのプロービングを避けるには、T-Potをファイアウォールの背後に配置し、ポート範囲1-64000のすべてのTCP/UDPトラフィックをT-Potに転送し、ポート64000より上のポートへのアクセスは信頼できるIPからのみ許可するか、[必要なポート](#required-ports)のみを公開してください。未知のポートでのマルウェアトラフィックをキャッチしたい場合は、転送するポートを制限しないでください。gluttonとhoneytrapは、他のハニーポットデーモンが使用していない任意のTCPポートを動的にバインドするため、設定がさらされているリスクをよりよく把握できます。
<br><br>

# インストール
[サポートされているLinuxディストリビューションイメージ](#choose-your-distro)のいずれかを[ダウンロード](#choose-your-distro)し、[TL;DR](#tldr)の指示に従うか、T-Potリポジトリを`git clone`してインストーラー`~/tpotce/install.sh`を実行してください。実行中のサポート対象Linuxシステム上でT-Potを実行することも可能ですが、実行中のサービスとのポート競合を避けるために、クリーンインストールを推奨します。T-Potインストーラーは、[こちら](#required-ports)の説明に従って、インターネットへの直接アクセスが必要です。
<br><br>

## ディストリビューションの選択
**手順:**

1. 以下のリストからサポート対象のLinuxディストリビューションをダウンロードします。(注: Red Hat Enterprise Linux >= 8はサポートされていますが、サブスクリプションベースであるためリストからは省略しています。詳細は[Red Hat Enterprise Linux](#red-hat-enterprise-linux)を参照してください。)
2. インストール時には、最小限のパッケージのみをインストールする**最小**、**ネットインストール**、または**サーバー**バージョンを選択してください。
3. GnomeやKDEなどのグラフィカルデスクトップ環境は**絶対にインストールしないでください**。ポート競合によりT-Potが動作しなくなります。
4. SSHをインストールして、リモートからマシンに接続できるようにしてください。

| ディストリビューション名 | x64 | arm64 |
|:---------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------|
| [Alma Linux OS 9.x Minimal ISO](https://almalinux.org) | [ダウンロード](https://repo.almalinux.org/almalinux/9/isos/x86_64/AlmaLinux-9.8-x86_64-minimal.iso) | [ダウンロード](https://repo.almalinux.org/almalinux/9/isos/aarch64/AlmaLinux-9.8-aarch64-minimal.iso) |
| [Debian 13 Network Install](https://www.debian.org/CD/netinst/index.en.html) | [ダウンロード](https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-13.5.0-amd64-netinst.iso) | [ダウンロード](https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-13.5.0-arm64-netinst.iso) |
| [Fedora Server 42 Network Install](https://fedoraproject.org/server/download) | [ダウンロード](https://download.fedoraproject.org/pub/fedora/linux/releases/42/Server/x86_64/iso/Fedora-Server-netinst-x86_64-42-1.1.iso) | [ダウンロード](https://download.fedoraproject.org/pub/fedora/linux/releases/42/Server/aarch64/iso/Fedora-Server-netinst-aarch64-42-1.1.iso) |
| [OpenSuse Tumbleweed Network Image](https://get.opensuse.org/tumbleweed/#download) | [ダウンロード](https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso) | [ダウンロード](https://download.opensuse.org/ports/aarch64/tumbleweed/iso/openSUSE-Tumbleweed-NET-aarch64-Current.iso) |
| [Rocky Linux OS 9.x Minimal ISO](https://rockylinux.org/download) | [ダウンロード](https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.8-x86_64-minimal.iso) | [ダウンロード](https://download.rockylinux.org/pub/rocky/9/isos/aarch64/Rocky-9.8-aarch64-minimal.iso) |
| [Ubuntu 24.04.x Live Server](https://ubuntu.com/download/server) | [ダウンロード](https://releases.ubuntu.com/24.04/ubuntu-24.04.3-live-server-amd64.iso) | [ダウンロード](https://cdimage.ubuntu.com/releases/24.04/release/ubuntu-24.04.3-live-server-arm64.iso) |

<br>

## Raspberry Pi 4 (8GB) サポート
| ディストリビューション名 | arm64 |
|:-------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------|
| [Raspberry Pi OS (**64Bit, Lite**)](https://www.raspberrypi.com) | [ダウンロード](https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2024-03-15/2024-03-15-raspios-bookworm-arm64-lite.img.xz) |

<br><br>
## T-Potの入手とインストール
1. GitHubリポジトリをクローン: `$ git clone https://github.com/telekom-security/tpotce` または[TL;DR](#tldr)に従い、このセクションをスキップします。
2. **tpotce/** フォルダに移動: `$ cd tpotce`
3. 非rootユーザーとしてインストーラーを実行: `$ ./install.sh`:
   * ⚠️ ***選択したLinuxディストリビューションによって、インストーラーは以下を実行します:***
     * SSHポートを `tcp/64295` に変更
     * DNSスタブリスナーを無効化(ハニーポットとのポート競合を回避)
     * SELinuxをモニターモードに設定
     * パブリックゾーンのファイアウォールターゲットをACCEPTに設定
     * Dockerのリポジトリを追加し、Dockerをインストール
     * 推奨パッケージをインストール
     * 問題を引き起こすことが知られているパッケージを削除
     * 現在のユーザーをdockerグループに追加( `sudo` なしでDocker操作を許可)
     * フォーマットされたコンテナとイメージの概要のための `dps`、`dpsw`、`dim` エイリアスを追加
     * `la`、`ll`、`ls` エイリアスを追加( `exa`、改良版 `ls` コマンド用)
     * `mi` エイリアスを追加( `micro` 用、 `vi` や `nano` の優れた代替)
     * ホスト上のオープンポートを表示(T-Potの[必要なポート](https://github.com/telekom-security/tpotce#required-ports)と比較)
     * `tpot.service` を `/etc/systemd/system` に追加し有効化(T-Potが自動的に起動・停止可能にする)
4. インストーラーの指示に従います。少なくとも1回はユーザー( `sudo` または `root` )パスワードを入力する必要があります。
5. インストーラーのメッセージでエラーやポート競合の原因となるオープンポートがないか確認します。
6. 再起動: `$ sudo reboot`
<br><br>## macOS & Windows
macOS や Windows 上で T-Pot インスタンスを立ち上げられると便利なこともあります。例えば、開発、テスト、あるいは単に楽しみのためにです。Docker Desktop はかなり制限されているため、すべてのハニーポットタイプや T-Pot の機能がサポートされているわけではありません。また、デフォルトでは macOS と Windows のファイアウォールがリモートからのアクセスをブロックしているため、テストはホストに限定されることに注意してください。本番環境では、[Linux](#choose-your-distro) で T-Pot を実行することをお勧めします。<br>
セットアップと実行をするには、次の手順に従ってください。
1. [macOS](https://docs.docker.com/desktop/setup/install/mac-install/) または [Windows](https://docs.docker.com/desktop/setup/install/windows-install/) 用の Docker Desktop をインストールしてください。
2. GitHub リポジトリをクローンします: `git clone https://github.com/telekom-security/tpotce` (Windows では、コードが `CRLF` ではなく `LF` でチェックアウトされていることを確認してください!)
3. 移動: `cd ~/tpotce`
4. コピー: `cp compose/mac_win.yml ./docker-compose.yml`
5. `~/tpotce/genuser.sh` (macOS) または `~/tpotce/genuserwin.ps1` (Windows) を実行して `WEB_USER` を作成します。
6. `.env` ファイルを編集して、`TPOT_OSTYPE=linux` を `mac` または `win` に変更します。   ```
   # OSType (linux, mac, win)
   #  Most docker features are available on linux
   TPOT_OSTYPE=mac
  1. ポートの競合がないことを自分で確認する必要があります。そうしないとT-Potが起動しません。
  2. T-Potを起動: docker compose up またはバックグラウンドで実行する場合は docker compose up -d
  3. T-Potを停止: フォアグラウンドで実行中の場合は CTRL-C を押すか、完全に停止するには docker compose down -v を実行します。

Red Hat Enterprise Linux

Red Hat Enterprise Linux (RHEL) はいくつかの点で特殊なケースです。

  1. Red Hat リポジトリへの接続は Red Hat サブスクリプションに依存します。対象マシンがサブスクライブされていない場合、OSの更新や新しいパッケージのインストールはできません。サーバーが Red Hat サブスクリプションに紐づいていない場合、インストールは失敗します!
  2. Ansible はインストーラーによって RHEL 固有のリポジトリからインストールされます。上流リポジトリからインストールしようとしないでください。
  3. Docker はインストーラースクリプトによってインストールされる EPEL からインストールされます。コミュニティのインストーラースクリプトからインストールしようとしないでください。
  4. T-Pot は RHEL >= 8 でのみ正常にインストールされます。便利な依存関係の1つ (grc) は Python 2 に依存しており、RHEL 7 以降で削除されました。そのため、RHEL への T-Pot インストールでは省略されます。

インストールタイプ

スタンダード / Hive

T-Pot スタンダード / Hive では、すべてのサービス、ツール、ハニーポットなどが単一のホストにインストールされ、そのホストは Hive エンドポイントとしても機能します。システム要件を満たしていることを確認してください。~/tpotce/docker-compose.yml をユースケースに合わせて調整するか、~/tpotce/compose/customizer.py を使用して独自の設定を作成し、ニーズに合わせた T-Pot エクスペリエンスを実現できます。 インストールが完了したら、ファーストスタートに進んでください。

分散

T-Pot の分散バージョンでは、最低2つのホストが必要です。

  • T-Pot Hive(T-Pot の標準インストール。こちらを先にインストールしてください!)
  • T-Pot Sensor(ハニーポットといくつかのツールのみをホストし、ログデータを Hive に送信します)
  • Sensor は、分散デプロイメントの説明に従って Sensor のインストールを完了するまで起動しません。

T-Pot のアンインストール

T-Pot のアンインストールはサポート対象の Linux ディストリビューションでのみ利用可能です。
アンインストールするには ~/tpotce/uninstall.sh を実行し、アンインストーラーの指示に従ってください。少なくとも1回はパスワードの入力が必要です。
アンインストールが完了したら、マシンを再起動します。sudo reboot

ファーストスタート

T-Pot インストーラーが正常に完了したら、システムを再起動する必要があります(sudo reboot)。再起動後、システムのインストール時に設定したユーザーでシステムにログインできます。ログイン方法はユーザータイプに従います。

  • ユーザー: [<OS_USERNAME>]
  • パスワード: [パスワード]

SSH でコマンドラインにアクセスできます: ssh -l <OS_USERNAME> -p 64295 <your.ip>

  • ユーザー: [<OS_USERNAME>]
  • パスワード: [パスワード、SSHキー推奨]

ブラウザから T-Pot WebUI とツールにアクセスすることもできます: https://<your.ip>:64297

  • ユーザー: [<WEB_USER>]
  • パスワード: [パスワード]

スタンドアロンのファーストスタート

特別な操作はほとんどなく、ログインして dps で全てのサービスとハニーポットが正しく起動しているか確認するだけです。dim を使用してインストール済みの Docker イメージとその CREATED 経過時間を確認し、その後 Kibana や Geoip Attack Map にログインして攻撃を監視できます。

分散デプロイメント

計画と証明書

分散デプロイメントでは計画が必要です。T-Pot Init は Hive ホストの IP に対してのみ自己署名証明書を作成しますが、通常はシンプルなセットアップで十分です。logstash は接続時に有効な証明書をチェックするため、Hive が複数の IP(例:RFC 1918 とパブリック NAT IP)やドメイン名で到達可能な分散セットアップでは、証明書の共通名と 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

root@kitploit:~
T-Pot設定ファイル(`.env`)では、`LS_SSL_VERIFICATION=none` を設定することで、**Sensor**から**Hive**へのlogstash接続のSSL検証を無効にできます。セキュリティ上の理由から、これはラボやテスト環境でのみ推奨されます。<br><br>
CA(Let's Encryptなど)によって署名された有効な証明書を**Hive**に使用する場合、logstash、そして**Sensor**は、**Hive**に接続してログを送信する際に問題が発生しないはずです。

### センサーの展開
インストーラの指示に従って**Sensor**を再起動したら、**Hive**にログインして `cd ~/tpotce` フォルダに移動し、分散デプロイメントを続行できます。実際のデプロイメントに進む前に、[計画と証明書](#planning-and-certificates) を理解していることを確認してください。

まだ実行していない場合は、**Sensor**に安全にログインし、`Ansible`がセンサー上でプレイブックを実行できるようにするためにSSHキーを生成します:
1. `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
  1. センサーにキーをデプロイするには、次のコマンドを実行します: 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.

    root@kitploit:~
  2. 指示に従って、SSH接続をテストします:ssh -p '64295' '<your_user>@<Sensor_IP>'

  3. キーが正常に展開されたら、./deploy.sh を実行し、指示に従います。

センサーの削除

センサーの $HOME/tpotce/.env 設定にある TPOT_HIVE_USER ENV を特定します(Base64エンコードされた文字列です)。次に、Hiveの $HOME/tpotce/.env 設定にある LS_WEB_USER ENV で同じ文字列を特定します。その文字列を削除し、T-Potを再起動します。
これで、センサーマシンを安全に削除できます。

コミュニティデータの提出

T-Potは、ハニーポットに興味があるすべての人がアクセスできるように提供されています。デフォルトでは、収集されたデータはコミュニティバックエンドに送信されます。このコミュニティバックエンドは、データを使用して Sicherheitstacho をフィードしています。 次の手順で ~/tpotce/docker-compose.yml から # Ewsposter service を削除することで、データ提出をオプトアウトできます:

  1. T-Potサービスを停止:systemctl stop tpot
  2. ~/tpotce/docker-compose.yml を開く:micro ~/tpotce/docker-compose.yml
  3. 以下の行を削除し、microを保存して終了(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

root@kitploit:~
4. T-Pot サービスを起動: `systemctl start tpot`

データ送信を無効にすることはお勧めしません。コミュニティアプローチの主目的だからです。ご存知の通り **共有は思いやり** 😍
<br><br>

## Opt-In HPFEEDS データ送信
オプトインとして、T-Pot データをサードパーティの HPFEEDS ブローカーと共有することが可能です。
1. [こちら](#community-data-submission)の手順に従って T-Pot サービスを停止し、`~/tpotce/docker-compose.yml` を開きます。
2. `ewsposter` セクションまでスクロールし、必要に応じて HPFEEDS 設定を調整します。
3. CA 証明書を追加する必要がある場合は、`~/tpotce/data/ews/conf` に追加し、`EWS_HPFEEDS_TLSCERT=/data/ews/conf/<your_ca.crt>` を設定します。
4. T-Pot サービスを起動: `systemctl start tpot`。
<br><br>

# リモートアクセスとツール
ホスト/T-Pot へのリモートアクセスは SSH(**`tcp/64295`** 経由)で可能です。また、T-Pot にはいくつかのサービスやツールが付属しており、調査作業を大幅に容易にします。
<br><br>

## SSH
[ユーザータイプ](#user-types)に応じて、SSH 経由でログインしてコマンドラインにアクセスできます: `ssh -l <OS_USERNAME> -p 64295 <your.ip>`

- ユーザー: **[`<OS_USERNAME>`]**
- パスワード: **[password]**
<br><br>

## T-Pot ランディングページ
[ユーザータイプ](#user-types)に応じて、ブラウザから `https://<your.ip>:64297` で T-Pot ランディングページを開くことができます:

- ユーザー: **[`<WEB_USER>`]**
- パスワード: **[password]**

![T-Pot-WebUI](https://assets.kitploit.com/production/public/readmes/4462/7e70eb82c25026577169f745794728206ca655c2fac5155262c645bf0290158e.png)
<br><br>

## Kibana ダッシュボード
T-Pot ランディングページで `Kibana` をクリックすると、Kibana に転送されます。T-Pot がサポートするハニーポットに特化した多種多様なダッシュボードやビジュアライゼーションから選択できます。

![Dashbaord](https://assets.kitploit.com/production/public/readmes/4462/d363122f1d233abb0f1818c0e69ed6ac1f4a2f139d5d924bcf7d6fc2b0b7f8bc.png)
<br><br>

## 攻撃マップ
T-Pot ランディングページで `Attack Map` をクリックすると、攻撃マップに転送されます。攻撃マップは Web ソケットを利用するため、`<WEB_USER>` の認証情報を再入力する必要がある場合があります。

![AttackMap](https://assets.kitploit.com/production/public/readmes/4462/a9a8e7024bebe87b98b754ee1fcaf877dee35b0b35404525cfc7b4bcf63778b5.png)
<br><br>

## Cyberchef
T-Pot ランディングページで `Cyberchef` をクリックすると、Cyberchef に転送されます。

![Cyberchef](https://assets.kitploit.com/production/public/readmes/4462/4e8c0b3e528dad69e932ee8fefc6c0367c93b144fc22b5cbfdfc21401a212540.png)
<br><br>

## Elasticvue
T-Pot ランディングページで `Elasticvue` をクリックすると、Elasticvue に転送されます。

![Elasticvue](https://assets.kitploit.com/production/public/readmes/4462/0a40257ee96c7713158d952dd3eaeaaa65ef587883f3545592072793819d4a22.png)
<br><br>

## Spiderfoot
T-Pot ランディングページで `Spiderfoot` をクリックすると、Spiderfoot に転送されます。

![Spiderfoot](https://assets.kitploit.com/production/public/readmes/4462/018e445ac80bc3a63e3504e5f46335b67870f5afe102fe59b308f5b64886e79e.png)
<br><br>

# 設定

## T-Pot 設定ファイル
T-Pot は、Docker サービス(ハニーポットやツール)だけでなく、Docker Compose 環境向けの変数を提供する設定ファイルを備えています。設定ファイルは `~/tpoce/.env` に隠されています。デフォルト設定を保持するサンプルファイル(`env.example`)もあります。<br>
初回起動前に `~/tpotce/genuser.sh` を実行するか、[こちら](#add-users-to-nginx-t-pot-webui)の説明に従って手動で `WEB_USER` を設定してください。

## T-Pot ハニーポットとサービスのカスタマイズ

`~/tpotce/compose` には、T-Pot Standard / Hive インストールを調整するために必要なすべてが揃っています。```
customizer.py
llm.yml
mac_win.yml
mini.yml
mobile.yml
sensor.yml
standard.yml
tarpit.yml
tpot_services.yml

.ymlファイルはDocker Composeファイルであり、それぞれ異なるハニーポットとツールのセットを表しています。tpot_services.ymlは、customizer.pyがカスタマイズされたDocker Composeファイルを作成するためのテンプレートです。

Composeファイルを有効にするには、次の手順に従ってください:

  1. T-Potを停止します: systemctl stop tpot
  2. Docker Composeファイルをコピーします: cp ~/tpotce/compose/<dockercompose.yml> ~/tpotce/docker-compose.yml
  3. T-Potを起動します: systemctl start tpot

カスタマイズしたDocker Composeファイルを作成するには:

  1. cd ~/tpotce/composeに移動します。
  2. python3 customizer.pyを実行します。
  3. スクリプトが、独自のdocker-compose.ymlを作成するプロセスを案内します。一部のハニーポットやサービスは同じポートを使用するため、ポート競合があるかどうかをチェックし、競合するサービスについて通知します。その後、docker-compose-custom.ymlを調整するか、スクリプトを再実行して手動で解決できます。
  4. T-Potを停止します: systemctl stop tpot
  5. カスタムDocker Composeファイルをコピーします: cp docker-compose-custom.yml ~/tpotce して cd ~/tpotce
  6. docker-compose -f docker-compose-custom.yml upを実行して、すべてが正常に動作するか確認します。エラーが発生した場合は、Docker Compose Specificationに従って対処してください。ほとんどの場合、Docker Composeファイルを編集して調整できるポート競合です。
  7. すべてが正常に動作する場合は、CTRL-Cを押してコンテナを停止し、docker-compose -f docker-compose-custom.yml down -vを実行します。
  8. 新しい正常にテストされたカスタマイズ済みDocker Composeファイルで置き換えます: mv ~/tpotce/docker-compose-custom.yml ~/tpotce/docker-compose.yml

メンテナンス

T-Potは低メンテナンスになるように設計されています。ほとんどすべてがDockerイメージを通じて提供されるため、基本的には実行させるだけで何もする必要はありません。妥協のリスクを減らすために、Dockerイメージは定期的にアップグレードします。ただし、このセクションはよく読んでください。

アップデートに失敗した場合、IssueやDiscussionを立てることで将来の改善に役立ちますが、提供される解決策は常に クリーンインストールを実行することです。失われたデータに対してはサポートを提供できません。

一般アップデート

T-Potのセキュリティは、サポートされているLinuxディストロイメージ向けに提供されるアップデートに依存します。OSのドキュメントを確認し、OSによって定期的にアップデートがインストールされるようにしてください。デフォルト(~/tpotce/.env)では、TPOT_PULL_POLICY=alwaysにより、T-Pot起動時に毎回Dockerが新しいDockerイメージをチェックし、コンテナを作成する前にダウンロードすることが保証されます。

アップデートスクリプト

T-PotリリースはGitHubを通じて提供され、~/tpotce/update.shを使用してプルできます。
T-Pot設定ファイルに関連する変更を加えた場合は、必ず最初にバックアップを作成してください!
アップデートは予期せぬ結果を引き起こす可能性があります。マシンまたは作業に最も価値のあるファイルのバックアップを作成してください!

アップデートスクリプトは以下の処理を行います:

  • ローカルの変更を容赦なく上書きし、T-Potマスターブランチと同期します
  • ~/tpotceフォルダの完全バックアップを作成します
  • ~/tpotce内のすべてのファイルを更新してT-Potマスターブランチと同期します
  • ~/tpotce/data/ews/confからカスタムews.cfgと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"'

root@kitploit:~
## 既知の問題
以下の既知の問題があります。説明されている手順に従って解決してください。
<br><br>

### Dockerイメージのダウンロードに失敗する
以前、Dockerはダウンロード [レート制限](https://docs.docker.com/docker-hub/download-rate-limit/#:~:text=Docker%20Hub%20limits%20the%20number,pulls%20per%206%20hour%20period.) を導入しました。単一または共有のIPを介してDockerイメージを頻繁にダウンロードしている場合、そのIPアドレスがDockerのダウンロードレート制限を使い果たしている可能性があります。Dockerアカウントにログインしてレート制限を延長してください。```
sudo su -
docker login

T-Pot ネットワーク障害

T-Pot は単一の NIC を搭載したマシンでのみ動作するように設計されています。T-Pot はデフォルトルートを持つインターフェースを取得しようとしますが、常に成功するとは限りません。可能であれば、単一の NIC のみを搭載したマシンで T-Pot を使用してください。

T-Pot の起動

T-Pot サービスは、再起動のたびに自動的に起動および停止します(再起動は、インストール中に sudo crontab -l で設定されたとおり、毎日 1 回発生します)。
手動で T-Pot サービスを起動したい場合は、systemctl start tpot を使用して行い、dpsw でコンテナの起動を確認できます。

T-Pot の停止

T-Pot サービスは、再起動のたびに自動的に起動および停止します(再起動は、インストール中に sudo crontab -l で設定されたとおり、毎日 1 回発生します)。
手動で T-Pot サービスを停止したい場合は、systemctl stop tpot を使用して行い、dpsw でコンテナのシャットダウンを確認できます。

T-Pot データフォルダ

ハニーポット、ツール、および T-Pot 関連サービスからのすべての永続ログファイルは ~/tpotce/data に保存されます。これには、Elastic Stack に送信されない収集されたアーティファクトも含まれます。

ログの永続化

すべてのログデータは T-Pot データフォルダ に保存され、T-Pot 設定ファイル ~/tpotce/.env 内の TPOT_PERSISTENCE_CYCLES=<1-999> で設定されたサイクル数だけ保持されます。デフォルトは 30 です。
Elasticsearch インデックスは tpot インデックスライフサイクルポリシーによって管理され、これは Kibana で直接調整できます(「管理システムポリシーを含める」を必ず選択してください)。 IndexManagement1

デフォルトでは、tpot インデックスライフサイクルポリシーはインデックスを 30 日間保持します。これはストレージと速度のバランスが取れています。ただし、必要に応じてポリシーを調整できます。 IndexManagement2

ファクトリーリセット

T-Pot データフォルダ に保存されているすべてのログデータ(もちろん Elasticsearch インデックスを除く)は、clean.sh を実行することで消去できます。 場合によっては修復不可能な問題が発生することがありますが、T-Pot をファクトリーリセットするのはこれまでにないほど簡単です(cd ~/tpotce を実行していることを確認してください)。

  1. systemctl stop tpot を使用して T-Pot を停止します。
  2. ~/tpotce/data フォルダを安全な場所に移動またはバックアップします(念のため、オプションです)。
  3. sudo rm -rf ~/tpotce/data を使用して ~/tpotce/data フォルダを削除します。
  4. T-Pot を最後にフェッチしたコミットにリセットします:``` cd ~/tpotce/ git reset --hard
root@kitploit:~
5. ここで `~/tpotce/install.sh` を実行できます。
<br><br>

## コンテナとイメージの表示
`dps` または `dpsw [間隔]` を実行することで、T-Pot 関連のすべてのコンテナを表示できます。`間隔 (秒)` を指定すると、定期的に `dps` が再実行されます。`dim` を使用すると、ローカルで利用可能な Docker イメージを `CREATED` 列を含めて表示できます。
<br><br>

## ブラックホール
ブラックホール機能は、既知の公開スキャナによる永続的な訪問を避け、T-Pot を一種のステルスモードで実行し、露出の可能性を減らします。もちろんこれは常にいたちごっこですが、ブラックホール機能は [既知の大規模スキャナ](https://raw.githubusercontent.com/stamparm/maltrail/master/trails/static/mass_scanner.txt) からのすべてのリクエストをヌルルーティングしつつ、Suricata を通じてイベントを取得し続けます。
<br>
この機能は、`~/tpotce/.env` で `TPOT_BLACKHOLE=DISABLED` を設定し、`systemctl stop tpot` と `systemctl start tpot` を実行するか、`sudo reboot` することで有効になります。
<br>
この機能を有効にすると、攻撃者の可視性が大幅に低下し、結果としてアクティビティが減少します。ただし、既に述べたように、これは完全なステルスを保証するものではなく、一部のハニーポットサービスのフィンガープリンティングを防ぐものでもありません。
<br><br>

## Nginx へのユーザー追加 (T-Pot WebUI)
Nginx (T-Pot WebUI) では、[ユーザータイプ](#user-types) に従って、必要な数だけ `<WEB_USER>` アカウントを追加できます。<br>
新しいユーザーを **追加** するには `~/tpotce/genuser.sh` を実行します。<br>
ユーザーを **削除** するには、`~/tpotce/.env` を開き、`WEB_USER` を見つけて、対応する base64 文字列を削除します (デコード方法: `echo <base64_string> | base64 -d`、または CyberChef を開いて "From Base64" レシピを読み込みます)。<br>
変更を反映するには、`systemctl stop tpot` と `systemctl start tpot` を実行するか、`sudo reboot` して T-Pot を再起動する必要があります。
<br><br>

## Kibana オブジェクトのインポートとエクスポート
一部の T-Pot アップデートでは、Kibana オブジェクトの更新が必要になります。新しいハニーポットをサポートするため、または既存のダッシュボードやビジュアライゼーションを改善するためです。調整内容を失わないように、必ず最初に ***エクスポート*** してください。

### エクスポート
1. Kibana に移動します
2. 「Stack Management」をクリックします
3. 「Saved Objects」をクリックします
4. 「Export <数> objects」をクリックします
5. 「Export all」をクリックします
これにより、すべてのオブジェクトを含む NDJSON ファイルがエクスポートされます。すべての参照が含まれていることを確認するために、常に完全エクスポートを実行してください。

### インポート
1. [NDJSON ファイルをダウンロード](https://raw.githubusercontent.com/telekom-security/tpotce/refs/heads/master/docker/tpotinit/dist/etc/objects/kibana_export.ndjson.zip) し、解凍します。
2. Kibana に移動します
3. 「Stack Management」をクリックします
4. 「Saved Objects」をクリックします
5. 「Import」をクリックし、Kibana オブジェクトに個人的な変更を加えていない場合はデフォルトのままにします (既存のオブジェクトをチェックし、競合を自動的に上書き)。
6. NDJSON ファイルを参照します
「既存のオブジェクトがある場合、自動的に上書きしますか?」と尋ねられたら、「はい、すべて上書きします」と答えます。
<br><br>

# トラブルシューティング
一般的に、T-Pot は ***現状のまま*** 提供され、サポートに関する一切の責任を負いません。課題や議論は開始できますが、コミュニティが支援できるように、基本的な必要な情報を含める準備をしてください。
<br><br>

## ログ
* コンテナが正しく実行されているか確認: `dps`
* ローカルで利用可能な Docker イメージとその経過時間を確認: `dim`
* システムリソースが枯渇していないか確認: `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

RAMとストレージ

Elastic StackはRAMを多く消費します。特にlogstashとelasticsearchです。Elastic Stackが利用不可、ログを受信しない、またはクラッシュを繰り返す場合、ほとんどの場合、RAMまたはストレージの問題です。
T-Potがサービス/コンテナの再起動を試み続けている間、docker logs -f <container_name>(logstashまたはelasticsearch)を実行し、RAMに関する警告や障害がないか確認してください。

ストレージ障害はhtopを使うと簡単に特定できます。

連絡先

T-Potは現状のままオープンソースとして提供され、サポートに関するいかなる約束もありません(免責事項を参照)。

セキュリティ研究者で責任を持って問題を報告したい場合は、CERTまでご連絡ください。

問題報告

問題(エラー)はGitHub Issuesで報告してください。ただし、最初にトラブルシューティングを行ってください。エラーに対処するための情報を提供しないIssueはクローズされるか、ディスカッションに変換されます。

まず検索機能を使用してください。同様の問題が既に対処または議論されている可能性があり、解決策は検索するだけです。

ディスカッション

一般的な質問、アイデア、Show & Tellなどは、GitHub Discussionsに投稿できます。

検索機能を使用してください。同様のディスカッションが既に開始されている可能性があり、答えは検索するだけです。

ライセンス

T-Potを構成するソフトウェアは、以下のライセンスを使用しています。
GPLv2: conpot, galah, dionaea, honeytrap, suricata
GPLv3: adbhoney, elasticpot, ewsposter, log4pot, fatt, heralding, ipphoney, miniprint, redishoneypot, rdphoneypot, sentrypeer, snare, tanner
Apache 2 License: cyberchef, dicompot, elasticsearch, go-pot, h0neytr4p, logstash, kibana, MIT license: , , , , , , , , Unlicense: Other: , , , , AGPL-3.0: :

クレジット

オープンソースと、私たちが誇りに思う開発コミュニティがなければ、T-Potは実現しませんでした!感謝の意を表します。以下の人々と組織に限らず、多くの方々に感謝します。

以下のプロジェクトの開発者と開発コミュニティ

  • adbhoney, beelzebub, ciscoasa, citrixhoneypot, conpot, cowrie, ddospot, dicompot, dionaea, docker, elasticpot, elasticsearch, elasticvue, endlessh, ewsposter, fatt, galah, glutton, go-pot, h0neytr4p, hellpot, heralding, honeyaml, honeypots, honeytrap, ipphoney, , , , , , , , , , , , , , , ,

以下の企業および組織

  • docker, elastic.io, honeynet project

そしてもちろん、コミュニティに参加してくださったあなたに感謝します!


お客様の声

これまでに頂いた最も素晴らしいフィードバックの一つは、Conpotの開発者の一人からのものです:
「[...] T-Potを強くお勧めします。これは...まさにスイスアーミーナイフというわけではありません。むしろ、スイスアーミーナイフを装備したスイスアーミーソルジャーに近いです。戦車の中に。スイス戦車です。[...]」

また、@robcowart(ElastiFlowの作成者)から:
「#TPotは、最もよくまとめられたターンキーハニーポットソリューションの一つです。悪意のある行為者の行動と、彼らが組織にもたらす脅威を分析し理解したい人にとっては必須のツールです。」

ありがとうございます 💖

ツールをダウンロード
  • T-Potを起動します: systemctl start tpot

  • docker

    autoheal
    beelzebub
    ciscoasa
    ddospot
    elasticvue
    glutton
    hellpot
    honeyaml
    maltrail

    endlessh

    citrixhoneypot
    cowrie
    mailoney
    Elastic License
    Wordpot

    honeypots

    Public Domain (CC)
    Harvard Dataverse


    kibana
    logstash
    log4pot
    mailoney
    maltrail
    medpot
    miniprint
    p0f
    redishoneypot
    rdphoneypot
    sentrypeer
    spiderfoot
    snare
    tanner
    suricata
    wordpot