
Raspberry Pi または Ubuntu 上に DShield ハニーポットセンサーをインストールして設定し、Cowrie SSH および HTTP ハニーポットを実行して、ファイアウォールログを DShield ポータルへ転送します。
これは DShield Sensor をセットアップするためのスクリプト一式です。
自動インストール手順を使用するための現在の設計目標と前提条件:
現在のバージョンは Raspberry Pi OS (64-bit) と Ubuntu 24.04 LTS Server でのみテストされており、他のディストリビューションではテストされていません。申し訳ありません。 他のディストリビューションが必要な場合は、「誰か」がインストールスクリプトを確認し、メンテナンスする必要があります。
OS 固有のインストール手順については、以下のファイルを参照してください: Raspberry Pi OS (推奨)、 Ubuntu、 openSUSE、および AWS
install.shこのスクリプトは以下を実行します:
ログは cron ジョブ /etc/cron.d/dshield によって 1 時間に 2 回 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 を編集し、ファイアウォールを設定するには /etc/network/iptables を編集してください(注: nat テーブルも使用されます)。
特に自動更新向けの新機能が導入されました。インストールの最後に、install.sh スクリプトは /root/bin/postinstall.sh ファイルを検索し、存在する場合はその内容を実行します。新しくインストールされたファイルに追加の変更が必要な場合は、ここに配置してください。このファイルには実行権限が必要です。
特別なポートやネットワーク設定を最新の状態に保つようにしてください(例: 最近追加された telnet/web ポートをファイアウォール設定で手動設定する、no-log 設定、no-honey 設定など)。残念ながら、現時点ではこれを自動で行うことはできません。不明な場合は、/etc/dshield.ini の該当行を削除してインストールスクリプトを再実行してください。
この DShield センサーおよびハニーポットは、インターネット関連のトラフィック、すなわちパブリック IP アドレスから発信されるトラフィックのみを分析することを目的としています:
したがって、Pi はインターネットに公開できるネットワーク上に配置する必要があります(管理タスクを除き、内部ネットワークから接続されないようにします)。センサーの効果を最大化するには、Pi がインターネットがパブリック IP にルーティングするすべてのトラフィックに公開されることが望ましいです(選択したポートのみではなく)。
SoHo ユーザーの場合、通常 DSL またはケーブルルーターに、ルーターが使用しているパブリック IP(すなわち ISP によって割り当てられた IP)からのすべてのトラフィックを内部 IP に転送するオプションがあります。これが Pi である必要があります。この機能は例えば「exposed host」「DMZ」と呼ばれます(ここでは、例えばポート 80 だけでなく すべての トラフィックが Pi の内部 IP アドレスにルーティングされることを保証するために、さらなる設定を有効にする必要がある場合があります)。
企業の場合、保護された DMZ が適切な場所です(保護: センサー/ハニーポットがハッキングされた場合、このインシデントは封じ込められ、DMZ 内の他のホストに影響を与えません)。静的 IP を使用している場合、あなたの IP への攻撃/スキャンを DShield プロジェクトとコミュニティに公開することになり、whois を通じてあなたの会社を追跡できることに注意してください。
セットアップをテストするには、パブリックポートスキャナーを使用してルーターのパブリック IP(内部的に Pi に転送される)を指定します。このポートスキャンは /var/log/dshield.log に直接表示され、後で DShield アカウントからアクセスできるオンラインレポートにも表示されるはずです。DShield データが改ざんされないよう、迅速かつ限定的なテスト目的にのみ使用してください。
install.sh のコメントを参照status.sh)を /srv ディレクトリ構造に移動sitecopy.py は、web.py スクリプトを使用して提供されるサイトをコピーします。次のように使用します:
python sitecopy.py http://www.yoursite.com
web.py - sitecopy を実行する必要はありませんが、入力やファイルを受け付けられる非常に基本的なページを提供します。 Todo:
ご意見をお待ちしています - github経由でバグレポート/issueを提出してください - ありがとうございます!
Slackグループ招待リンク: https://www.dshield.org/slack/