カテゴリー別アーカイブ: GenieATM

WannaCry攻撃の監視・警告

2017年5月、WannaCryは脅威的な感染スピードで200カ国以上のコンピュータが150カ国に感染しました。(5月18日現在)
WannaCryは米国国家安全保障局(NSA)によって開発され、ユーザーシステムに浸透している「EternalBlue」と呼ばれるMicrosoft Server Message Block 1.0 (SMBv1) の脆弱性を標的にしています。

本稿では、GenieATMが 世界的に最大規模のサービスプロバイダーでWannaCry攻撃を効果的に監視し、警告するのを支援した事例を紹介いたします。

WannaCryのネットワーク特性

WannaCryは、SMBの脆弱性を悪用してRPC攻撃を行うランサムウェアです。

通常、ランサムウェアはWindows NetBIOSの名前解決とSMBが使用するポート(※1)を攻撃します。

WannaCryは、脆弱なポートへの接続が成功するとシステムへの感染と暗号化を進めます。
さらに、サブネットワーク(/24)をスキャンし、他の脆弱なシステムを探します。

そのため、WannaCryが感染活動をしている間、ネットワーク上でこれらのポートへの大量なトラフィックが確認されます。

※1:135/tcp, 137/tcp, 139/tcp, 455/tcp, 137/udp, 138/udp

GenieATMの監視と警告

GenieATMは、リアルタイムなトラフィック分析とセキュリティ保護を提供するように設計されたフローベースのトラフィック分析ソリューションです。

このシステムには、リアルタイムのプロファイラが搭載されており、トラフィックの動作を分析します。
疑わしいトラフィックが検出されると、GenieATMは組み込みシグネチャと異常データベースを相互に照合し、タイムリーにネットワークオペレータに警告します。

GenieATMは、標準のままでネットワークインフラストラクチャ全体からWannaCryのような攻撃トラフィックを監視できます。

さらにGenieATMは、通常のトラフィックレートから逸脱したSMBトラフィックを詳細に監視・警告することもできます。
GenieATMはWannaCryの感染活動によるトラフィックについて完全な属性レポート(※2)を提供し、ユーザーに攻撃の拡散に関する洞察を提供します。
これにより、WannaCry攻撃を正しく防御することが可能になります。

※2:属性レポート

WannaCryが攻撃するポートに関して
・プロトコル
・送信元/先IPアドレス
・送信元/先ポート
・送信元/先インターフェス
などを組み合わせて任意のレポートが可能です。
これにより攻撃トラフィックの多いポートや攻撃・被害ホストを容易に把握することができます。

世界的に最大規模のサービスプロバイダーでは

GenieATMを使用していたため、WannaCryの活動がはじまったとき、WannaCryのネットワーク特性の通信ポート上のトラフィック異常を検知していました。
これらサービスプロバイダでは、WannaCryがネットワーク上でピークに達していた頃には、TCPポート445のトラフィックは、通常のトラフィックレートの3倍~4倍にまで増加していました。

WannaCry攻撃を詳細に監視するためにGenieATMで属性レポートを使用し、攻撃・被害ホストの特定および警告を行うように構成しました。
これにより、WannaCry攻撃は政府機関、大学、データーセンター、データセンターネットワークソリューション(DCN)など多岐に渡っていることが確認されました。
また、攻撃・被害ホストの特定により攻撃を正しく防御できました。

WannaCry攻撃を詳細に監視するための属性レポートの設定例

前述のサービスプロバイダーがWannaCry攻撃を監視したときに使用した属性レポートの設定方法を以下に記載します。

1.アプリケーションシグネチャの追加

[ システム管理 > ネットワーク > アプリケーション ]にて”アプリケーションの追加”を行う。

WannaCryが攻撃に使用するポートを登録する。(例では135番, 137番, 138番, 139番, 455番をUDP/TCPともに登録している)

2. 属性レポートを作成する

[ システム管理 > ネットワーク > フィルタ ]の”フィルタ”タブから”追加”する。

例では、ホームネットワークからインターネットに出ていくWannaCryの攻撃(※3)について

  • 送信元IPv4→送信先IPv4・送信先プロトコル/ポート
  • 送信先IPアドレス・出力インターフェース

の属性レポートを生成する。

GenieATMでは新しく定義した属性レポートを過去(※4)に遡ってレポート作成する”レポート再構成”機能があります。

”レポート再構成”により新しい観点(属性)や条件(ファクタ)で事象(WannaCryアウトブレーク時など)を解析しなおすことが可能です。

※3: ホームネットワークからインターネットに出ていくWannaCryの攻撃は、

  • 「スコープ: 境界 “Internet Boundary”」にて境界I/F
  • “表記(ファクタ)”
    • 「Src. IP=HOME」にてホーム→インターネット
    • 「Dst. App.=WannaCry.attack」にてWannaCryが攻撃するポート
      • 1.で定義したアプリケーションシグネチャ

を特定している。

※4: データを保持している期間分はレポートの再構成が可能

詳しくは レポート再構成時のRawdata存在判定 を参照

まとめ

今回のWannaCryの攻撃からGenieATMがお客様のネットワークインフラストラクチャを保護できたことからも、WannaCryのような破壊的な危機に備えて、常にネットワークの監視を行うことは非常に重要です。

tcpdump

GenieATMのネットワーク・インターフェースが送受信しているパケットをキャプチャします。

書式

tcpdump
[-A | -x | -X] [-c <packet count>] [-i <interface>] [-n] [-v | -vv | -vvv] <expr>

主な追加パラメータ

キーワード 説明
-A | -x | -X -A: アスキー文字として表示
-x: 16進数で表示
-X: 16進数とアスキー文字で表示
(指定なし): パケットの概要のみ表示
-c <count> 受信するパケット数を指定。省略するとCtrl+Cで停止されるまで継続
-i <interface> パケットキャプチャの対象インターフェースを指定。省略するとeth0
-n IPアドレスやポート番号を名前に解決せず,数値のまま表示。
-v | -vv | -vvv -v: パケットの詳細を表示
-vv: さらに詳細を表示
-vvv: もっと詳細を表示
<expr> キャプチャするパケットの条件

構造

<expr> := {<expr> and <expr> | <expr> or <expr> | not <expr>
| \(<expr>\)}
※ 括弧以外,条件の評価は単純に左から右に行わる。したがって,A and B or C and Dは(((A and B) or C) and D)と評価される。

表記

<expr> := {{src | dst | [src | dst] host} <ip address>
| [src | dst] net <ip prefix>
| [tcp | udp] [src | dst] port <port no>
| ip | ipv6 | arp | icmp | icmp6 | tcp | udp}
※ すべてのパラメータを確認するにはtcpdump 4.1.1のドキュメントを参照してください。
※ 明示的にsrcdstを指定しない場合,送信元,送信先のいずれかが条件に一致すれば表示される。

デフォルト設定

なし

コマンドモード

Debug Mode

説明

  • GenieATMが送受信したパケットのうちパラメータで指定した条件に一致するものを指定したフォーマットで表示またはファイル出力します。
  • パラメータはtcpdumpコマンドを入力した後
    Please input tcpdump parameters and press return

    が表示されてから入力します。

  • パラメータで受信件数を指定した場合は,その件数を表示すると終了します。それ以外の場合はCtrl+Cで停止するまで表示し続けます。

注意事項

  • 内部的にはtcpdumpのバージョン4.1.1が動作します。新しいバージョンのtcpdumpとは動作が異なる可能性があります。
  • tcpdumpコマンドは,GenieATMのfirewallによってブロックされている受信パケットも表示します。GenieATMが応答していない場合などはaccess groupコマンドやfirewall enableコマンドの設定も確認してください。

実行例

# debugmode
(debug)# tcpdump
Please input tcpdump parameters and press return
-c 30 port 179 or host 172.16.2.10
Do you want to add "more" command behind the tcpdump
parameters to prevent terminal session crashed?(Y/N) n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:42:52.441112 IP 172.16.2.10.29239 > DEMO-GenieATM6000.9996: UDP, length 1464
16:42:52.720919 IP 172.16.2.10.49459 > DEMO-GenieATM6000.9996: UDP, length 1464
16:42:52.780928 IP 172.16.2.10.35397 > DEMO-GenieATM6000.9996: UDP, length 1464
16:42:52.920193 IP 172.16.2.92.34218 > 172.16.3.100.bgp: Flags [S], seq 3848185622, win 29200, options [mss 1460,sackOK,TS val 205468085 ecr 0,nop,wscale 8], length 0
16:42:52.950870 IP 172.16.2.10.43922 > DEMO-GenieATM6000.9996: UDP, length 1464
   :
 (中略)
   :
16:42:54.273145 IP 172.16.2.10.15727 > DEMO-GenieATM6000.9996: UDP, length 1428
16:42:54.276194 IP DEMO-GenieATM6000.38931 > 172.16.3.95.bgp: Flags [S], seq 1349508613, win 29200, options [mss 1460,sackOK,TS val 205468424 ecr 0,nop,wscale 8], length 0
16:42:54.445617 IP 172.16.2.10.45356 > DEMO-GenieATM6000.9996: UDP, length 1428
16:42:54.595574 IP 172.16.2.10.62498 > DEMO-GenieATM6000.9996: UDP, length 1428
16:42:54.675594 IP 172.16.2.10.43301 > DEMO-GenieATM6000.9996: UDP, length 1428
16:42:54.753158 IP 172.16.2.10.14472 > DEMO-GenieATM6000.9996: UDP, length 1428
16:42:54.773100 IP 172.16.2.10.41236 > DEMO-GenieATM6000.9996: UDP, length 1428
16:42:54.825670 IP 172.16.2.10.59150 > DEMO-GenieATM6000.9996: UDP, length 1428
30 packets captured
31 packets received by filter
0 packets dropped by kernel
(debug)# 
(debug)# tcpdump
Please input tcpdump parameters and press return
-c 1 -X port 6343
Do you want to add "more" command behind the tcpdump
parameters to prevent terminal session crashed?(Y/N) n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:46:55.083399 IP 172.16.2.224.8888 > DEMO-GenieATM6000.6343: sFlow version 4 packet not supported
        0x0000:  4500 00c4 8928 0000 4011 93a6 ac10 02e0  E....(..@.......
        0x0010:  ac10 025a 22b8 18c7 00b0 5996 0000 0004  ...Z".....Y.....
        0x0020:  0000 0001 ac10 02e0 009b a1cf 75f0 fd62  ............u..b
        0x0030:  0000 0001 0000 0001 0037 2cc6 0000 0020  .........7,.....
        0x0040:  0000 0100 372c c600 0000 0000 0000 0020  ....7,..........
        0x0050:  0000 0000 0000 0001 0000 0001 0000 0046  ...............F
        0x0060:  0000 0046 047d 7bbb becc 000c 2998 85a6  ...F.}{.....)...
        0x0070:  8100 0066 0800 4500 0034 d554 4000 4006  ...f..E..4.T@.@.
        0x0080:  08e8 ac10 020a ac10 025d 0801 0344 5009  .........]...DP.
        0x0090:  baa3 6a16 e933 8010 67e1 3acf 0000 0101  ..j..3..g.:.....
        0x00a0:  080a f5fe 7b0d 014f 9bed 0000 0000 0001  ....{..O........
        0x00b0:  0000 0001 0000 0066 0000 0000 0000 0000  .......f........
        0x00c0:  0000 0000                                ....
1 packets captured
2 packets received by filter
0 packets dropped by kernel
(debug)#

インターネット・Origin AS番号レポートデータ取得API

インターネット・Origin AS番号レポート(レポート > インターネット > 詳細レポート > Origin AS番号)のレポートデータを取得するAPIです。

ディレクトリパス

/api/report/internet/originasn

requestクエリパラメータの要素

  キー 必須   値 説明
“report_datetime” Y {“defined_by”キー値ペア, “end_time”キー値ペア}
または
{“start_time”キー値ペア, “end_time”キー値ペア}
期間
   “defined_by” “daily”
“weekly”
“monthly”
“quarterly”
“yearly”
“end_time”キー値ペアと合わせて期間を指定
“start_time”キー値ペアを指定しない場合は必須
   “start_time” YYYY-MM-DD hh:mmフォーマットの開始時刻 “end_time”キー値ペアと合わせて期間を指定
“defined_by”キー値ペアを指定しない場合は必須
   “end_time” Y YYYY-MM-DD hh:mmフォーマットの終了時刻 “defined_by”キー値ペアまたは”start_time”キー値ペアと合わせて期間を指定
“unit” Y “bps”
“pps”
計測単位を指定
“protocol” Y “ipv4”
“ipv6”
“both”
IPバージョン
“data_format” Y “graph_data”
“display_data” “yes” レポートデータ付きのレスポンスを受け取る場合に”yes”を指定します。

応答メッセージのオブジェクト要素

  キー   値 説明
“response” {“status”キー値ペア, “result”キー値ペア} クエリの応答本体
   “status” “succ”
“fail”
クエリの成功失敗
   “result” {“output_file”キー値ペア}
または
{“output_file”キー値ペア, “data”キー値ペア}
クエリ成功時の結果データ
   “output_file” ファイルロケーション 結果データファイルのロケーション
   “data” {“report”キー値ペア, “unit”キー値ペア, “aggregation_unit”キー値ペア, “datetime_start”キー値ペア, “datetime_end”キー値ペア, “ip version”キー値ペア, “data”キー値ペア} 結果データ本体(クエリで”display_data”: “yes”が指定されたときのみ)
   “err” {“msg”キー値ペア, “code”キー値ペア, “description”キー値ペア} クエリ失敗時の理由

説明

  • 指定IPバージョンまたはすべてのインターネットトラフィックについて,指定計測単位のOrigin AS番号レポートデータを取得します。
  • レスポンスメッセージにレポートデータを含める場合は“report_data”:”yes”を指定します。指定しない場合,応答で指定されたファイルをダウンロードしてデータを取得します。

注意事項

  • レポートデータの粒度は,指定した取得期間によって以下のように自動的に決まります。
    取得期間 集計データの粒度
    取得期間 ≤ 24時間 5分
    24時間 < 取得期間 ≤ 7日 30分
    7日 < 取得期間 ≤ 3か月 2時間
    3か月 < 取得期間 1日

実行例

  • リクエスト
    http://api-user:api-passwd@172.16.2.90/api/report/internet/originasn?request={"report_datetime":{"defined_by":"weekly","end_time":"2016-12-12 00:00"},"unit":"bps","protocol":"both","data_format":"graph_data","display_data":"yes"}
    
  • レスポンス
    {
      "response": {
        "status": "succ",
        "result": {
          "output_file": "/pdftmp/rpt_export_data_1482389300-d90958e7-be8c-4699-8b8e-56b3f7177936.json",
          "data": {
            "report": "Internet>Breakdown>Origin ASN",
            "unit": "bps",
            "aggregation_unit": "30 min",
            "datetime_start": "2016-12-05T00:00:00Z",
            "datetime_end": "2016-12-12T00:00:00Z",
            "ip version": "Both",
            "data": {
              "items": {
                "item1": [
                  "Internet Sum"
                ],
                "item2": [
                  "AMAZON-02"
                ],
                "item3": [
                  "APPLE-ENGINEERING"
                ],
                "item4": [
                  "FACEBOOK"
                ],
                "item5": [
                  "MICROSOFT-CORP-MSN-AS-BLOCK"
                ],
                "item6": [
                  "YAHOO-3"
                ]
              },
              "value": {
                "2016-12-05T00:00:00Z": {
                  "item1": [
                    3815844352,
                    1618906368
                  ],
                  "item2": [
                    644851328,
                    191949824
                  ],
                  "item3": [
                    529735552,
                    117155224
                  ],
        :
        :
    (途中省略)
        :
        :
                  "item2": [
                    151641152,
                    40243728
                  ],
                  "item3": [
                    143755712,
                    53387400
                  ],
                  "item4": [
                    187509600,
                    4781182
                  ],
                  "item5": [
                    53549448,
                    20225218
                  ],
                  "item6": [
                    17160072,
                    1609265.62
                  ]
                }
              }
            }
          }
        }
      }
    }
    

インターネット・サマリ・レポートデータ取得API

インターネット・サマリ・レポート(レポート > インターネット > サマリ・レポート)のレポートデータを取得するAPIです。

ディレクトリパス

/api/report/internet/summary

requestクエリパラメータの要素

  キー 必須   値 説明
“report_datetime” Y {“defined_by”キー値ペア, “end_time”キー値ペア}
または
{“start_time”キー値ペア, “end_time”キー値ペア}
期間
   “defined_by” “daily”
“weekly”
“monthly”
“quarterly”
“yearly”
“end_time”キー値ペアと合わせて期間を指定
“start_time”キー値ペアを指定しない場合は必須
   “start_time” YYYY-MM-DD hh:mmフォーマットの開始時刻 “end_time”キー値ペアと合わせて期間を指定
“defined_by”キー値ペアを指定しない場合は必須
   “end_time” Y YYYY-MM-DD hh:mmフォーマットの終了時刻 “defined_by”キー値ペアまたは”start_time”キー値ペアと合わせて期間を指定
“unit” Y “bps”
“pps”
計測単位を指定
“protocol” Y “ipv4”
“ipv6”
IPバージョン
“data_format” Y “graph_data”
“display_data” “yes” レポートデータ付きのレスポンスを受け取る場合に”yes”を指定します。

応答メッセージのオブジェクト要素

  キー   値 説明
“response” {“status”キー値ペア, “result”キー値ペア} クエリの応答本体
   “status” “succ”
“fail”
クエリの成功失敗
   “result” {“output_file”キー値ペア}
または
{“output_file”キー値ペア, “data”キー値ペア}
クエリ成功時の結果データ
   “output_file” ファイルロケーション 結果データファイルのロケーション
   “data” {“report”キー値ペア, “unit”キー値ペア, “aggregation_unit”キー値ペア, “datetime_start”キー値ペア, “datetime_end”キー値ペア, “ip version”キー値ペア, “data”キー値ペア} 結果データ本体(クエリで”display_data”: “yes”が指定されたときのみ)
   “err” {“msg”キー値ペア, “code”キー値ペア, “description”キー値ペア} クエリ失敗時の理由

説明

  • 指定IPバージョンのインターネットトラフィックについて,指定計測単位のレポートデータを取得します。
  • レスポンスメッセージにレポートデータを含める場合は“report_data”:”yes”を指定します。指定しない場合,応答で指定されたファイルをダウンロードしてデータを取得します。

注意事項

  • レポートデータの粒度は,指定した取得期間によって以下のように自動的に決まります。
    取得期間 集計データの粒度
    取得期間 ≤ 24時間 5分
    24時間 < 取得期間 ≤ 7日 30分
    7日 < 取得期間 ≤ 3か月 2時間
    3か月 < 取得期間 1日

実行例

  • リクエスト
    http://api-user:api-passwd@172.16.2.90/api/report/internet/summary?request={"report_datetime":{"defined_by":"daily","end_time":"2016-09-07 12:00"},"unit":"bps","protocol":"ipv4","data_format":"graph_data","display_data":"yes"}
    
  • レスポンス
    {
      "response": {
        "status": "succ",
        "result": {
          "output_file": "/pdftmp/rpt_export_data_1476701651-68a88ee5-0e44-41c8-b576-27ae257ab3b0.json",
          "data": {
            "report": "Internet>Summary",
            "unit": "bps",
            "aggregation_unit": "5 min",
            "datetime_start": "2016-09-06T12:00:00Z",
            "datetime_end": "2016-09-07T12:00:00Z",
            "ip version": "IPv4",
            "data": {
              "items": {
                "item1": [
                  "Into Home"
                ],
                "item2": [
                  "Out of Home"
                ],
                "item3": [
                  "Internet to Home"
                ],
                "item4": [
                  "Home to Internet"
                ],
                "item5": [
                  "Internet to Internet"
                ],
                "item6": [
                  "Home to Home"
                ]
              },
              "value": {
                "2016-09-06T12:00:00Z": {
                  "item1": [
                    1804826368
                  ],
                  "item2": [
                    605927744
                  ],
                  "item3": [
                    1723264000
                  ],
                  "item4": [
                    524365344
                  ],
                  "item5": [
                    81562400
                  ],
                  "item6": [
                    0
                  ]              
        :
        :
    (途中省略)
        :
        :
                  "item5": [
                    1532578688
                  ],
                  "item6": [
                    0
                  ]
                }
              }
            }
          }
        }
      }
    }
    

フィルタ・比較レポートデータ取得API

フィルタ・比較レポート(レポート > ルールベース・レポート > サマリ・レポート > 比較)のレポートデータを取得するAPIです。

ディレクトリパス

/api/report/filter/compare

requestクエリパラメータの要素

  キー 必須   値 説明
“report_datetime” Y {“defined_by”キー値ペア, “end_time”キー値ペア}
または
{“start_time”キー値ペア, “end_time”キー値ペア}
期間
   “defined_by” “daily”
“weekly”
“monthly”
“quarterly”
“yearly”
“end_time”キー値ペアと合わせて期間を指定
“start_time”キー値ペアを指定しない場合は必須
   “start_time” YYYY-MM-DD hh:mmフォーマットの開始時刻 “end_time”キー値ペアと合わせて期間を指定
“defined_by”キー値ペアを指定しない場合は必須
   “end_time” Y YYYY-MM-DD hh:mmフォーマットの終了時刻 “defined_by”キー値ペアまたは”start_time”キー値ペアと合わせて期間を指定
“resource_group_id” Y フィルタグループID
“unit” Y “bps”
“pps”
計測単位を指定
“data_format” Y “graph_data”
“display_data” “yes” レポートデータ付きのレスポンスを受け取る場合に”yes”を指定します。

応答メッセージのオブジェクト要素

  キー   値 説明
“response” {“status”キー値ペア, “result”キー値ペア} クエリの応答本体
   “status” “succ”
“fail”
クエリの成功失敗
   “result” {“output_file”キー値ペア}
または
{“output_file”キー値ペア, “data”キー値ペア}
クエリ成功時の結果データ
   “output_file” ファイルロケーション 結果データファイルのロケーション
   “data” {“report”キー値ペア, “filter group”キー値ペア, “unit”キー値ペア, “aggregation_unit”キー値ペア, “datetime_start”キー値ペア, “datetime_end”キー値ペア, “data”キー値ペア} 結果データ本体(クエリで”display_data”: “yes”が指定されたときのみ)
   “err” {“msg”キー値ペア, “code”キー値ペア, “description”キー値ペア} クエリ失敗時の理由

説明

  • 指定したフィルタグループに属するフィルタのトラフィックについて,指定計測単位のレポートデータを取得します。
  • “resource_group_id”キーで指定するフィルタグループIDには,GUIのフィルタグループ管理ページ(システム管理 > プリファレンス > グループ > フィルタ タブ)の当該グループのグループIDを使用します。
  • レスポンスメッセージにレポートデータを含める場合は“report_data”:”yes”を指定します。指定しない場合,応答で指定されたファイルをダウンロードしてデータを取得します。

注意事項

  • レポートデータの粒度は,指定した取得期間によって以下のように自動的に決まります。
    取得期間 集計データの粒度
    取得期間 ≤ 24時間 5分
    24時間 < 取得期間 ≤ 7日 30分
    7日 < 取得期間 ≤ 3か月 2時間
    3か月 < 取得期間 1日
  • フィルタグループIDには0(ALL Filter Groups)以外を指定してください。

実行例

  • リクエスト
    http://api-user:api-passwd@172.16.2.90/api/report/filter/compare?request={"report_datetime":{"defined_by":"daily","end_time":"2016-09-07 12:00"},"resource_group_id":105,"unit":"bps","data_format":"graph_data","display_data":"yes"}
    
  • レスポンス
    {
      "response": {
        "status": "succ",
        "result": {
          "output_file": "/pdftmp/rpt_export_data_1481520740-19b5cda6-224a-456f-bf13-fdd336f7aedb.json",
          "data": {
            "report": "Rule Based>Summary>Compare",
            "filter group": ""https_filters",
            "unit": "bps",
            "aggregation_unit": "5 min",
            "datetime_start": "2016-09-06T12:00:00Z",
            "datetime_end": "2016-09-07T12:00:00Z",
            "data": {
              "items": {
                "item1": [
                  "Total"
                ],
                "item2": [
                  "Http(s) Traffic"
                ],
                "item3": [
                  "Http(s) Traffic from SN3 (Dispathced)"
                ]
              },
              "value": {
                "2016-09-06T12:00:00Z": {
                  "item1": [
                    1672978176,
                    4039119872
                  ],
                  "item2": [
                    1543717376,
                    4039119872
                  ],
                  "item3": [
                    129260800,
                    0
                  ]
                },
                "2016-09-06T12:05:00Z": {
                  "item1": [
                    1688757248,
                    4108266752
                  ],
                  "item2": [
                    1558845312,
                    4108266752
                  ],
                  "item3": [
                    129912000,
                    0
                  ]
                },
        :
        :
    (途中省略)
        :
        :
                  "item2": [
                    1521607936,
                    3978133248
                  ],
                  "item3": [
                    126748264,
                    0
                  ]
                }
              }
            }
          }
        }
      }
    }
    

サブネットワーク・比較レポートデータ取得API

サブネットワーク・比較レポート(レポート > サブネットワーク > サマリ・レポート > 比較)のレポートデータを取得するAPIです。

ディレクトリパス

/api/report/sub-network/compare

requestクエリパラメータの要素

  キー 必須   値 説明
“report_datetime” Y {“defined_by”キー値ペア, “end_time”キー値ペア}
または
{“start_time”キー値ペア, “end_time”キー値ペア}
期間
   “defined_by” “daily”
“weekly”
“monthly”
“quarterly”
“yearly”
“end_time”キー値ペアと合わせて期間を指定
“start_time”キー値ペアを指定しない場合は必須
   “start_time” YYYY-MM-DD hh:mmフォーマットの開始時刻 “end_time”キー値ペアと合わせて期間を指定
“defined_by”キー値ペアを指定しない場合は必須
   “end_time” Y YYYY-MM-DD hh:mmフォーマットの終了時刻 “defined_by”キー値ペアまたは”start_time”キー値ペアと合わせて期間を指定
“resource_group_id” Y サブネットワークグループID
“unit” Y “bps”
“pps”
計測単位を指定
“data_format” Y “graph_data”
“display_data” “yes” レポートデータ付きのレスポンスを受け取る場合に”yes”を指定します。

応答メッセージのオブジェクト要素

  キー   値 説明
“response” {“status”キー値ペア, “result”キー値ペア} クエリの応答本体
   “status” “succ”
“fail”
クエリの成功失敗
   “result” {“output_file”キー値ペア}
または
{“output_file”キー値ペア, “data”キー値ペア}
クエリ成功時の結果データ
   “output_file” ファイルロケーション 結果データファイルのロケーション
   “data” {“report”キー値ペア, “sub-network group”キー値ペア, “unit”キー値ペア, “aggregation_unit”キー値ペア, “datetime_start”キー値ペア, “datetime_end”キー値ペア, “data”キー値ペア} 結果データ本体(クエリで”display_data”: “yes”が指定されたときのみ)
   “err” {“msg”キー値ペア, “code”キー値ペア, “description”キー値ペア} クエリ失敗時の理由

説明

  • 指定したサブネットワークグループに属するサブネットワークのトラフィックについて,指定計測単位のレポートデータを取得します。
  • “resource_group_id”キーで指定するサブネットワークグループIDには,GUIのサブネットワークグループ管理ページ(システム管理 > プリファレンス > グループ > サブネットワーク タブ)の当該グループのグループIDを使用します。全てのサブネットワークの比較データを取得する場合は0を使用します。
  • レスポンスメッセージにレポートデータを含める場合は“report_data”:”yes”を指定します。指定しない場合,応答で指定されたファイルをダウンロードしてデータを取得します。

注意事項

  • レポートデータの粒度は,指定した取得期間によって以下のように自動的に決まります。
    取得期間 集計データの粒度
    取得期間 ≤ 24時間 5分
    24時間 < 取得期間 ≤ 7日 30分
    7日 < 取得期間 ≤ 3か月 2時間
    3か月 < 取得期間 1日

実行例

  • リクエスト
    http://api-user:api-passwd@172.16.2.90/api/report/sub-network/compare?request={"report_datetime":{"defined_by":"daily","end_time":"2016-09-07 12:00"},"resource_group_id":100,"unit":"bps","data_format":"graph_data","display_data":"yes"}
    
  • レスポンス
    {
      "response": {
        "status": "succ",
        "result": {
          "output_file": "/pdftmp/rpt_export_data_1481514342-b43c8b5d-cc9b-41cb-9aaa-06084e7eca77.json",
          "data": {
            "report": "Sub-Network>Summary>Compare",
            "sub-network group": "SN Group",
            "unit": "bps",
            "aggregation_unit": "5 min",
            "datetime_start": "2016-09-06T12:00:00Z",
            "datetime_end": "2016-09-07T12:00:00Z",
            "data": {
              "items": {
                "item1": [
                  "Total"
                ],
                "item2": [
                  "SN#1_Consumer"
                ],
                "item3": [
                  "SN#2_Business"
                ],
                "item4": [
                  "SN#3_Tenant"
                ]
              },
              "value": {
                "2016-09-06T12:00:00Z": {
                  "item1": [
                    6480103424,
                    3022071552
                  ],
                  "item2": [
                    4205152000,
                    1677062656
                  ],
                  "item3": [
                    1770145664,
                    1174562688
                  ],
                  "item4": [
                    504806112,
                    170446144
                  ]
        :
        :
    (途中省略)
        :
        :
                  "item3": [
                    1737872000,
                    1180736000
                  ],
                  "item4": [
                    496095712,
                    167761328
                  ]
                }
              }
            }
          }
        }
      }
    }
    

GenieATM本体のセキュリティを高めたい

以下の方法があります。

  1. 経路設定をデフォルト経路ではなくアクセスを許可するホスト(prefix)への経路だけにする
  2. アクセス制限により必要な通信のみ許可する
  3. システム管理者(GUI)のアクセス制限を行う
  4. CLIログイン失敗時にsyslog出力を行う。
  5. Telnetを無効化する
  6. HTTP通信をHTTPS通信に強制的にリダイレクトする
  7. ログインパスワードおよびenableパスワードを変更する(CLI)

経路設定をデフォルト経路ではなくアクセスを許可するホスト(prefix)への経路だけにする

デフォルト経路を設定すると意図しないグローバルインターネット空間への通信が発生する場合があります。GenieATMへアクセスする端末が管理セグメント等の特定のアドレス空間のみであれば、その特定空間への経路を設定します。

設定例:192.168.0.0/16 からのみアクセスを許可する(ゲートウェイアドレスを192.168.0.1とする)

ip route 192.168.0.0 255.255.0.0 192.168.0.1 0

補足: デフォルト経路を設定する場合は以下です。

     ip route 0.0.0.0 0.0.0.0 192.168.0.1 0

アクセス制限により必要な通信のみ許可する

GenieATMへのアクセスを必要なホストやセグメントのみに限定します。

GenieATMシステム管理に必要な通信を除外しないようにご注意ください。

GenieATMへの必要な通信例:

  • SSH (tcp/22)
  • HTTPS(tcp/443)
  • ルータから到来するxFlowパケット(udp/2055など)

 

コマンド詳細

 


システム管理者(GUI)のアクセス制限を行う

GUIアクセスにおいてシステム管理者アカウントでログインを特定のホストやセグメントのみに限定することでセキュリティを高めます。管理者以外のユーザはこの制限を受けません。

access groupコマンドではWebアクセス(HTTP/HTTPS)の一律的な制限ですが、本設定では管理者と一般ユーザを区別してアクセス制限を行えます。

 コマンド詳細

 


CLIログイン失敗時にsyslog出力を行う。

CLIログインに失敗した場合にsyslog通知できます。本機能はversion 5.6.4 以降で利用可能です。

          設定例:

logging server 192.168.0.10
logging on

Telnetを無効化する

GenieATMのTelnetサービスを無効化します。これによりCLIアクセスを平文による通信でなく、Sshによる暗号化通信のみに限定することが可能です。

コマンド詳細


HTTP通信をHTTPS通信に強制的にリダイレクトする

GenieATMへのHTTPプロトコルによる通信を強制的にHTTPSプロトコルにリダイレクトします。これによりGUIアクセスをHTTPSによる暗号化通信に限定できます。

設定例:

web-server https redirection

ログインパスワードおよびenableパスワードを変更する(CLI)

CLIアクセスのログインパスワードおよびenableパスワードを変更します。

設定例:(下記の”XXXXX”部分は変更するパスワード文字列に置き換えてください)

password XXXXX
enable password  XXXXX

 

disable telnet service

GenieATMへのTelnetアクセスを無効化します。

書式

[no] disable telnet service

パラメータ

なし

デフォルト設定

無効

コマンドモード

Global Configuration Mode

説明

  • GenieATMへのTelnetアクセスを無効化します。
  • 設定を無効にするには,no disable telnet serviceコマンドを発行します。
  • 現在の設定を確認するには,show runningコマンドを発行します。

注意事項

  • GenieATMから他ホストへのTelnetは可能です。
  • 本設定はversion 5.6.4 以降で利用可能です。

実行例

(config)# disable telnet service
% Disable telnet service
Stopping internet superserver: xinetd.
Starting internet superserver: xinetd.
(config)# show running
#### show running configure ####
!
(中略)
  disable telnet service
(中略)
!
!
(config)# 

GenieATMではSNMPが必要ですか? 使う/使わないでどのような違いがありますか?

GenieATMはSNMPでルータと設定やトラヒック情報のやり取りを行います。SNMPの利用は必須ではありませんが、以下の理由でご利用をおすすめします。

SNMPを利用するとできること

  • ルータのインターフェース登録が容易に行えます。SNMPを使わない場合は個別に手動での登録が必要です。
  • ルータのインターフェース毎のトラヒックレポートがxFlowとSNMP(IF MIB)の両方で作成できます。これにより双方が比較できて、ルータ側のxFlow設定の不足等が見つけやすくなります。
  • インターフェースの利用率やパケット廃棄等の検知が行えます。
    • xFlowでもトラヒック量の監視は可能です。
    • SNMP で可能なインターフェースの監視項目:CRCエラー、インターフェース利用率、パケット廃棄、マルチキャスト&ブロードキャストトラヒック割合
  • ルータのCPUとメモリの使用率のレポート作成が可能です。

特定のネットワークのトラヒックについてASパス分析をしたい

監視対象のネットワークにおいて、特定のネットワークのトラヒックについてASパスの分析をする場合です。
ここでは特定のネットワークをサブネットワークとして設定しています。
サブネットワークへの入力方向と出力方向のトラヒックを別々のレポートとして作成しています。
入力と出力を同一レポートに含めることも可能ですが、見難くなるので別個のレポートにしています。