UTM / アプリケーション定義


アプリケーション定義の種類
事前定義済みアプリケーション
カスタムアプリケーション定義
アプリケーションコントロール(DPI)により判別可能なアプリケーション
アプリケーション定義の使用


UTM機能では各種ルールの条件指定時に下記の要素を使います。


従来のファイアウォールでは、ルールの適用対象をインターフェース、アドレス、ポート、プロトコルなどで指定していましたが、本製品ではこれらを抽象化した前記の「エンティティー(通信主体)」と「アプリケーション」で指定します。

次に指定方法の違いをまとめます。
従来の指定方法
本製品の指定方法
始点IP/IPv6アドレス 送信元エンティティー エンティティー定義
終点IP/IPv6アドレス 宛先エンティティー
DSCP値
アプリケーション定義
IPプロトコル番号
始点TCP/UDPポート番号
終点TCP/UDPポート番号
ICMPタイプ/コード
Note
DSCP値はQoSおよびポリシーベースルーティング(PBR)でのみサポートです。各機能については「トラフィック制御」/「Quality of Service」「トラフィック制御」/「ポリシーベースルーティング」をご覧ください。

ここでは、アプリケーションの定義方法について解説します。
エンティティー(通信主体)の定義方法については「UTM」/「エンティティー定義」をご参照ください。

また、設定時にアプリケーション定義を利用するファイアウォール、NAT、QoS、ポリシーベースルーティングの各機能については、「UTM」/「ファイアウォール」「UTM」/「NAT」「トラフィック制御」/「Quality of Service」「トラフィック制御」/「ポリシーベースルーティング」をご覧ください。

さらに、より具体的なアプリケーション定義の例については、「設定例集」をご覧ください。

アプリケーション定義の種類

アプリケーション定義には次の3種類があります。以下それぞれについて解説します。

事前定義済みアプリケーション

HTTP、FTP、SMTP、POP3、IMAPなどの主要なアプリケーションはあらかじめ定義されているため、特に設定を行うことなく各種ルールの作成時に使うことができます。

事前定義済みのアプリケーションは下記コマンド実行例が示すとおりです。

■ アプリケーション定義名の一覧はshow applicationコマンドで確認できます。
awplus# show application
aim       cvs       dns       ftp       http      https     icq       ident
imap      imaps     irc       jabber    l2tp      ldap      lisa      msn
mysql     news      nfs-tcp   nfs-udp   ntp       openvpn   pcanywhere-tcp
                                                                      pcanywhere
                                                                        -udp
ping      pop3      pop3s     pptp      rdp       rsync     samba-tcp samba-udp
smtp      socks     ssh       syslog    telnet    traceroute
                                                            vnc       whois

■ アプリケーション定義の内容はshow application detailコマンドで確認できます。
事前定義済みアプリケーションは、カスタムアプリケーション定義と同じように、プロトコルやポート番号の組み合わせとして定義されています。異なるポート番号を指定したい場合などには、事前定義済みアプリケーションと同名のカスタムアプリケーション定義を作成することで上書きが可能です。

Note
同じ名前のアプリケーション定義が存在する場合の優先度は、カスタムアプリケーション > DPIアプリケーション > 事前定義済みアプリケーションの順になります。すなわち、DPIアプリケーションや事前定義済みアプリケーションと同じ名前のカスタムアプリケーション定義を作成した場合、DPIおよび事前定義済みアプリケーションは使われなくなります。また、アプリケーションコントロール(DPI)機能を有効化すると、「dns」など一部の事前定義アプリケーションが同名のDPIアプリケーションによって上書きされ使われなくなります。

Note
事前定義済みアプリケーションは前述の通り上書き可能ですが、事前定義済みアプリケーションそのものを削除することはできません。
awplus# show application detail
Name             Protocol    Detail
--------------------------------------------------------------------------
aim              TCP         sport=1024-65535 dport=9898
cvs              TCP         sport=1024-65535 dport=2401
dns              UDP         sport=1024-65535 dport=53
ftp              TCP         sport=1024-65535 dport=21
http             TCP         sport=1024-65535 dport=80
https            TCP         sport=1024-65535 dport=443
icq              TCP         sport=1024-65535 dport=5190
ident            TCP         sport=1024-65535 dport=113
imap             TCP         sport=1024-65535 dport=143
imaps            TCP         sport=1024-65535 dport=993
irc              TCP         sport=1024-65535 dport=6667
jabber           TCP         sport=1024-65535 dport=5222-5223
l2tp             UDP         sport=1701 dport=1701
ldap             TCP         sport=1024-65535 dport=389
lisa             TCP         sport=1024-65535 dport=7741
msn              TCP         sport=1024-65535 dport=1863
mysql            TCP         sport=1024-65535 dport=3306
news             TCP         sport=1024-65535 dport=119
nfs-tcp          TCP         sport=1024-65535 dport=2049
nfs-udp          UDP         sport=1024-65535 dport=2049
ntp              UDP         sport=123,1024-65535 dport=123
openvpn          UDP         sport=1024-65535 dport=1194
pcanywhere-tcp   TCP         sport=1024-65535 dport=5631
pcanywhere-udp   UDP         sport=1024-65535 dport=5631-5632
ping             ICMP        type=8 code=0
pop3             TCP         sport=1024-65535 dport=110
pop3s            TCP         sport=1024-65535 dport=995
pptp             TCP         sport=1024-65535 dport=1723
rdp              TCP         sport=1024-65535 dport=3389
rsync            TCP         sport=1024-65535 dport=873
samba-tcp        TCP         sport=1024-65535 dport=139,445
samba-udp        UDP         sport=137-138,1024-65535 dport=137-138
smtp             TCP         sport=1024-65535 dport=25
socks            TCP         sport=1024-65535 dport=1080
ssh              TCP         sport=1024-65535 dport=22
syslog           UDP         sport=1024-65535 dport=514
telnet           TCP         sport=1024-65535 dport=23
traceroute       UDP         sport=1024-65535 dport=33434-33523
vnc              TCP         sport=1024-65535 dport=5900
whois            TCP         sport=1024-65535 dport=43

カスタムアプリケーション定義

事前定義されていないアプリケーションのトラフィックを制御する場合は、カスタムアプリケーションを定義する必要があります。

カスタムアプリケーション定義は applicationコマンドで命名し、下記のコマンドで判別条件を指定します。条件のうち、protocolの指定は必須で、残りは任意です。
Note
アプリケーション定義では必ずIPプロトコル(protocol)を指定してください。ルール作成時にIPプロトコル未指定のアプリケーション定義を指定した場合、該当ルールは有効にならず無視されますのでご注意ください。なお、ルール作成時にアプリケーション定義名の代わりにキーワード「any」を指定すれば、「すべてのアプリケーション(すべての通信)」を対象とするルールを作成可能です。

Note
ルール作成コマンドにおいて、「any」は「すべてのアプリケーション(すべての通信)」を意味するキーワードとして内部的に予約されているため、カスタムアプリケーション定義名として「any」は使用しないでください。キーワードは大文字小文字を区別しないため、「any」、「Any」、「ANY」なども同様です。

Note
アプリケーション名は大文字小文字を区別しません。

Note
DSCP値はQoSおよびポリシーベースルーティング(PBR)でのみサポートです。各機能については「トラフィック制御」/「Quality of Service」「トラフィック制御」/「ポリシーベースルーティング」をご覧ください。

■ TCPを利用するアプリケーション「mydb」の定義例。
awplus(config)# application mydb
awplus(config-application)# protocol tcp
awplus(config-application)# sport 1024 to 65535
awplus(config-application)# dport 8704
awplus(config-application)# exit

■ UDPを利用するアプリケーション「mystream」の定義例。
awplus(config)# application mydb
awplus(config-application)# protocol udp
awplus(config-application)# sport 1024 to max
awplus(config-application)# dport 50000 to 50099
awplus(config-application)# dport 51024
awplus(config-application)# exit

■ ISAKMPパケットを判別するアプリケーション「isakmp」の定義例。
awplus(config)# application isakmp
awplus(config-application)# protocol udp
awplus(config-application)# sport 500
awplus(config-application)# dport 500
awplus(config-application)# exit

■ IPsecのESPパケットを判別するアプリケーション「esp」の定義例。
awplus(config)# application esp
awplus(config-application)# protocol 50
awplus(config-application)# exit

■ ICMPを利用するアプリケーション「path-mtu-ipv4」の定義例。
awplus(config)# application path-mtu-ipv4
awplus(config-application)# protocol icmp
awplus(config-application)# icmp-type 3
awplus(config-application)# icmp-code 4
awplus(config-application)# exit

■ ICMPv6を利用するアプリケーション「path-mtu-ipv6」の定義例。
awplus(config)# application path-mtu-ipv6
awplus(config-application)# protocol ipv6-icmp
awplus(config-application)# icmp-type 2
awplus(config-application)# icmp-code 0
awplus(config-application)# exit

■ カスタムアプリケーション定義の内容を表示するには、show applicationコマンドのcustomオプションを使います。
awplus# show application detail custom
Name             Protocol    Detail
--------------------------------------------------------------------------
esp              50          -
isakmp           UDP         sport=500 dport=500
mydb             TCP         sport=1024-65535 dport=8704
mystream         UDP         sport=1024-65535 dport=50000-50099,51024
path-mtu-ipv4    ICMP        type=3 code=4
path-mtu-ipv6    IPv6-ICMP   type=2 code=0

Note
同じ名前のアプリケーション定義が存在する場合の優先度は、カスタムアプリケーション > DPIアプリケーション > 事前定義済みアプリケーションの順になります。すなわち、DPIアプリケーションや事前定義済みアプリケーションと同じ名前のカスタムアプリケーション定義を作成した場合、DPIおよび事前定義済みアプリケーションは使われなくなります。また、アプリケーションコントロール(DPI)機能を有効化すると、「dns」など一部の事前定義アプリケーションが同名のDPIアプリケーションによって上書きされ使われなくなります。

アプリケーションコントロール(DPI)により判別可能なアプリケーション

これまでに述べたアプリケーション定義は、事前定義、カスタム定義のどちらとも、プロトコル番号やポート番号などのL3/L4ヘッダー情報にもとづいてアプリケーションを識別するものでした。

本製品ではさらに、アプリケーションコントロール(DPI = ディープパケットインスペクション)機能を有効化することにより、パケットのデータ部分を検査し、通信内容(レイヤー7)にもとづいてどのアプリケーションに所属するトラフィックであるかを識別することも可能です。

最近は多くのアプリケーションが通信チャンネルとしてHTTP(80/tcp)を使うようになっているため、L3/L4ヘッダーだけではこれらのアプリケーションがすべて「HTTP」としか判定できず、個々のアプリケーションを見分けることができません。

アプリケーションコントロール(DPI)機能を使えば、アプリケーションシグネチャデータベースによって、各種アプリケーションに特有の通信パターンを検出し、個々のアプリケーションを判別することができるようになります。
Note
アプリケーションコントロール(DPI)はAT-AR2050Vでは使用できません。
Note
サンドバイン社が提供するアプリケーションシグネチャデータベースを使用するにはアニュアルライセンスが必要です。

Note
NAT機能でもルール設定時にアプリケーションの指定を行いますが、NATルールではアプリケーションコントロール(DPI)によって判別されたアプリケーションは指定できません。ruleコマンド(NATモード)でNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションか、applicationコマンドで定義するカスタムアプリケーション、あるいは、すべてを意味する「any」キーワードを指定してください。

Note
アプリケーションコントロール(DPI)機能では、各アプリケーション固有の通信パターンを検出するために一定量のパケットを受信してそのデータ部分を検査する必要があります。判別が完了していないトラフィック(判別中のトラフィック)は、特殊なアプリケーション名「undecided」で表されます。

■ アプリケーションコントロール(DPI)機能の設定は、DPIモード(dpiコマンド)で行います。
providerコマンドでシグネチャデータベースの提供元を指定した後、enableコマンドで有効化します。
awplus(config)# dpi
awplus(config-dpi)# provider procera
awplus(config-dpi)# enable

アプリケーションコントロール(DPI)の詳細については、「UTM」/「アプリケーションコントロール(DPI)」をご覧ください。

■ アプリケーションコントロール(DPI)機能によって判別できるアプリケーションは、show application detailコマンドのdpiオプションで確認できます。
awplus# show application detail dpi

Note
同じ名前のアプリケーション定義が存在する場合の優先度は、カスタムアプリケーション > DPIアプリケーション > 事前定義済みアプリケーションの順になります。すなわち、DPIアプリケーションや事前定義済みアプリケーションと同じ名前のカスタムアプリケーション定義を作成した場合、DPIおよび事前定義済みアプリケーションは使われなくなります。また、アプリケーションコントロール(DPI)機能を有効化すると、「dns」など一部の事前定義アプリケーションが同名のDPIアプリケーションによって上書きされ使われなくなります。

アプリケーション定義の使用

これまでに述べた各種アプリケーション定義は、ファイアウォール、NAT、QoSの各機能でルールを作成するときに使用できます。

Note
アプリケーション定義名は大文字小文字を区別しませんが、エンティティー定義名(ゾーン、ネットワーク、ホスト定義名)は大文字小文字を区別しますのでご注意ください。

■ ファイアウォールルールは、ファイアウォールモードのruleコマンドで作成します。
下の例では、アクション(permit)の直後に指定している「mydb」、「ssh」、「http」、「isakmp」、「esp」がアプリケーション定義名です。「any」は「すべての通信」を示す予約済みキーワードであり、アプリケーション定義名ではありません。
awplus(config)# firewall
awplus(config-firewall)# rule permit any from private to public
awplus(config-firewall)# rule permit mydb from private to private.wired.dbserver
awplus(config-firewall)# rule permit ssh from private.wired.adminpc to dmz.servernet
awplus(config-firewall)# rule permit http from public to dmz.servernet.web log
awplus(config-firewall)# rule permit isakmp from public.internet.vpngw to public.internet.myself
awplus(config-firewall)# rule permit esp from public.internet.vpngw to public.internet.myself
Note
アプリケーションコントロール(DPI)機能では、各アプリケーション固有の通信パターンを検出するために一定量のパケットを受信してそのデータ部分を検査する必要がありますが、ファイアウォールはその仕様として初期設定ですべてのパケットを破棄するため、ファイアウォールとアプリケーションコントロール(DPI)を併用する場合は注意が必要です。詳しくは「UTM」/「アプリケーションコントロール(DPI)」をご覧ください。

ファイアウォールの詳細については、「UTM」/「ファイアウォール」をご覧ください。

■ NATルールは、NATモードのruleコマンドで作成します。
Note
NAT機能でもルール設定時にアプリケーションの指定を行いますが、NATルールではアプリケーションコントロール(DPI)によって判別されたアプリケーションは指定できません。ruleコマンド(NATモード)でNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションか、applicationコマンドで定義するカスタムアプリケーション、あるいは、すべてを意味する「any」キーワードを指定してください。
下の例では、アクション(masq、portfwd)の直後に指定している「http」がアプリケーション定義名です。「any」は「すべての通信」を示す予約済みキーワードであり、アプリケーション定義名ではありません。
awplus(config)# nat
awplus(config-nat)# rule masq any from private to public
awplus(config-nat)# rule portfwd http from public with dst dmz.servernet.web
NATの詳細については、「UTM」/「NAT」をご覧ください。

■ QoSルールは、トラフィックコントロールモードのruleコマンドで作成します。
下の例では、matchキーワードの直後に指定している「photostorage」がアプリケーション定義名です。
awplus(config)# traffic-shaping
awplus(config-ts)# rule match photostorage from private to public.cloud rate 1 max 10000 priority 7
QoSの詳細については、「トラフィック制御」/「Quality of Service」をご覧ください。

■ ポリシーベースルーティング(PBR)ルールは、ポリシーベースルーティングモードのip policy-routeコマンド、ipv6 policy-routeコマンドで作成します。
下の例では、matchキーワードの直後に指定している「highprio」、「lowprio」がアプリケーション定義名です。
awplus(config)# policy-based-routing
awplus(config-pbr)# ip policy-route match highprio from local.net to remote.net nexthop tunnel0
awplus(config-pbr)# ip policy-route match lowprio from local.net to remote.net nexthop tunnel1
ポリシーベースルーティングの詳細については、「トラフィック制御」/「ポリシーベースルーティング」をご覧ください。


(C) 2015 - 2019 アライドテレシスホールディングス株式会社

PN: 613-002107 Rev.AA