Raspberry Pi 5にIDSTowerをインストールするためのステップバイステップガイド
究極のホーム&スモールビジネス・セキュリティ・ソリューション
予算内でセキュリティを強化しましょう!Raspberry Pi上のIDSTowerを使用して、手頃な価格で効率的かつ簡単に導入できる侵入検知システムで、ご家庭や中小企業のセキュリティを確保しましょう。 ますます接続が進む世界では、ホームネットワークであれ中小企業であれ、セキュリティが最も重要です。サイバー脅威は日々進化しており、機密データを保護し、ネットワークの完全性を維持するための事前対策を実施することが不可欠です。幸いなことに、侵入検知システム(IDS)のセットアップには、高価なハードウェアや高度な専門知識はもう必要ありません。 Raspberry Pi 5のリリースにより、コスト効率とエネルギー効率の高いプラットフォーム上に、堅牢なIDSソリューションであるIDSTowerのような強力なセキュリティツールをインストールできるようになりました。このブログでは、Raspberry Pi 5にIDSTowerをインストールするためのステップバイステップのガイドと、このセットアップがホームユーザーや小規模企業に理想的である理由を説明します。
スリカータとIDSTowerとは何ですか?
Suricataは、高性能なオープンソースのネットワーク分析および脅威検出ソフトウェアで、ほとんどの民間および公共組織で使用され、大手ベンダーがその資産を保護するために組み込んでいます。
IDSTowerはSuricataのプロビジョニング、コンフィギュレーション、ルール管理を簡素化するツールです。DSTowerにはユーザーフレンドリーな管理インターフェイスが追加され、サイバーセキュリティに関する豊富な経験がない人でもアクセスできるようになっています。IDSTowerには、シングルホスト用の無料ライセンスが含まれており、このプロジェクトに最適です。
ハードウェア
Suricataは、リアルタイムの侵入検知(IDS)、侵入防御(IPS)、ネットワーク・セキュリティ・モニタリング(NSM)、ディープ・パケット・インスペクション(DPI)のために設計された高性能ネットワーク・セキュリティ・ツールです。ネットワークトラフィックをリアルタイムで分析し、悪意のある可能性のある活動を検出します。
リアルタイムでパケットキャプチャを分析するには、CPUだけでなく、大量のメモリも必要です。8GBのRAMと2.4GHzの64ビット・クアッドコアArm Cortex-A76プロセッサーを搭載したRaspberry Pi 5シングルボードコンピューターは、このタスクに対応します!
Raspberry PiにIDSTowerをインストールする
最新のオペレーティング・システムを使用していることを確認してください。この記事を書いている時点では、Debianバージョン12(bookworm)をベースにした64ビットのRaspberry Pi OS Lite(lessis more!)
IDSTowerのライセンスを取得する必要があります。
また、インストール完了後にウェブUIにアクセスできるように、443番ポートを開く必要がある:
sudo apt install iptables-persistent
sudo iptables -I INPUT 1 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo netfilter-persistent save
また、ネットワーク上のトラフィックを監視できるように、ネットワーク・インターフェイスがプロミスキャス・モードをサポートしていることを確認する必要がある:
iw phy phy0 info
netstat -i
sudo ip link set eth0 promisc on
sudo ifconfig eth0 -promisc
RaspberryPiへのIDSTowerのインストールはとても簡単で、Debian 12.1(Bookworm)へのインストールの指示に従うだけです。
インストール中にエラーが発生しないように注意してください。最後に、スクリプトはIDSTower Web UIのURLと、設定用に生成されたユーザー名とパスワードを出力します。
Raspberry PiでIDSTowerを設定する
最初のクラスターを作成し、ルールとインジケータを設定することで、インストール手順に従ってください。私は以下の設定を使用した:
- スリカータをインストールするIDSソフトウェア- 最新バージョン (7) - 公式リポジトリ - (インターネットが必要です)
- Filebeat - 最新バージョン (8) - 公式リポジトリ - (インターネットが必要です) をインストールするログシッパーソフトウェア
IDS+NSM」のスリカタ設定を選んだのは、この特定のホストを監視するだけでなく、ローカルネットワーク上のトラフィックを観察したいからだ。NSMはNetwork Security Monitoringの略です。
IDSTower/Suricataのルールが読み込まれないトラブルシューティング
最初に驚いたのは、私のクラスタがルールをロードしていないことを発見したことだった。すべてが健全に見え、すべてのサービスが稼働していたが、ルールがロードされていなかったのだ。
ググってみると、最初の手がかりが見つかった:
suricatasc -v
ソケット /var/run/suricata-command.socket に接続できません:L178: [Errno 2] No such file or directory
tail -f /var/log/idstower/heartbeat.log
==> /var/log/idstower/heartbeat.log <==
[2024-09-20T11:21:01-0700] [Info] ================= IDSTowerハートビートスクリプト ======================================
[2024-09-20T11:21:01-0700] [Info] スクリプトを起動しています。...
[2024-09-20T11:21:04-0700] [Info] suricata メトリクスの取得...
[2024-09-20T11:21:04-0700] [Warning] ソケットファイルが見つかりません:
/var/run/suricata-command.socket
[2024-09-20T11:21:04-0700] [Warning] アクティブな Suricata ソケットファイルが見つかりません:/var/run/suricata-command.socket
[2024-09-20T11:21:04-0700] [Warning] Suricataメトリクスを取得できません。アクティブなソケットファイルが見つかりません:
[2024-09-20T11:21:04-0700] [Info] ハートビートをIDSTowerに送信しています...
[2024-09-20T11:21:04-0700] [Info] ハートビートがIDSTowerに正常に送信されました:{"success":true, "statusCode":0, "data":true}
[2024-09-20T11:21:04-0700] [Info] IDSTowerハートビートが終了しました。
[2024-09-20T11:22:01-0700] [Info] ================== IDSTowerハートビートスクリプト ======================
[2024-09-20T11:22:01-0700] [Info] スクリプトを開始しています。...
[2024-09-20T11:22:04-0700] [Info] suricata メトリクスの取得...
suricata -c /etc/suricata/suricata.yaml --dump-config | grep -e dir -e unix-...
Debian Bookwormサービスがsuricata-command.socketを設定ファイルが期待する場所に設定していないのだと思います。また、suricataはrootとして実行されますが、IDSTowerはidstowerユーザーとして実行されるため、パーミッションの問題もあります。
これを解決するには、以下のコマンドを実行する:
sudo chgrp idstower /var/run/suricata-command.socket
IDSTower Web UIで、suricata.yamlファイル(自分のクラスタ、Configs、Advanced)を編集し、"filename "行のコメントを解除して、次のように置き換えます:
unix-command:
enabled: auto
filename:/var/run/suricata-command.socket
クラスタを再起動すると、ルールがロードされているはずです。
エラスティサーチの統合
また、"Send Events to ElastiSearch (Version 2.0.0) "オプションも選択した。しかし、ラズパイ上でElastiSearchを実行することはできなかった。多分、多くのリソースを要求しすぎるのだろう。代わりにBonsai.ioの無料のクラウドベースのオプションを選んだ。しかし、この記事を書いている時点では、Bonsai.ioのElastiSearchのバージョン(Elasticsearch 7.10.2)はIDSTowerのFileBeatバージョン8と互換性がない。
結論
Raspberry Pi 5にIDSTowerをインストールすることで、強力で、手頃な価格で、エネルギー効率に優れた方法で、ホームネットワークや小規模ビジネスをサイバー脅威から保護することができます。Raspberry Pi 5の改良されたハードウェアとIDSTowerの堅牢な侵入検知機能の組み合わせは、管理が容易で常時稼動のセキュリティシステムを求める人にとって理想的なソリューションです。
スリカータがどのように機能するのか、その主な構成要素を紹介しよう:
1.トラフィックの捕捉と分析
SURICATAは、ネットワーク・トラフィックをキャプチャし、そのデータをリアルタイムで分析します。以下のような複数のレイヤーでパケットを検査する:
- リンク層(イーサネット・ヘッダーなど)
- ネットワーク層(IPヘッダー)
- トランスポート層(TCP、UDPなど)
- アプリケーション層(HTTP、FTP、SMTPなど)
Suricataは、ネットワーク・インターフェース・カード(NIC)をプロミスキャス・モードで使用し、インストールされているデバイスに向けられたトラフィックだけでなく、ネットワークを流れるすべてのトラフィックをキャプチャする。
2.ディープパケットインスペクション(DPI)
SURICATAはパケットヘッダーの分析だけにとどまりません。ディープパケットインスペクション(DPI)を実行し、ネットワークパケットのペイロード(コンテンツ)を検査することで、マルウェア、フィッシング、ファイルベースのエクスプロイトなどのアプリケーションレベルの攻撃を検知することができます。
- Suricataは、HTTP、DNS、SMB、FTP、TLSなど、さまざまなプロトコルを解析する。
- 既知の攻撃シグネチャーと異常な動作の両方について、ネットワーク・トラフィックをデコードして検査することができる。
- DPIは、ダウンロードファイルやその他の形式のコンテンツに隠れたマルウェアを検出するために極めて重要である。
3.マルチスレッドとハイパフォーマンス
SURICATAは、マルチスレッドによって大量のトラフィックを効率的に処理できるように設計されている。複数のプロセッサー・コアを同時に使用してネットワーク・データを処理・検査できるため、高速ネットワークや企業ネットワークに適している。
スリカタは、適切なハードウェアと構成によって、ギガビットやテラビットレベルのスピードで動作することができる。
4.シグネチャーベースの検出
SURICATAが使用する主な検出方法の1つはシグネチャベースの検出で、捕捉したネットワークトラフィックを「シグネチャ」または「ルール」と呼ばれる定義済みの攻撃パターンのデータベースと比較する。
- これらのシグネチャは多くの場合、Snortと互換性のあるルール構文で記述されており、Snort IDS用に開発された膨大なシグネチャライブラリを使用できる。
- ルールは次のようなことを検出することができる:
- 既知のマルウェアのシグネチャ
- ポートスキャンの試み
- バッファオーバーフローの悪用
- SQLインジェクション攻撃
ルールは次のようなものだ:
plaintextCopy codealert tcp any any -> 192.168.1.100 80 (msg: "Potential Web Attack"; content: "GET"; http_method; sid:1000001;)
このルールは、ポート80でIP 192.168.1.100のWebサーバーに送信されたHTTP GETリクエストをチェックする。
5.異常ベースの検出
シグネチャベースの検知に加え、SURICATAはアノマリーベースの検知もサポートしている。この手法では、「正常な」ネットワーク動作のベースラインを作成し、そのベースラインからの逸脱を潜在的な脅威としてフラグ付けします。
- 例えば、あるデバイスが突然、変な時間帯に大量のリクエストを生成し始めたり、異常なIPアドレスと通信したりすると、アラートが発動する可能性がある。
- これは、ゼロデイ攻撃や事前に定義されたシグネチャを持たない新しい脅威を検出するのに役立つ。
6.プロトコルの特定と分析
SURICATAには強力なプロトコル認識エンジンが搭載されています。ネットワークトラフィックが非標準のポートを使用している場合でも、SURICATAはデータを検査することでプロトコルを検出することができます。プロトコル識別(IPP)と呼ばれるこの機能により、SURICATAは以下のことが可能になります:
- アプリケーション・プロトコルが標準ポートで実行されていない場合でも認識する(例:非標準ポートで実行されているHTTPトラフィック)。
- アプリケーション層のトラフィックを分析し、HTTP、TLS、SSH、DNS、FTPなどのプロトコルを特定します。
7.フローとセッションのトラッキング
SURICATAは、個々のパケットを分析するだけでなく、ネットワークの「フロー」(2つのデバイス間の関連するパケットのストリーム)を追跡することができます。これにより、接続(TCP接続など)の状態を理解し、次のような複数のパケットにまたがって発生する複雑な攻撃パターンを検出することができます:
- TCPの再組み立て:断片化されたTCPパケットを再構築し、ペイロードを完全に検査する。
- ファイル抽出:HTTP、FTP、SMB経由で送信されたファイルを抽出し、さらなる分析やファイルの整合性チェックを行うことができます。
- TLS/SSL検査:Suricataは暗号化されたトラフィックを検査し、SSL/TLSプロトコルの異常を検出することができる。
8.ロギングとアラート
SURICATAは、遭遇したルールと検出に基づいて、詳細なログとアラートを生成します。以下のような様々なタイプのネットワーク・データを記録することができます:
- アラート:ルールベースの検出(エクスプロイトの試みなど)を即座に通知。
- ログ:トラフィックログ、接続ログ、プロトコル固有のログ(DNS、HTTPトランザクションなど)。
- PCAPファイル:Suricataは、後で分析するために、生のパケットデータをPCAP形式で保存することができます。
ログは、以下のような外部システムにエクスポートできる:
- 相関と高度な分析のためのSIEM(セキュリティ情報とイベント管理)システム。
- ELKスタック(Elasticsearch、Logstash、Kibana)によるネットワークデータとセキュリティアラートの強力な可視化。
9.侵入防御システム(IPS)モード
IPSモードに設定すると、SURICATAは悪意のあるトラフィックを検知するだけでなく、積極的にブロックすることができます。パッシブIDSモードでは潜在的な攻撃に対して警告を発するだけですが、IPSモードではSURICATAは以下のことが可能です:
- 疑わしいパケットや接続全体をドロップまたは拒否する。
- インライン・モードを使用すると、ネットワークと外部との間に位置し、脅威が内部デバイスに到達する前にブロックする。
10.拡張性と柔軟性
SURICATAは高度に設定可能で、小規模な家庭用セットアップから大規模な企業インフラまで、さまざまなネットワーク環境に導入できます。その柔軟性には以下が含まれます:
- 分散配置:SURICATAは、複数のノードに展開してネットワークの異なる部分を監視し、結果を集中サーバーに送信することができます。
- 統合:Suricataは、脅威インテリジェンス・プラットフォーム、アンチウイルス・システム、エンドポイント検出システムなどの他のツールと統合します。
概要
要するに、SURICATAは複数のレイヤー(リンク、ネットワーク、トランスポート、アプリケーション)でネットワーク・トラフィックをキャプチャして検査し、シグネチャ・ベースとアノマリー・ベースの両方の検出テクニックを使って脅威を特定します。マルチスレッド機能により大量のトラフィックを効率的に処理し、様々なロギング、アラート、防止メカニズムを提供します。IDSとしてもIPSとしても、SURICATAはネットワークベースの攻撃をリアルタイムで監視、検出、防止する強力なツールです。
Tagged with:
CyberSecurity linux