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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
psad — psad: iptablesを用いた侵入検知とログ分析 | Kitploit
ツール/GitHubGitHub/mrash/psad
脆弱性分析IDS/IPS回避フォレンジックネットワークセキュリティ脅威インテリジェンス侵入検知ログ分析
GitHubmrash/psad

psad

psad: iptablesを用いた侵入検知とログ分析

リポジトリを見る
42777187年前Kitploit レビュー済み
ウェブサイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

psad - iptablesログによる侵入検知

はじめに

ポートスキャン攻撃検出器 psad は、Linux iptables/ip6tables/firewalld ファイアウォールコードと連携して動作する軽量システムデーモンであり、ポートスキャンやスイープ、バックドア、ボットネットの指揮統制通信などの不審なトラフィックを検出します。高度に設定可能な危険度しきい値(適切なデフォルト値付き)を備え、送信元、宛先、スキャン対象ポート範囲、開始時刻と終了時刻、TCPフラグと対応するnmapオプション、逆DNS情報、メールおよびsyslogによる警告、iptablesルールセットの動的設定による不正IPアドレスの自動ブロック、パッシブOSフィンガープリンティング、DShieldレポート機能を提供します。さらに、psad は Snort 侵入検知システムに含まれる多くのTCP、UDP、ICMPシグネチャを組み込んでいます。さまざまなバックドアプログラム(例: EvilFTP、GirlFriend、SubSeven)やDDoSツール(Mstream、Shaft)、高度なポートスキャン(SYN、FIN、XMAS)を検出します。これらはnmapを使って簡単に仕掛けられます。psad は fwsnort を介してログに記録されたSnortシグネチャについても警告できます。fwsnortはiptablesの文字列一致拡張機能を利用してアプリケーション層シグネチャに一致するトラフィックを検出します。2.4.4リリース以降、psad はMiraiボットネットのIoTデフォルト認証情報スキャンフェーズも検出できます。

完全な機能一覧は以下の通りです。

機能

  • TCP SYN、FIN、NULL、XMASスキャンおよびUDPスキャンの検出。
  • iptablesおよびip6tablesによって生成されたIPv4とIPv6両方のログをサポート。
  • Snort侵入検知システムからの多くのシグネチャルールの検出。
  • フォレンジックモードのiptables/ip6tablesログファイル解析(古いiptables/ip6tablesログファイルからスキャン情報を抽出するフォレンジックツールとして有用)。
  • TCP SYNパケットによるパッシブOSフィンガープリンティング。2つの異なるフィンガープリンティング戦略をサポート:iptables/ip6tablesログメッセージのみを使用するp0fの再実装(--log-tcp-optionsコマンドラインスイッチが必要)と、TOSベースの戦略。
  • TCP/UDP/ICMPスキャン特性、逆DNSおよびwhois情報、Snortルール一致、リモートOS推測情報などを含むメールアラート。
  • fwsnort およびiptablesの文字列一致拡張機能と組み合わせると、psad はアプリケーション層のバッファオーバーフロー攻撃、不審なアプリケーションコマンド、その他の疑わしいレイヤ7トラフィックに対するアラートを生成できます。
  • ICMPタイプとコードのヘッダフィールド検証。
  • 設定可能なスキャンしきい値と危険度割り当て。
  • iptablesルールセットの解析による「デフォルトドロップ」ポリシーの確認。
  • IP/ネットワーク危険度の自動割り当て(特定のネットワークに対して危険度を無視または自動的にエスカレートするために使用可能)。
  • DShieldアラート。
  • スキャン危険度に基づくiptables/ip6tablesおよび/またはtcpwrappersによるスキャンIPアドレスの自動ブロック。(この機能はデフォルトでは有効ではありません。)
  • iptables/ip6tablesログメッセージの解析と、AfterGlowへの入力として使用できるCSV出力の生成。これにより、iptables/ip6tablesログを可視化できます。Gnuplotもサポートされています。
  • 現在のスキャン情報の概要を、関連するパケットカウント、iptables/ip6tablesチェーン、危険度とともに表示するステータスモード。

悪意のあるトラフィックの可視化

psad は gnuplot および afterglow との連携を提供し、悪意のあるトラフィックのグラフを生成します。以下の2つのグラフは、Honeynet Scan30 チャレンジからのNachiワームのものです。最初は、psad によるiptablesログデータの解析後に afterglow によって生成されたリンクグラフです:

nachi-worm-link-graph "Nachiワームリンクグラフ"

2つ目は、Scan30のiptablesデータからNachiワームのトラフィックを時間別に示したものです:

nachi-worm-hourly-graph "Nachiワーム時間別グラフ"

設定情報

psadが参照する設定キーワードに関する情報は、psad(8) マニュアルページおよび以下で参照できます:

http://www.cipherdyne.org/psad/docs/config.html

方法論

psadが分析するすべての情報は、iptablesログメッセージから収集されます。psadはデフォルトで /var/log/messages ファイルから新しいiptablesメッセージを読み取り、必要に応じて専用ファイル (/var/log/psad/fwdata) に出力します。psadは、ポートスキャンが発生したかどうかを判断し、適切な警告メールを送信し、(オプションで)不正IPアドレスをブロックするために、危険度しきい値とシグネチャロジックを適用します。psadにはシグナルハンドラが含まれており、USR1シグナルを受信すると、psadは現在のスキャンハッシュデータ構造の内容を /var/log/psad/scan_hash.$$ にダンプします。ここで "$$" は実行中のpsadデーモンのPIDを表します。

注:psadは不正パケットに対する適切なログメッセージを生成するためにiptablesに依存しているため、psadの性能はiptablesルールセットに含まれるログルールの良し悪しに左右されます。したがって、ファイアウォールがパケットをログに記録するように設定されていない場合、psadはポートスキャンなどを検出しません。通常、ファイアウォールを設定する最善の方法は、ルールセットの最後にデフォルトの「ドロップアンドログ」ルールを配置し、その最後のルールの上に、許可すべきトラフィックのみを許可するルールを含めることです。psadデーモンは実行時に、このようなデフォルト拒否ルールが存在するかどうかを確認し、存在しない場合はユーザーに警告します。psadと互換性のあるファイアウォールルールセットの例については、FW_EXAMPLE_RULESファイルを参照してください。

さらに、psadの詳細な説明は、No Starch Pressから出版された書籍「Linux Firewalls: Attack Detection and Response」に含まれており、この書籍内のサポートスクリプトはpsadと互換性があります。このスクリプトは以下にあります:

http://www.cipherdyne.org/LinuxFirewalls/ch01/

インストール

Linuxディストリビューションによっては、psad がデフォルトのパッケージリポジトリですでに利用可能な場合があります。例えば、DebianまたはUbuntuシステムでは、以下の簡単なコマンドでインストールできます:

apt-get install psad

パッケージリポジトリでpsadが利用できない場合は、psadソースに同梱されている install.pl スクリプトを使用してインストールできます。install.plスクリプトは、psadがすでにインストールされている場合のアップグレードも処理します。psad は、Linuxシステムにすでにインストールされている場合といない場合があるいくつかのPerlモジュールを必要とします。これらのモジュールはpsadソースの deps/ ディレクトリに含まれており、install.plスクリプトによって自動的にインストールされます。モジュールのリストは次のとおりです:

  • Bit::Vector
  • Date::Calc
  • IPTables::ChainMgr
  • IPTables::Parse
  • NetAddr::IP
  • Storable
  • Unix::Syslog

psadには、Marco d'Itri によって書かれたwhoisクライアントも含まれています(deps/whoisディレクトリを参照)。このクライアントは、特定のIPアドレスに対して正しいwhois情報を収集する点で他のクライアントより優れています。

ファイアウォールのセットアップ

iptables設定がpsadと互換性を持つための主な要件は、iptablesがパケットをログに記録することです。これは通常、INPUTおよびFORWARDチェーンに次のようなルールを追加することで実現されます:

iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG

上記のルールは、正当なトラフィックに対するすべてのACCEPTルールの後、かつポリシーで許可しないトラフィックに対する対応するDROPルールの直前に、INPUTおよびFORWARDチェーンの最後に追加する必要があります。iptablesポリシーは、プロトコル、ネットワーク、ポート、インターフェースの制限、ユーザー定義チェーン、コネクショントラッキングルールなど、非常に複雑になる可能性があることに注意してください。ShorewallやFirewall Builderなど、iptablesポリシーを構築し、iptablesが提供する高度なフィルタリングおよびログ機能を活用するソフトウェアが多数あります。これらのソフトウェアによって構築されたポリシーは、通常、正当なトラフィックではないパケットをログに記録するようにiptablesに指示するルールを特に追加するため、psadと互換性があります。Psadは、特定のログプレフィックス(--log-prefixオプションで追加)を含むiptablesメッセージのみを分析するように設定できますが、デフォルトではpsadはすべてのiptablesログメッセージを分析し、ポートスキャン、バックドアプログラムへのプローブ、その他の不審なトラフィックの証拠を探します。

プラットフォーム

psadは通常Linuxシステムで動作し、多くの主要なLinuxディストリビューションのパッケージリポジトリで利用可能です。psadに関して動作上の問題がある場合は、github でIssueを開いてください。

ライセンス

psad は GNU General Public License (GPL v2+) の条件の下でオープンソースソフトウェアとして公開されています。最新リリースは https://github.com/mrash/psad/releases にあります。

psadは、Snortで利用可能な多くのTCP、UDP、ICMPシグネチャを利用しています(Marty Roesch 作、http://www.snort.org 参照)。SnortはSourcefire, Inc.の登録商標です。

連絡先

すべての機能リクエストとバグ修正は、github issuesトラッキングを通じて管理されています。ただし、メール(michael.rash_AT_gmail.com)またはTwitter(@michaelrash)で連絡することも可能です。

ツールをダウンロード