SNORTシグネチャー対応

SNORTは、オープンソースのネットワーク侵入検知システム(NIDS)として広く普及しています。SNORTの詳細については、snort.orgを参照してください。

チェック・ポイントは、SNORT ルール閉じた 通信セッションに対して指定されたアクションが実行されるようにする、ルールベース内のトラフィックパラメータおよびその他の条件のセット。の使用を GUI と SmartDomain Manager API の両方のオプションでサポートしています。

SNORTルールをインポートすると、そのルールはIPS閉じた さまざまなタイプのリスクについてパケットとデータを検査および分析するセキュリティゲートウェイ上のCheck Point Software Blade(侵入防止システム)。データベースの一部となります。

SNORT保護規則をSecurity Management Serverへインポート

SNORTルールファイルがあることを確認してください。SNORTのルールを保持するもので、通常、.rules という拡張子を持っています。

マルチドメインセキュリティ管理環境では、SNORTルールをセキュリティ管理サーバにインポートしてください。次に、ドメイン管理サーバにグローバルポリシーを割り当てます。これにより、新しいSNORT保護機能がDomain管理サーバにダウンロードされます。

特定のSNORTプロテクションのプロファイル設定を上書きするには、「SNORTSNORT保護規定への対応アクション」を参照してください。

Security Management ServerからSNORT保護規則を削除する。

SNORT保護規則をマルチドメインサーバにインポートする

SNORTルールファイルがあることを確認してください。SNORTのルールを保持するもので、通常、.rules という拡張子を持っています。

マルチドメインセキュリティ管理環境では、マルチドメインサーバにSNORTルールをインポートしてください。次に、ドメイン管理サーバにグローバルポリシーを割り当てます。これにより、新しいSNORT保護機能がDomain管理サーバにダウンロードされます。

特定のSNORT保護に対するプロファイル設定を上書きするには、「SNORT保護規定への対応」)を参照してください。

マルチドメインサーバからSNORT保護規則を削除する

SNORT保護規定への対応

Security Gateway は、Security Gateway にインストールされているプロファイルに基づいて SNORT の保護ルールを適用する。たとえば、Security GatewayにインストールされているプロファイルがOptimized の場合、デフォルトではSNORT保護ルールは適用されません。これは、そのパフォーマンス影響がHigh であり、Optimized プロファイルに定義されている許容パフォーマンス影響がMedium またはそれ以下であることが理由です。

SNORT保護ルールの追加と削除の代替方法

SNORT保護ルールの追加と削除は、管理サーバ上でこれらの代替方法を使用します。

SNORTルールの追加

該当するコマンドは、2つの引数を受け取ります。

  • package-format "は、常に "snort "という文字列を取ります。

  • 「パッケージパス: プロテクションのパッケージへのパスを指定します。

コマンドが返される。

成功した場合。

0

失敗時。

1 と、失敗時のエラーを記述するいくつかのパラメータを含む

サーバから返送される。

成功した場合。

ステータスコード 200

失敗時。

適切なステータスコード

SNORT プロテクションの削除

このコマンドは1つの引数 "package-format "を受け取り、常に "snort "という文字列値を取ります。

コマンドが返される。

成功した場合。

0

失敗時。

1 と、失敗時のエラーを記述するいくつかのパラメータを含む

リクエストヘッダには、Content-Typeapplication/json を、X-chkp-sid にはログインリクエストで返された一意のセッション識別子を設定します。引数package-format は、リクエストボディで送信する必要があります。

サーバから返送される。

成功した場合。

ステータスコード 200

失敗時。

適切なステータスコード

SNORTルールファイルの作成

SNORT ルールを独自に作成し、それをチェック・ポイントの管理サーバにインポートすることで、IPS の保護機能として利用することができます。

SNORTの詳細については、snort.orgを参照してください。

Check Pointは、SNORT2.9バージョン以下をサポートしています。

SNORTのルールは、シグネチャを使用して攻撃を定義します。SNORT規則は、規則ヘッダと規則オプションから構成される。

インポートされたSNORT保護の名前は、元のSNORTルールのmsg フィールドの値です。

  • 1つのSNORTルールに同じ値を持つ複数のメッセージ文字列がある場合、管理サーバはこれらの値を1つのIPS SNORT保護に集約します。

  • SNORTルールを異なる時期にインポートし、同じmsg 文字列を持つ場合、最新のインポートが既存のIPS SNORT保護機能を上書きします。

SNORTルールの構文

<Action> <Protocol> <Source IP Address> <Source Port> <Direction> <Destination IP Address> <Destination Port> (msg:"<Text>"; <Keyword>:"<Option>";)

SNORTのルールは、2つの論理的な部分を持っています。ルールヘッダーとルールオプション。

  • SNORTルールヘッダ。

    <Action> <Protocol> <Address> <Port> <Direction> <Address> <Port>

  • SNORTルールオプション。

    <keyword>:"<option>"

例:

alert tcp any any -> any 1:65535 (msg:"Possible exploit"; content:"|90|";)

各変数の意味は以下のとおりです。

  • アクション = alert

  • プロトコル = TCP

  • ソース IP アドレス = any

  • 送信元ポート = any

  • 方向 = ->

  • 宛先IPアドレス = any

  • デスティネーションポート(範囲)=1:65535

  • IPSにおける保護ルールの名称 = Possible exploit

  • キーワード = content

  • オプション = |90|

対応するSNORT構文

これらは、一般的にサポートされている構文コンポーネントです。いくつかの制限事項があります(「サポートされていないSNORT構文構文」参照)。

  • 対応するコンテンツキーワード修飾子: "nocase", "rawbytes", "depth", "offset:", "distance:", "within", "urilen".

  • サポートされるしきい値ルールの種類 - しきい値、両方(Limitはサポートされていません。)

  • 対応マクロ - HTTP_PORTS (80, 8080 ポートと解釈されます)

:同じflowbitsフラグを持つSNORTルールは、msgフィールドの内容が同じであることを確認してください。そうでなければ、同じように保護されることはないでしょう。

デバッグを行う。

管理サーバ上の$FWDIR/log/SnortConvertor.elg ファイルには、SNORTルールの最後のSnortConvertor実行インポートからのデバッグ メッセージが更新されています。

このファイルで失敗したルールのデバッグを見つけるには、次のように検索します。 Failed to convert rule

サポートされていないSNORT構文

これらのキーワードと修飾語の組み合わせは、IPSブレードではSNORT保護ルールとして、SNORTルールとは異なる形で実装されます。

ベストプラクティス- 本番環境でアクティブ化する前にテストしてください。

  • depth またはoffset のコンテンツ、または PCRE の ^ (carrot) を、http コンテンツなしで、宛先ポートがHTTP_PORTS マクロでない場合に使用します。

  • http_client_body 内容または "P" PCRE修飾子

  • PCREキーワードに{} (中括弧)量化子をつけたもの。

  • コンテンツキーワードとbyte_test キーワードの両方を使用する

  • http_header content modifiers または "H" PCRE modifiers は生の http データにのみ適用されます (デコードおよび正規化されたヘッダデータではありません)。

  • http_uri および "U" PCRE修飾子のみを持つSNORT規則、またはhttp_raw_uri コンテンツ修飾子およびI PCRE修飾子を持つSNORT規則を除き、urilen キーワードを使用すること。

    • SNORT規則がhttp_uri コンテンツまたは"U" PCRE修飾子のみを持つ場合、サイズはデコードされ正規化されたバッファのサイズとなる。

    • SNORT Ruleがhttp_raw_uri のコンテンツまたは "I" PCRE修飾子のみを持つ場合、サイズは生のURIバッファのサイズになります。

SSLサービス

チェック・ポイントは、従来のメタデータ・サービス・オプションに加えて、SSL トラフィックに特化した追加キーワードをサポートしています。

SSLトラフィックのSNORTルールは、metadataキーワードを使用して定義することができます。

Snort rule オプションで追加します。

metadata: service <ssl service>;

alert tcp any any -> any 443 (msg: "Fake SSL Certificate"; content:"|08 e4 98 72 49 bc 45 07 48 a4 a7 81 33 cb f0 41 a3 51 00 33|"; metadata: service sslHello;)

<ssl サービス用オプション>

サービス

説明

sslHello

sslHelloサービスは、フローに応じてClient HelloまたはSever Helloを検索します。

sslCertificate

sslCertificateサービスは、フローに応じて、Client CertificateまたはSever Certificateを検索します。

sslKeyx

sslKeyx サービスは、フローに応じて Client Key Exchange または Sever Key Exchange を検索します。

sslHeartbeat

sslHeartbeatは、SSLハートビートを検索します。

sslCiphersuite

sslCiphersuiteは、クライアントから送信されたCipher Suiteを検索します。

sslHello,sslCertificate,sslKeyx のサービスを利用する場合、フロー方向を "flow: to_server" または "flow: from_server" のどちらかに定義する必要があります。

:これらのサービスおよびコンテンツ修飾子はチェック・ポイント独自のものであり、他の SNORT エンジンではサポートされていません。