DNS オープンリゾルバを検知したい

アプリケーション異常で検知可能です。

Webの システム管理 > ネットワーク > 異常状態 > [tab]アプリケーション異常 にて新規設定を追加します。
攻撃タイプを”ワーム”にしてください。
ベースラインが閾値になります。この例だとDNSクエリの応答パケット(送信元ポート udp/53)が 500pps を超えると検知します。値は調整してください。

openresolverconf

検知スコープが”ホーム”の場合、発信元がホームネットワークに該当する場合に検知対象となります。
(ホームネットワークは システム管理 > ネットワーク > ホームネットワーク で設定します)

openresolverconf2

設定後、ディスパッチを行います。
(システム管理 > 構成 にて実施)

閾値をこえるDNSクエリへの応答パケットが発生した場合、このように検知します。
(画面例はテストのため閾値を低くしています)

resolver

anomaly-resolver1

特定のセグメントについてホスト毎やAS毎にトラヒック分類したい

特定のセグメントのなかに大量の通信を行っているホストやASを継続して可視化したいという場合は、サブネットワークを利用すると便利です。

ホスト毎であればトップトーカーを使うと便利です。
AS毎であればOrigin ASNレポートが便利です。

下記スライドの”SUB-NETWORK TRAFFIC ANALYSIS”を参考にしてください。

ISPが使うと便利なAS分析の設定について

運用で便利なAS分析レポートの例です。
末尾のスライドにレポート画面例とその設定例があります。

  1. オリジンAS毎のトラヒック分類
    • 自網全体のトラヒックについてのAS分析ができます。
  2. ピアAS毎のトラヒック分類
    • ピアAS毎のトラヒック量が見えます。各ピアの評価に便利です。
  3. ピアリング評価のためのピアリング分析
    • 各ピアにおいて、通過(トランジット)しているトラヒックとピア先と直接交換しているトラヒックの割合について見えます。トランジットの評価に便利です。
  4. ネイバー毎のオリジンAS分析
    • 2.はネイバー毎のトラヒック総量をグラフ化しますが、こちらはその各ネイバーについてのオリジンASのトラヒック分類を行います。特定ASのトラヒックを異なるトランジット先に移動させたい等の計画に便利です。
  5. ASパス毎のトラヒック分類
    • 大きなトラヒックのうち、ASパスが長いものを抽出できます。ピアリングの見直しに役立ちます。

 

 

異常トラフィック検出機能 – トラフィック異常

GenieATMが持つ3種類の異常トラフィック検出機能のうち,トラフィック異常についてご説明します。

トラフィック異常検出機能は,規定されたネットワークリソース内のトラフィック総量を監視し,あらかじめ設定された範囲を外れたことを検出・通知します。

以下のような特徴があります。

  • サブネットワーク,フィルタ,ルータ・インターフェースのトラフィックを監視対象とすることができます。
  • bpsベースとppsベースの閾値が設定できます。(両方設定した場合はそれぞれが独立に判定されます)また,ルータ・インターフェースの監視では,回線使用率やCRCエラー数なども閾値として使用できます。
  • 閾値として上限値だけでなく下限値も指定することができます。
  • 上り・下りのトラフィックに対して異なる閾値を設定することができます。
  • すべてのトラフィックを監視対象とするため,シグニチャの概念はありません。ただし,閾値の組み合わせをテンプレートとして管理することができます。
  • 毎時0分,5分,10分...からの5分間の平均トラフィック量が閾値を上回る(下回る)と検出されます。
  • 検出時に自動的にミチゲーションを発動することはできません。
  • 過去の一定期間のトラフィック量をもとに動的に上限閾値を決定することができます。

関連トピック

3種類の異常トラフィック検出機能の比較

異常トラフィック検出機能 – プロトコル不正使用

GenieATMが持つ3種類の異常トラフィック検出機能のうち,プロトコル不正使用についてご説明します。

プロトコル不正使用検出機能は,その名の通り,主にL2,L3プロトコルレベルでの異常トラフィックを検出する機能です。特定のIPアドレス宛てのトラフィックでシグニチャに一致するものが閾値を超えると異常を検出します。また,検出をミチゲーション発動のトリガーとすることができます。

シグニチャは以下の10種類が用意されており,ユーザが追加,変更することはできません。

シグニチャ名 検出条件
TCP SYN Flooding SYNフラグがセットされたTCPトラフィック
IP Protocol Null プロトコル番号が0のIPパケットのトラフィック
TCP Flag Null or Misuse TCPフラグがゼロまたはありえない組み合わせのTCPパケットのトラフィック
TCP Fragment フラグメントされたTCPパケットのトラフィック
UDP Fragment フラグメントされたUDPパケットのトラフィック
ICMP Misuse ICMPトラフィック
Land Attack Land攻撃トラフィック(送信元と送信先IPアドレスが同じSYNフラグがセットされたTCPパケット)
TCP RST Flooding RSTフラグがセットされたTCPトラフィック
UDP Flooding UDPトラフィック
Host Total Traffic 中身に関わらずすべてのトラフィック

異常判定は30秒ごとのトラフィックについて行い,30秒平均が2回連続で閾値を上回ると異常トラフィックと判定します。(バージョン5.6.3までは1分平均のトラフィックが2回連続で閾値を上回ることが検出条件です)

ホームネットワーク,非ホームネットワークそれぞれについて閾値を設定できるほか,各サブネットワークに個別の設定を行うことも可能です。また,bpsとppsの2種類指定でき,両方指定した場合はどちらかを超えた場合に検出となります。

関連トピック

3種類の異常トラフィック検出機能の比較

3種類の異常トラフィック検出機能の比較

GenieATMには以下の3種類の異常トラフィック検出機能があります。

それぞれの特徴は以下の表の通りです。

種類 検出ベース シグニチャ シグニチャ
追加
ミチゲーション
起動
検出
時間
プロトコル
不正使用
送信先IPアドレス DDoS攻撃検出を想定

  • 総トラフィック
  • UDPやICMPなどの個別プロトコル
  • 特定のTCPフラグを持つパケット
不可 自動・手動 1分*
アプリケー
ション異常
送信元IPアドレス
送信先IPアドレス
DDoS攻撃・Worm検出を想定

  • パケット長
  • プロトコル
  • プレフィックス
  • ポート番号

など

可能 自動・手動 1分*
トラフィック
異常
ネットワーク単位 閾値定義のみ 不可 なし 5分

* バージョン5.6.3までは2分

プロトコル不正使用はL3/L4レベルの異常トラフィックの検知を,アプリケーション異常は特定のL7アプリケーションプロトコルにおける異常パケットを検知できるようにデザインされています。しかし,ともに個別IPアドレスに関するトラフィックを監視対象とし,ミチゲーションの自動発動の契機とすることができるなど共通点も多いため,用途に応じて使い分けてください。アプリケーション異常は,送信元IPアドレスベースでの異常トラフィック検出が可能である点と,新たなシグニチャをユーザが定義することができる点が最大の特徴です。一方,プロトコル不正使用には,サブネットワークごとに独自の閾値が設定可能なほか,Land攻撃(送信元と送信先のIPアドレスが同じである不正パケット)の検出のように,アプリケーション異常のシグニチャでは定義できないものも含まれています。

一方,トラフィック異常は,ネットワークリソースの総トラフィック量がネットワーク帯域などに比較して適切であるかを監視するために使用されます。ネットワークリソースとしては,サブネットワーク,フィルタ,ルータ・インターフェースが指定できます。

それぞれの異常トラフィック検出機能の詳細については,個別の項目をご覧ください。

関連トピック

異常トラフィック検出機能 – プロトコル不正使用
異常トラフィック検出機能 – アプリケーション異常
異常トラフィック検出機能 – トラフィック異常

スコープとは

スナップショットの条件設定やフィルター定義において,スコープという概念が出てきます。
これは,スナップショットの基準やフィルタ定義の表記とともに分析対象トラフィックを絞り込む条件を指定するために使用されます。

種別 パラメータ 対象 備考
ANY (なし) 全てのトラフィック
ANY (VPNサブネットワークを除く) (なし) プライベートネットワークにより定義されたサブネットワークのトラフィック以外すべて スナップショットのみ
ANY (Non-ACL-based sFlowフラグ) (なし) ACL-based sFlow*を除くすべてのトラフィック
ホーム (なし) インターネット境界を通過し,かつホームネットワークが送信元または送信先であるトラフィック
隣接ネットワーク 隣接ネットワーク名 ASパスに解決したときに隣接ネットワークが指定したASであるトラフィック
サブネットワーク サブネットワーク名 指定サブネットワークのトラフィック
フィルタ フィルタ名 フィルタにより絞り込まれたトラフィック スナップショットのみ
サーバファーム サーバ名 指定サーバのトラフィック
境界 定義済みネットワーク境界 指定した境界を通過するトラフィック フィルタのみ
ACL-based sFlow (なし) ACL-based sFlow*のみ

*ACL-based sFlow: 事前定義したACLにマッチするトラフィックのみを対象として出力されるsFlow。量は少ないが重要なトラフィックが,サンプリングにより落とされるのを防ぐことができる。

関連トピック

ネットワーク境界とは

disk mount db
disk mount raw
disk mount anomaly_raw

DB,Rawdataファイル,異常Rawdataファイルを配置するためのディスクストレージをマウントします。

書式

[no] disk mount db {internal <device-id> | external <device-id> | nfs <nfs-server-ip> <exported-directory> <nfs-version> [tcp]}
[no] disk mount { raw | anomaly_raw } { internal <device-id> | nfs <nfs-server-ip> <exported-directory> <nfs-version> [tcp]}

パラメータ

キーワード 説明
<device-id> ストレージ名(sda,hdb,vg00/lv00など)
<nfs-server-ip> NFSサーバのIPv4アドレス
<exported-directory> NFSサーバ上のマウントされるディレクトリ。256文字以内で指定してください。
<nfs-version> NFSバージョン。2,3,4が指定可能
tcp TCPを使用してNFS接続を行います。指定しなければUDPが使用されます。

デフォルト設定

なし

コマンドモード

Global Configuration Mode

説明

  • disk mountコマンドが実行されると,指定したストレージまたはNFSサーバ上のディレクトリがGenieATMにマウントされます。disk mount rawコマンド,disk mount anomaly_rawコマンドの場合,日ごとのrawdataファイル格納用の001~366のディレクトリが作成されます。オーナーはユーザーID,グループIDともにrootです。
  • 同じデータタイプに対して異なるストレージタイプを指定して複数のdisk mountコマンドを発行することができます。例えば,disk mount db internalコマンドとdisk mount db nfsコマンドは同時に設定可能です。
  • 設定を削除するにはno disk mountコマンドを実行します。
  • 現在の設定はshow runningコマンドまたはshow disk mountコマンドで確認できます。

注意事項

  • ストレージタイプexternal(SAS接続の外部ディスク)が指定できるのはDBに対してのみです。
  • disk mountコマンドを実行しただけで,データの保存先が切り替わるわけではありません。あくまでも,選択可能なストレージが準備されるだけです。データの保存先を切り替えるには,db userawdata userawdata anomaly useコマンドを実行する必要があります。ディスク関連コマンドの流れは下図を参照してください。
  • ディスク関連CLIコマンド
    * db initコマンドは,既存のDBを初期化します。構成・レポートデータ等を引き継ぐ場合は実行しないでください。

  • no disk mountコマンドは,db useコマンド,rawdata useコマンド,rawdata anomaly useコマンドによって当該ストレージが使用中の場合は実行できません。
  • ストレージとしてNFSを使用する場合はNFS使用時の注意点もご参照下さい。

実行例

(config)# disk mount db nfs 192.168.0.101 /export/genie/testdb02 3 tcp
Operation succeeded
(config)# disk mount anomaly_raw internal sdb5
(config)# disk mount raw nfs 192.168.0.100 /export/testraw 3
(config)# show running
#### show running configure ####
!
(中略)
  disk mount raw internal sdb4
  disk mount raw nfs 192.168.0.100 /export/testraw 3
  rawdata use internal
  rawdata format general
  rawdata on
  disk mount anomaly_raw internal sdb5
  disk mount db internal sdb3
  disk mount db nfs 192.168.0.101 /export/genie/testdb02 3 tcp
  db use internal
!
(中略)
!
(config)# exit
# show disk mount
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 7.9G     0  7.9G   0% /lib/init/rw
proc                     0     0     0   -  /proc
sysfs                    0     0     0   -  /sys
udev                   10M   88K   10M   1% /dev
tmpfs                 7.9G     0  7.9G   0% /dev/shm
devpts                   0     0     0   -  /dev/pts
rootfs                   0     0     0   -  /
/dev/sda2             103M  5.8M   97M   6% /home/genie/config
tmpfs                  16M   24K   16M   1% /tmp
/dev/sdb2              15G   89M   15G   1% /var/log
tmpfs                 256M     0  256M   0% /download
/dev/sdb4             9.4G  575M  8.8G   7% /home/genie/rawdata_internal
/dev/sdb3              94G  170M   93G   1% /var/lib/postgres
192.168.0.101:/export/genie/testdb02
                       29G  3.8G   24G  15% /home/genie/atm_data_nfs
/dev/sdb5             3.8G   33M  3.7G   1% /home/genie/anomaly_rawdata_internal
192.168.0.100:/export/testraw
                      194G    0G  194G   0% /home/genie/rawdata_nfs
#