概要
Defense Center での検査対象からホストまたはネットワークを除外するには、Berkeley パケット フィルタ(BPF)を使用できます。Snort では、Snort_BPF 変数を使用して、侵入ポリシーの適用対象からトラフィックを除外します。このドキュメントでは、さまざまなシナリオで Snort_BPF 変数を使用する方法を説明します。
ヒント:検査するトラフィックと検査しないトラフィックを判別するには、侵入ポリシーのBPFではなく、アクセスコントロールポリシーの信頼ルールを使用することを強く推奨します。ソフトウェア バージョン 5.2 では Snort_BPF 変数を使用できますが、ソフトウェア バージョン 5.3 以降では、この変数は非推奨となっています。
前提条件
要件
Defense Center、侵入ポリシー、Berkeley パケット フィルタ、Snort ルールに関する知識があることを推奨します。
使用するコンポーネント
このドキュメントの情報は、次のハードウェアとソフトウェアのバージョンに基づいています。
- Defense Center
- ソフトウェア バージョン 5.2
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
設定手順
Snort_BPF 変数を設定するには、次の手順に従います。
- Defense Center の Web ユーザ インターフェイスにアクセスします。
- [Policies] > [Intrusion] > [Intrusion Policy] に移動します。
- 鉛筆アイコンをクリックし、侵入ポリシーを編集します。
- クリックして 変数 左側のメニューから選択します
- 変数を設定したら、変更を保存します。変更を適用するには、侵入ポリシーを再適用する必要があります。
図:Snort_BPF変数設定ページのスクリーンショット
設定例
参考のために、以下に基本的な例を記載します。
シナリオ1:脆弱性スキャナとの間のすべてのトラフィックを無視する
- 脆弱性スキャナは IP アドレス 10.1.1.1 にあります。
- スキャナとの間で送受信されるすべてのトラフィックを無視します。
- トラフィックに 802.1q(VLAN)タグが付いているかどうかは問いません。
SNORT_BPF の設定は次のとおりです。
not host 10.1.1.1 and not (vlan and host 10.1.1.1)
比較:トラフィックはVLANタグ付けされていませんが、ポイント1と2がtrueのままであると、次のようになります。
not host 10.1.1.1
つまり、この設定では、エンドポイントのいずれかが 10.1.1.1(スキャナ)となっているトラフィックが無視されます。
シナリオ 2: 2 つの脆弱性スキャナとの間で送受信されるすべてのトラフィックを無視する
- 脆弱性スキャナは IP アドレス 10.1.1.1 にあります。
- 2 つ目の脆弱性スキャナは IP アドレス 10.2.1.1 にあります。
- スキャナとの間で送受信されるすべてのトラフィックを無視します。
- トラフィックに 802.11(VLAN)タグが付いているかどうかは問いません。
SNORT_BPF の設定は次のとおりです。
not (host 10.1.1.1 or host 10.2.1.1) and not (vlan and (host 10.1.1.1 or host 10.2.1.1))
比較:トラフィックはVLANタグ付けされていませんが、ポイント1と2はtrueのままになります。
not (host 10.1.1.1 or host 10.2.1.1)
つまり、この設定では、エンドポイントのいずれかが 10.1.1.1 または 10.2.1.1 となっているトラフィックが無視されます。
注:VLANタグは、ほぼすべての場合、特定のBPFで1回だけ発生する必要があることに注意してください。2 回以上出現するのは、ネットワークが入れ子構造の VLAN タギング(「QinQ」と呼ばれることもあります)を使用している場合のみです。
シナリオ 3: 2 つの脆弱性スキャナとの間で送受信される VLAN タグ付きトラフィックを無視する
- 脆弱性スキャナは IP アドレス 10.1.1.1 にあります。
- 2 つ目の脆弱性スキャナは IP アドレス 10.2.1.1 にあります。
- スキャナとの間で送受信されるすべてのトラフィックを無視します。
- トラフィックには 802.11(VLAN)タグが付いています。VLAN 101 では特定の(VLAN)タグが使用されるようにします。
SNORT_BPF の設定は次のとおりです。
not (host 10.1.1.1 or host 10.2.1.1) and not (vlan 101 and (10.1.1.1 or host 10.2.1.1))
シナリオ4:バックアップサーバからのトラフィックを無視する
- ネットワーク バックアップ サーバは IP アドレス 10.1.1.1 にあります。
- ネットワーク上のコンピュータは、ポート 8080 でこのサーバに接続して夜間バックアップを実行します。
- 暗号化されて膨大な量になるこのバックアップ トラフィックを無視します。
SNORT_BPF の設定は次のとおりです。
not (dst host 10.1.1.1 and dst port 8080) and not (vlan and (dst host 10.1.1.1
and dst port 8080))
比較:トラフィックはVLANタグ付けされていませんが、ポイント1と2はtrueのままになります。
not (dst host 10.1.1.1 and dst port 8080)
つまり、この設定では、ポート 8080(リスニング ポート)上の 10.1.1.1(架空のバックアップ サーバ)へのトラフィックは IPS 検出エンジンで検査されません。
host の代わりに net を使用して、単一のホストではなくネットワーク ブロックを指定することもできます。 例:
not net 10.1.1.0/24
一般に、BPFはできるだけ限定的にすることをお勧めします。エクスプロイトの試みを含んでいる可能性がある無関係のトラフィックは除外しないで、除外する必要があるトラフィックはインスペクションから除外します。
シナリオ5:個々のホストではなくネットワーク範囲を使用する場合
BPF 変数にホストではなくネットワーク範囲を指定することで、この変数の長さを短くすることができます。その場合は、host の代わりに net キーワードを使用して CIDR の範囲を指定します。次に例を示します。
not (dst net 10.8.0.0/16 and dst port 8080) and not (vlan and (dst net 10.8.0.0/16
and dst port 8080))
注:ネットワークアドレスは、CIDR表記と、CIDRブロックアドレススペース内の使用可能なアドレスを使用して入力してください。たとえば、net 10.8.2.16/16 ではなく net 10.8.0.0/16 を使用します。
「 SNORT_BPF 変数は、特定のトラフィックがIPS検出エンジンによって検査されないようにするために使用されます。多くの場合、パフォーマンス上の理由から使用されます。この変数は、標準の Berkeley パケット フィルタ(BPF)形式を使用します。トラフィックが SNORT_BPF 変数は検査されますが、トラフィックは SNORT_BPF 変数はIPS検出エンジンによって検査されません。