Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
opencanary — 低リソースで動作するハニーポット。一般的なネットワークサービスをエミュレートして侵害後の攻撃者活動を検出し、拡張可能なプロトコルモジュールと設定可能なアラートを備えています。 | Kitploit
ツール/GitHubGitHub/thinkst/opencanary
防御ツールネットワークセキュリティ脅威インテリジェンス侵入検知インシデントレスポンスログ分析
GitHubthinkst/opencanary

opencanary

低リソースで動作するハニーポット。一般的なネットワークサービスをエミュレートして侵害後の攻撃者活動を検出し、拡張可能なプロトコルモジュールと設定可能なアラートを備えています。

リポジトリを見る
3.1k41510717日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

Thinkst Canary による OpenCanary

OpenCanary はマルチプロトコル対応のネットワークハニーポットです。主なユースケースは、攻撃者が非公開ネットワークに侵入した後に検知することです。リソース要件が非常に低く、調整・変更・拡張が可能です。

OpenCanary Tests Docker build Publish to PyPI

概要

OpenCanary はデーモンとして動作し、複数の一般的なネットワークプロトコルを実装しています。攻撃者がネットワークに侵入してハニーポットとやり取りすると、OpenCanary はさまざまな仕組みでアラートを送信します。

OpenCanary は Python で実装されているため、コアのハニーポットはクロスプラットフォームですが、一部の機能は特定の OS を必要とします。Linux で実行すると最も多くのオプションを利用できます。リソース要件は非常に低く、たとえば Raspberry Pi や最小限のリソースの VM でも問題なく稼働できます。

この README では、Ubuntu Linux と MacOS での OpenCanary のインストールおよび設定方法について説明します。

OpenCanary は、商用の Thinkst Canary ハニーポットのオープンソース版です。

目次

  • 前提条件
  • 機能
  • インストール
    • Ubuntu へのインストール
    • macOS へのインストール
    • Git を使用したインストール
    • Docker 用のインストール
  • OpenCanary の設定
    • 初期設定の作成
    • プロトコルモジュールとアラートの有効化
    • オプションモジュール
      • SNMP
      • ポートスキャン
      • Samba のセットアップ
  • OpenCanary の実行
    • Linux または macOS で直接実行
    • docker compose を使用する
    • Docker を使用する
  • ドキュメント
  • プロジェクトへの参加
    • コントリビュート
    • セキュリティ脆弱性の報告
    • バグ報告
    • 機能リクエスト
    • 行動規範

前提条件

  • AMD64: Python 3.10+
  • ARM64: Python 3.10+
  • オプション SNMP には Python ライブラリ Scapy が必要です
  • オプション Samba モジュールには、動作する Samba のインストールが必要です
  • オプション Portscan は iptables(nftables ではない)を使用し、Linux ベースのオペレーティングシステムでのみサポートされています

機能

  • 攻撃者が操作できる、ネットワークからアクセス可能なさまざまなサービスを模倣します。
  • 潜在的な脅威が検出されるとすぐにさまざまなアラートを受信し、脅威の送信元 IP アドレスと侵害が発生した可能性のある場所を強調表示します。

インストール

OpenCanary のインストールは、基本的に Python 環境を準備してから、OpenCanary Python パッケージ(およびオプションの追加パッケージ)をインストールするという流れです。

uv がインストールされている場合は、仮想環境の作成とパッケージのインストールにそれを使用できます。インストールされていない場合は、以下の標準的な python/pip の手順が引き続き機能します。

Ubuntu へのインストール

Ubuntu 22.04 LTS または 24.04 LTS へのインストール:

$ sudo apt-get install python3-dev python3-pip python3-virtualenv python3-venv python3-scapy libssl-dev libpcap-dev
$ virtualenv env/
$ . env/bin/activate
$ pip install opencanary

オプション: uv を使用する場合:

$ uv venv env
$ . env/bin/activate
$ uv pip install opencanary

オプションの追加パッケージ(Windows ファイル共有モジュールと SNMP モジュールを使用する場合):

$ sudo apt install samba # if you plan to use the Windows File Share module
$ pip install scapy pcapy-ng # if you plan to use the SNMP module

macOS へのインストール

まず、新しい Python 仮想環境を作成してアクティベートします:

$ virtualenv env/
$ . env/bin/activate

オプション: uv を使用する場合:

$ uv venv env
$ . env/bin/activate

Macports ユーザーは次を実行してください:

$ sudo port install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography

または、Homebrew x86 ユーザーは次を実行してください:

$ brew install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography

Homebrew M1 ユーザーは次を実行してください:

$ brew install openssl
$ env ARCHFLAGS="-arch arm64" LDFLAGS="-L/opt/homebrew/opt/[email protected]/lib" CFLAGS="-I/opt/homebrew/opt/[email protected]/include" pip install cryptography

(上記のコンパイル手順は、複数の OpenSSL バージョンが存在する可能性があり、Python ライブラリを混乱させる可能性があるため必要です。)

これで、通常どおりインストールを実行できます:

$ pip install opencanary
$ pip install scapy pcapy-ng # optional

uv がインストールされている場合、同等のコマンドは次のとおりです:

$ uv pip install opencanary
$ uv pip install scapy pcapy-ng # optional

Windows ファイル共有(smb)モジュールは macOS では利用できません。

Git を使用したインストール

pip を実行する代わりにソースからインストールするには、次の手順を実行します:

$ git clone https://github.com/thinkst/opencanary
$ cd opencanary
$ python setup.py sdist
$ cd dist
$ pip install opencanary-<version>.tar.gz

uv がインストールされている場合、最後のインストール手順を次に置き換えることができます:

$ uv pip install opencanary-<version>.tar.gz

pkgx を使用する

OpenCanary は pkgx を介してパッケージ化されているため、pkgx がインストールされていればインストールは不要で、opencanaryd コマンドの前に pkgx を付けるだけです。最新の sudo 実装における環境変数保護のため、コマンド全体を root として実行するか、sudo -E を使用して実行する必要があります。

$ pkgx opencanaryd --version

Docker 用のインストール

OpenCanary の Docker イメージは Docker Hub でホストされています。正確なネットワーク情報を得るには host ネットワークエンジンが必要なため、これらのイメージは Linux の Docker ホストでのみ役立ちます。

OpenCanary の設定

初期設定の作成

OpenCanary は起動時に以下の場所で設定ファイルを探し、最初に見つかった設定で停止します。

  1. /etc/opencanaryd/opencanary.conf
  2. ~/.opencanary.conf(つまりユーザーのホームディレクトリ。通常は root なので /root/.opencanary.conf)
  3. ./opencanary.conf(つまり OpenCanary がインストールされているディレクトリ)

初期設定を作成するには、root として実行します(sudo パスワードを求められる場合があります):

$ opencanaryd --copyconfig
[*] A sample config file is ready /etc/opencanaryd/opencanary.conf

[*] Edit your configuration, then launch with "opencanaryd --start --uid=nobody --gid=nogroup"

これにより、パスとファイル /etc/opencanaryd/opencanary.conf が作成されます。次に、設定ファイルを編集して、有効にするサービスとログオプションを決定する必要があります。

[!WARNING] 設定ファイルには複雑なデータが含まれており、ログ設定用の Python オブジェクトが含まれています。設定は、プロセスが root 権限で実行されている間に読み取られます。ファイルを root が所有し、root のみが書き込み可能にすることをお勧めします。通常のユーザーがファイルに書き込める場合、root への権限昇格が可能になる可能性があります。

プロトコルモジュールとアラートの有効化

設定は JSON 設定ファイルを介して行います。ファイルを編集し、問題がなければ保存して終了します。

オプションモジュール

SNMP

snmp モジュールは、Scapy が存在する場合にのみ利用できます。上記の SNMP のインストール手順を参照してください。

Portscan

portscan モジュールは iptables ルールを変更するため、Linux ホストでのみ利用できます。

Portscan サービスについては、portscan.ignore_localhost 設定を追加したことに注意してください。これは、OpenCanary の portscan サービスが localhost IP(127.0.0.1)からのポートスキャンを無視する(アラートを出さない)ことを意味します。この設定はデフォルトで false です。

Samba のセットアップ

Windows ファイル共有モジュール(smb)には Samba のインストールが必要です。Wiki でステップバイステップのガイドを参照してください。

OpenCanary の実行

OpenCanary は、Linux または macOS ホスト上で直接実行するか、Docker コンテナを介して実行します。

Linux または macOS で直接実行する

次のコマンドを実行して OpenCanary を起動します:

$ . env/bin/activate
$ opencanaryd --start --uid=nobody --gid=nogroup

uid フラグと gid フラグを使用すると、OpenCanary はポートにバインドした後に root 権限を放棄します。これは他の低権限ユーザー/グループに変更したり、省略して root 権限のまま実行し続けたりすることもできます。

pkgx を使用する

次のコマンドを実行して OpenCanary を起動します:

$ sudo -E pkgx opencanaryd --start --uid=nobody --gid=nogroup

uid フラグと gid フラグを使用すると、OpenCanary はポートにバインドした後に root 権限を放棄します。これは他の低権限ユーザー/グループに変更したり、省略して root 権限のまま実行し続けたりすることもできます。

docker compose を使用する

この方法では、Docker と Docker Compose がインストールされている必要があります。

Note Docker 化された OpenCanary では、portscan モジュールは自動的に無効になります。

  1. 実行するサービスを有効化、無効化、またはカスタマイズするには、data/.opencanary.conf ファイルを編集します。
  2. 設定ファイルで有効にしたサービスに基づいて必要なポートを有効/無効にするには、docker-compose.yml ファイルの ports セクションを編集します。
  3. コンテナを実行します。
    docker compose up latest
    

ログを表示するには、docker compose logs latest を実行します。

コンテナを停止するには、docker compose down を実行します。

ツールをダウンロード