UTM / アプリケーションコントロール(DPI)
アプリケーションコントロール(DPI = ディープパケットインスペクション)は、本製品を通過するパケットのデータ部分を検査し、通信内容(レイヤー7)にもとづいてどのアプリケーションのトラフィックであるかを判別する機能です。最近は多くのアプリケーションが通信チャンネルとしてHTTPを使うようになっているため、L3/L4ヘッダーだけではこれらのアプリケーションがすべて「HTTP」としか判定できず、個々のアプリケーションを見分けることができませんが、アプリケーションコントロール(DPI)機能を使えば、アプリケーションシグネチャデータベースによって、各種アプリケーションに特有の通信パターンを検出し、個々のアプリケーションを判別することができるようになります。
アプリケーションシグネチャデータベースは、製品内蔵のものを使えるほか、サンドバイン社が提供するデータベースを使用することもできます(どちらか一方を選択して使用します)。

アプリケーションコントロール(DPI)機能自体はアプリケーションの判別を行うだけですが、その情報は動的な「アプリケーション定義」として、下記機能のルール設定時に利用できます。
アプリケーション定義については「UTM」/「アプリケーション定義」をご覧ください。
また、サンドバイン社が提供するデータベースの更新をつかさどるアップデートマネージャーについては「UTM」/「アップデートマネージャー」をご覧ください。
アプリケーションコントロール(DPI)機能の具体的な使用例については、「設定例集」をご覧ください。
検査タイミング
本機能は下記のタイミングでサポート対象のパケットを検査します。- Ethernetインターフェース(PPPoE、802.1Qを含む)での受信時
- VLANインターフェースでの受信時
- PPPインターフェース(USB型データ通信端末)での受信時
- トンネルインターフェースでの受信時 ※初期設定では検査しません。後述する設定が必要です。
- ブリッジインターフェースでの受信時
- 本製品が生成したパケット(自装置発パケット)の送信前
基本設定
アプリケーションコントロール(DPI)の設定は、DPIモード(dpiコマンド)で行います。providerコマンドでシグネチャデータベースの提供元を指定した後、enableコマンドで有効化します。
以下、アプリケーションコントロール(DPI)機能の基本的な設定手順を示します。
- アプリケーションコントロール(DPI)機能の設定を行うため、DPIモードに移行します。これにはdpiコマンドを使います。
awplus(config)# dpi
- アプリケーションシグネチャデータベースの提供元を指定します。これにはproviderコマンドを使います。
[製品内蔵のデータベースを使う場合]
awplus(config-dpi)# provider built-in
[サンドバイン社が提供するデータベースを使う場合]
awplus(config-dpi)# provider procera
3.アプリケーションコントロール(DPI)機能を有効化します。これにはenableコマンドを使います。
awplus(config-dpi)# enable
設定は以上です。
アプリケーションコントロール(DPI)機能によって判別できるアプリケーションは、show application detailコマンドのdpiオプションで確認できます。
awplus# show application detail dpi
サンドバイン社が提供するアプリケーションシグネチャデータベースの更新チェック間隔は、update-intervalコマンドで変更可能です。初期値は1時間です。
awplus(config)# dpi awplus(config-dpi)# update-interval days 1
サンドバイン社が提供するアプリケーションシグネチャデータベースは通常自動更新されますが、update nowコマンドで手動更新することも可能です。
awplus# update dpi_procera_app_db now
サンドバイン社が提供するアプリケーションシグネチャデータベースの更新ステータスはshow resourceコマンドで確認できます。
awplus# show resource dpi_procera_app_db
--------------------------------------------------------------------------------
Resource Name Status Version Interval Last Download
Next Download Check
--------------------------------------------------------------------------------
dpi_procera_app_db unknown - 10 None
minutes N/A
アプリケーションコントロール(DPI)機能の有効・無効とその他の情報は、show dpiコマンドで確認できます。
(表示内容は設定により異なります)
awplus# show dpi
Status: running
Provider: built-in
Mode: learning
Counters: per entity
Providing application database: enabled
Web Categorization: disabled
アプリケーションコントロール(DPI)機能によって判別されたアプリケーションの統計情報は、show dpi statisticsコマンドで確認できます。
初期状態では、DPI機能の全体統計(アプリケーションごとのパケット数とバイト数)のみが表示可能ですが、設定を追加することでエンティティー別詳細統計(アプリケーションごとの送信パケット数、受信パケット数、送信バイト数、受信バイト数)を有効にすることもできます。
- 全体統計は「show dpi statistics」で表示できます。全体統計はつねに有効です。
awplus# show dpi statistics Application Packets Bytes ------------------------------------------------- arp 1741 170618 http 27 3299 mdns 15 2017 netbios 479 78911 ssdp 12 2616 dhcp 16 6080 ssl_no_cert 6415 6327945 ssh 245 46526 dhcpv6 151 28087 llmnr 18 2038
- エンティティー別詳細統計はcounters detailedコマンドで有効化します。初期設定は無効です。
awplus(config-dpi)# counters detailed
- エンティティー別詳細統計を表示するには、show dpi statisticsコマンド実行時にエンティティー名を指定してください。
awplus# show dpi statistics private Statistics for entity: private Application TX Packets RX Packets TX Bytes RX Bytes ------------------------------------------------------------------------------- ssl_no_cert 6470 6470 6092823 6092823 ssh 201 201 29037 29037 http 32 32 2978 2978
DPI Webカテゴライズ機能
アプリケーションコントロール(DPI)機能では、オプションでWebカテゴライズ機能を利用することができます。Webカテゴライズ機能は、DPIエンジンが検査するトラフィックのうち、HTTPとHTTPS(TLS)については他のトラフィックと処理を分け、WebカテゴライザーによってWebサイトのカテゴリー(Webカテゴリー)に分類する機能です。
カテゴライズはHTTPのHostヘッダーやTLSのSNI拡張に含まれるアクセス先サーバー名にもとづいて行われます。
各Webカテゴリーは通常のDPIアプリケーションと同様、1つの「アプリケーション」としてファイアウォールなどのルール指定に利用できます。
Webサイトのカテゴライズにはデジタルアーツ社もしくはOpenText社が提供するURLカテゴリーデータベースを使用します。
また、ユーザー独自のWebカテゴリーを定義することも可能です。
Webカテゴライズ機能を有効化するには、DPIの基本設定にweb-categorizationコマンドの設定を追加します。
awplus(config-dpi)# web-categorization digital-arts
特定のURLがどのプロバイダーカテゴリーに分類されるかデジタルアーツ社もしくはOpenText社のURLカテゴリーデータベースに問い合わせるには、dpi categorizeコマンドを使います。
awplus# dpi categorize www.google.com www.bbc.co.uk
http://www.google.com: search-engines
http://www.bbc.co.uk: news-media
Webカテゴライズ機能を有効にすると、show application detailコマンドで表示されるDPIアプリケーションの中に、Webカテゴリーを表すアプリケーションが追加されます。
awplus# show application detail advocacy 0x3F DPI: Web Categorization - Advocacy afp 0x132 DPI: Apple Filing Protocol, formerly AppleTalk (Cat=File transfer) aim - proto=TCP sport=1024-65535 dport=9898 aimini 0x134 DPI: Aimini P2P real-time communicatings (Cat=Messaging) ajp 0x15C DPI: Apache JServ Protocol (Cat=Networking) alcohol-tobacco 0x15 DPI: Web Categorization - Alcohol, Tobacco amazon 0x183 DPI: Amazon online shopping (Cat=Web Services) amazonvideo 0x1C1 DPI: Amazon on-demand video streaming service (Cat=Streaming Media) amqp 0x191 DPI: Advanced Message Queuing Protocol (Cat=Networking) amusement-facilities 0x30 DPI: Web Categorization - Amusement Facilities ...
ユーザー独自のWebカテゴリー(カスタムWebカテゴリー)はapplicationコマンドとhostnameコマンドで作成します。
たとえば、「www.example.com」というWebサイトと、「example.jp」ドメイン内の不特定のWebサイト(「www.example.jp」、「site.sub.example.jp」など)を「example-sites」いうWebカテゴリーに分類したいときは、次のようなアプリケーションを定義します。
awplus(config)# application example-sites awplus(config-application)# hostname www.example.com awplus(config-application)# hostname .example.jpカスタムWebカテゴリーは、デジタルアーツ社もしくはOpenText社が提供するURLカテゴリーデータベースよりも優先的に適用されます。
判別されたアプリケーション定義の使用
アプリケーションコントロール(DPI)機能によって判別されたアプリケーションの情報は、動的な「アプリケーション定義」として、下記機能のルール設定時に利用できます。アプリケーション定義の詳細については、「UTM」/「アプリケーション定義」をご覧ください。
ファイアウォールルールは、ファイアウォールモードのruleコマンドで作成します。
アプリケーションコントロール(DPI)機能では、各アプリケーション固有の通信パターンを検出するために一定量のパケットを受信してそのデータ部分を検査する必要がありますが、ファイアウォールはその仕様として初期設定ですべてのパケットを破棄するため、ファイアウォールとアプリケーションコントロール(DPI)を併用する場合は注意が必要です。
- DPIによって判別された特定のアプリケーションのみ許可し、その他は拒否する場合(デフォルト拒否)
ファイアウォールを「デフォルト拒否」の設定とし、アプリケーションコントロール(DPI)によって判別されたアプリケーションだけを許可したい場合は、該当アプリケーションだけでなく、未判別のトラフィック(undecided)も許可する必要があります。
たとえば、外部ゾーン「public」から内部ゾーン「private」への通信について、DPIによってアプリケーション「X」と判別されたトラフィックだけを許可し、その他はすべて拒否したい場合、次のようにアプリケーション「X」と、未判別のトラフィックを示す「undecided」の両方を許可するよう設定してください(ルール「10」と「20」。順序は逆でもかまいません)。
awplus(config)# firewall awplus(config-firewall)# rule 10 permit X from public to private awplus(config-firewall)# rule 20 permit undecided from public to private awplus(config-firewall)# rule 30 permit dns from public.internet.myself to public awplus(config-firewall)# rule 40 permit https from public.internet.myself to public awplus(config-firewall)# rule 50 permit ssl from public.internet.myself to public awplus(config-firewall)# rule 60 permit TCP from public.internet.myself to public awplus(config-firewall)# rule 70 permit undecided from public.internet.myself to public awplus(config-firewall)# protect
ここで「undecided」を許可しないと(ルール「20」を設定しないと)、ファイアウォールの基本動作によって外部ゾーンから内部ゾーンへのトラフィックがすべて破棄されてしまうため、アプリケーションコントロール(DPI)エンジンに検査すべきパケットが届かず、結果的にアプリケーション「X」が判別されることもなくなってしまうためご注意ください。
- DPIによって判別された特定のアプリケーションのみ拒否し、その他は許可する場合(デフォルト許可)
ファイアウォールを「デフォルト許可」の設定にする場合は、すべてを許可する「permit any」ルールを設定するため、未判別のトラフィックを表す「undecided」を別途許可する必要はありません(明示的に設定してもかまいません)。
次の例では、アプリケーションコントロール(DPI)によってファイル共有ソフト「Share」と「Winny」であると判別された内部ゾーン「private」から外部ゾーン「public」への通信を禁止しています。同じ向きの未判別トラフィックはルール「30」の「permit any from private to public」によって許可されるため、「permit undecided」ルールは不要です。
awplus(config)# firewall awplus(config-firewall)# rule 10 deny sharep2p from private to public awplus(config-firewall)# rule 20 deny winny from private to public awplus(config-firewall)# rule 30 permit any from private to public awplus(config-firewall)# rule 40 permit any from private to private awplus(config-firewall)# rule 50 permit dns from public.internet.myself to public awplus(config-firewall)# rule 60 permit https from public.internet.myself to public awplus(config-firewall)# rule 70 permit ssl from public.internet.myself to public awplus(config-firewall)# rule 80 permit TCP from public.internet.myself to public awplus(config-firewall)# rule 90 permit undecided from public.internet.myself to public awplus(config-firewall)# protect
ファイアウォールの詳細については、「UTM」/「ファイアウォール」をご覧ください。
QoSルールは、トラフィックコントロールモードのruleコマンドで作成します。
QoSとアプリケーションコントロール(DPI)を併用する場合は、ファイアウォールでデフォルト拒否の設定をするときのように「permit undecided」ルールを作成する必要はありません。未判別のトラフィックはデフォルトキューで処理され、判別後は該当アプリケーションに対応するルールにしたがって処理されます。
QoSの詳細については、「トラフィック制御」/「Quality of Service」をご覧ください。
ログ
アプリケーションコントロール(DPI)のログを記録するには、以下のコマンド(log(filter))を実行してください。初期設定では本機能のログは記録されません。awplus(config)# log buffered level informational facility local5
DPIによって判別されたアプリケーションの情報は、ファイアウォールログの「MARK」欄に出力されます。
- 製品内蔵データベースを使用している場合
次に示すファイアウォールログの例では、「MARK=0x1013」がこの情報です。
この数値(16進数)の下2桁(ここでは「13」)をキーとして、「show application detail dpi」の出力から具体的なアプリケーション名や概要を検索することができます。
2017 Oct 24 10:59:37 kern.info awplus kernel: Firewall: DENY in policy IN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:a4:ba:db:15:e9:d3:08:00 SRC=172.16.1.2 DST=172.16.1.255 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=49384 PROTO=UDP SPT=137 DPT=137 LEN=58 MARK=0x1013
- サンドバイン社のデータベースを使用している場合
次に示すファイアウォールログの例では、「MARK=0x1053」がこの情報です。
この数値(16進数)の下3桁(ここでは「053」)をキーとして、弊社ホームページ掲載の資料から具体的なアプリケーション名や概要を検索することができます。また、「show application detail dpi」の出力から具体的なアプリケーション名を検索することもできます。
2016 Nov 25 18:38:36 kern.info awplus kernel: Firewall rule 20: PERMIT IN=eth1 OUT=vlan1 MAC=00:00:cd:38:00:96:52:54:78:36:8f:a6:08:00 SRC=172.16.1.2 DST=192.168.1.1 LEN=239 TOS=0x00 PREC=0x00 TTL=63 ID=20563 DF PROTO=TCP SPT=80 DPT=46254 WINDOW=905 RES=000 ACK PSH URGP=0 MARK=0x1053
AT-Vista Manager EXとの併用
AT-Vista Manager EXを使用することで、本製品のDPI学習キャッシュ(対象はTCP/UDPパケットのみ)を他のルーターと共有できます。共有元はAT-AR4050S, AT-AR4050S-5G, AT-AR3050S, AT-NFV-APL(vFirewall), AT-AR4000S-Cloud、共有先はAT-AR2050V, AT-AR2010V, AT-TQ7403-R, AT-TQ6702 GEN2-R, AT-TQ6702e GEN2-Rです。
利用・設定にはAT-Vista Manager EXが必要です。詳細はAT-Vista Manager EXのマニュアルをご覧ください。