# UTM / 概要

UTM（Unified Threat Management）関連機能について概説します。
本製品には下記のUTM関連機能が実装されています。

- アプリケーションコントロール（DPI = ディープパケットインスペクション）
  パケットのデータ部分を検査して各種アプリケーションの通信を判別。本機能が判別した情報はファイアウォール、QoS、ポリシーベースルーティングのルール設定時に使用可能
- 侵入防御（IPS）
  サービス妨害や不正アクセスと思われる異常な通信を通知/遮断
- URLフィルター（URLブラックリスト）
  ユーザーが定義したURLのブラックリスト、ホワイトリストにもとづいてWebアクセスを許可/禁止
- ファイアウォール
  ステートフルインスペクションによって通信フローを認識しながら、設定されたルールにもとづいてトラフィックを許可/破棄。
- NAT
  設定されたルールにもとづいてパケットのアドレスやポート番号を変換し、グローバルアドレスの共有や内部ホストの公開を実現

各機能の処理順序はおおむね下記のとおりです。
ファイアウォールで破棄（遮断）アクションが適用されたパケットは次段階には進みません。
有効化されているUTM関連機能をすべて通過したパケットだけが出力または処理されます。

Note

QoSはUTM機能ではありませんが、ルール指定にエンティティー定義、アプリケーション定義を使う点がUTM機能（ファイアウォール、NAT）と共通なため、図に示しています。詳細は「トラフィック制御」/「Quality of Service」をご覧ください。

各機能の適用対象は次のとおりです。

機能 | ブリッジングパケット | ルーティングパケット | 備考
IPv4 | IPv6 | IPv4 | IPv6
アプリケーションコントロール（DPI） | × | × | ○ | ○ |
侵入防御（IPS） | ○ | ○ | ○ | ○ |
URLフィルター（URLブラックリスト） | ○ | ○ | ○ | ○ |
ファイアウォール | × | × | ○ | ○ |
NAT | × | × | ○ | × |
QoS | △ | △ | ○ | ○ |

Note

△のブリッジングパケットは初期設定では適用対象外ですが、ソフトウェアブリッジに l3-filtering enableを設定している場合は、ブリッジされるL3トラフィックに対して該当機能が適用されるようになります。

また、ファイアウォール、NAT、QoSの各機能では、ルールの条件指定に下記の設定要素を用います。

- エンティティー（通信主体）：MAC/IP/IPv6アドレスの情報。送信元、宛先の指定に使う
- アプリケーション：プロトコルタイプ、TCP/UDPポートなどの情報。通信の種類（アプリケーション）を指定するために使う

## クイックツアー

以下では、UTM機能の全体像や基本的な設定方法、使用感を示すため、実際にUTMの各機能を設定してみます。
Note

本クイックツアーはUTM機能の概要紹介を目的としており、UTMの設定手順や運用方法を述べるものではありません。そのため、個々の手順や操作、コマンドについての詳細な説明は行っていません。

Note

本クイックツアーでは概要紹介のためUTM関連の全機能を設定していますが、実際の運用ではネットワーク環境にあわせて必要な機能のみ設定してください。

UTM機能の大まかな設定手順は次のとおりです。以下、順を追って個々の機能の設定手順を示します。

1. ルール設定の前準備
2. UTM各機能の設定と有効化

個々の機能の詳細については各機能の解説編をご覧ください。
また、UTM関連機能の具体的な使用例については、「設定例集」をご覧ください。

### ルール設定の前準備

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

従来の指定方法 | 本製品の指定方法
始点MAC/IP/IPv6アドレス | 送信元エンティティー | エンティティー定義
終点IP/IPv6アドレス | 宛先エンティティー
DSCP値 | アプリケーション定義
IPプロトコル番号
始点TCP/UDPポート番号
終点TCP/UDPポート番号
ICMPタイプ/コード

Note

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

#### エンティティー（通信主体）の定義

ファイアウォール、NATの各機能では、送信元と宛先の指定に「エンティティー定義」を使います。
そのため、UTM機能の設定にあたっては、最初に必ずエンティティーを定義します。
エンティティーは、最初にトップレベルのゾーン（zone）を作成し、
その下にネットワーク（networkコマンド）と対応するサブネット（ip subnet / ipv6 subnet）を、
さらにその下にホスト（host）と対応するアドレス（mac-address / ip address / ipv6 address）を作成することで定義します。
Note

有効なゾーンには最低1つのネットワークが存在し、また、該当ネットワークには最低1つのサブネットアドレスを関連付けておく必要があります。

ゾーン「public」と配下のネットワーク「internet」、ホスト「myself」、「vpngw」

    awplus(config)# zone public

    awplus(config-zone)# network internet
    awplus(config-network)# ip subnet 0.0.0.0/0 interface ppp0
    awplus(config-network)# ipv6 subnet ::/0 interface ppp1

    awplus(config-network)# host myself
    awplus(config-host)# ip address 10.1.1.1
    awplus(config-host)# ipv6 address 2001:db8:1:1::1
    awplus(config-host)# exit

    awplus(config-network)# host vpngw
    awplus(config-host)# ip address 10.2.2.2
    awplus(config-host)# ipv6 address 2001:db8:2:2::2
    awplus(config-host)# exit
    awplus(config-network)# exit
    awplus(config-zone)# exit

ゾーン「dmz」と配下のネットワーク「servernet」、ホスト「web」、「dns」、「mail」

    awplus(config)# zone dmz

    awplus(config-zone)# network servernet
    awplus(config-network)# ip subnet 172.16.10.0/24
    awplus(config-network)# ipv6 subnet 2001:db8:1000:10::/64

    awplus(config-network)# host web
    awplus(config-host)# ip address 172.16.10.1
    awplus(config-host)# ipv6 address 2001:db8:1000:10::1
    awplus(config-host)# exit

    awplus(config-network)# host dns
    awplus(config-host)# ip address 172.16.10.2
    awplus(config-host)# ipv6 address 2001:db8:1000:10::2
    awplus(config-host)# exit

    awplus(config-network)# host mail
    awplus(config-host)# ip address 172.16.10.3
    awplus(config-host)# ipv6 address 2001:db8:1000:10::3
    awplus(config-host)# exit
    awplus(config-network)# exit
    awplus(config-zone)# exit

ゾーン「private」と配下のネットワーク「wired」、「wireless」、「branch」、「vpn」、ホスト「adminpc」、「dbserver」

    awplus(config)# zone private

    awplus(config-zone)# network wired
    awplus(config-network)# ip subnet 192.168.10.0/24
    awplus(config-network)# ipv6 subnet 2001:db8:10:10::/64

    awplus(config-network)# host adminpc
    awplus(config-host)# ip address 192.168.10.254
    awplus(config-host)# ipv6 address 2001:db8:10:10::fe
    awplus(config-host)# exit

    awplus(config-network)# host dbserver
    awplus(config-host)# ip address 192.168.10.2
    awplus(config-host)# exit
    awplus(config-network)# exit

    awplus(config-zone)# network wireless
    awplus(config-network)# ip subnet 192.168.20.0/24
    awplus(config-network)# ipv6 subnet 2001:db8:20:100::/64
    awplus(config-network)# exit

    awplus(config-zone)# network branch
    awplus(config-network)# ip subnet 192.168.100.0/24
    awplus(config-network)# ipv6 subnet 2001:db8:10:100::/64
    awplus(config-network)# exit

    awplus(config-zone)# network vpn
    awplus(config-network)# ip subnet 192.168.254.0/24
    awplus(config-network)# exit
    awplus(config-zone)# exit
    awplus(config)#

詳しくは、「UTM」/「エンティティー定義」をご覧ください。

#### アプリケーションの定義

ファイアウォールおよびNATでは、パケット種別（通信内容）の指定に「アプリケーション定義」を使います。
主要なアプリケーションはあらかじめ定義されていますが、そこに含まれていないアプリケーションのトラフィックを制御する場合は、最初にアプリケーションを定義する必要があります。
アプリケーション（application）は、IPプロトコルタイプ（protocol）、DSCP値（dscp）、始点/終点ポート番号（sport / dport）、ICMPタイプ/コード（icmp-type / icmp-code）で定義します。
アプリケーション「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

アプリケーション「isakmp」

    awplus(config)# application isakmp
    awplus(config-application)# protocol udp
    awplus(config-application)# sport 500
    awplus(config-application)# dport 500

アプリケーション「esp」

    awplus(config)# application esp
    awplus(config-application)# protocol 50
    awplus(config-application)# exit

詳しくは、「UTM」/「アプリケーション定義」をご覧ください。

### UTM各機能の設定と有効化

エンティティーとアプリケーションの定義がすんだら、UTMの各機能の設定を行い、機能を有効化します。
なお一部の機能には、アニュアルライセンスが必要です。

#### アプリケーションコントロール（DPI）

通信内容（レイヤー7）にもとづいて、トラフィックがどのアプリケーションに所属するかを識別するアプリケーションコントロール（DPI = ディープパケットインスペクション）機能を有効化します。
アプリケーションコントロール（DPI）機能自体はアプリケーションの識別を行うだけですが、その情報は動的な「アプリケーション定義」として、下記機能のルール設定時に利用できます。

- ファイアウォール
- QoS
- ポリシーベースルーティング

Note

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

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

    awplus(config)# dpi
    awplus(config-dpi)# provider built-in
    awplus(config-dpi)# enable
    awplus(config-dpi)# exit
    awplus(config)#

詳しくは、「UTM」/「アプリケーションコントロール（DPI）」をご覧ください。

#### 侵入防御（IPS）

サービス妨害（DoS）や不正アクセスと思われるトラフィックを検出してログに記録、あるいは通信を遮断する侵入防御（IPS）機能の設定を行います。
侵入防御（IPS）機能の処理は、ブリッジング用、ルーティング用の両インターフェースで受信したパケットに対して行われます。
侵入防御（IPS）の設定は、IPSモード（ipsコマンド）で行います。
イベント種別ごとのアクション設定はcategory actionコマンドで、機能の有効化はprotectコマンドで行います。

    awplus(config)# ips

    awplus(config-ips)# do show ips categories
    Category (* = invalid)       Action
    ---------------------------------------
      checksum                   alert
      ftp-bounce                 alert
      gre-decoder-events         alert
      http-events                alert
      icmp-decoder-events        alert
      ip-decoder-events          alert
      ppp-decoder-events         alert
      smtp-events                alert
      stream-events              alert
      udp-decoder-events         alert

    awplus(config-ips)# category checksum action deny
    awplus(config-ips)# category ftp-bounce action deny
    awplus(config-ips)# category http-events action disable

    awplus(config-ips)# protect
    awplus(config-ips)# exit
    awplus(config)#

詳しくは、「UTM」/「侵入防御（IPS）」をご覧ください。

#### URLフィルター（URLブラックリスト）

ユーザーが定義したURLのブラックリスト、ホワイトリストにもとづいて、Webアクセスを拒否・許可するURLフィルター（URLブラックリスト）機能を有効化します。
URLフィルターの設定は、次の流れで行います。

1. ブラックリスト、ホワイトリストのリストファイルを作成し、ローカルファイルシステムに保存します。
   blacklist.txt

       baddomain.example.com
       example.jp/badcontents/*
       example.com/files/xxxx/*

   whitelist.txt

       */useful/*
       *.rel

2. URLフィルターモード（url-filterコマンド）のblacklistコマンド、whitelistコマンドでリストファイルを指定し、protectコマンドでURLフィルター機能を有効化します。

       awplus(config)# url-filter
       awplus(config-url-filter)# whitelist flash:/whitelist.txt
       awplus(config-url-filter)# blacklist flash:/blacklist.txt
       awplus(config-url-filter)# protect

詳しくは、「UTM」/「URLフィルター」をご覧ください。

#### ファイアウォール

ステートフルインスペクションファイアウォールの設定を行います。
ファイアウォール有効時はデフォルトですべてのトラフィックが拒否されるため、あらかじめ必要な許可ルールを設定した上で、有効化します。
ファイアウォールの設定は、ファイアウォールモード（firewallコマンド）で行います。
ルールの設定はruleコマンドで、機能の有効化はprotectコマンドで行います。

    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

    awplus(config-firewall)# protect
    awplus(config-firewall)# exit
    awplus(config)#

詳しくは、「UTM」/「ファイアウォール」をご覧ください。

#### NAT

ダイナミックENAT（IPマスカレード）とポートフォワーディングの設定を行います。
ファイアウォールとNATを併用する場合は、NAT対象のトラフィックがファイアウォールで破棄されないよう適切なファイアウォールルールを設定する必要があります。
NATの設定は、NATモード（natコマンド）で行います。
ルールの設定はruleコマンドで、機能の有効化はenableコマンドで行います。

    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 log

    awplus(config-nat)# enable
    awplus(config-nat)# exit
    awplus(config)#

詳しくは、「UTM」/「NAT」をご覧ください。