清水理史の「イニシャルB」
実売2万6000円のIPS/IDS付きエッジルーター、Ubiquiti「UniFi Security Gateway(USG)」
2019年1月7日 06:00
米Ubiquiti Networksから発売されている「UniFi Security Gateway(以下、USG)」は、IPS/IDSや「DPI(Deep Packet Inspection)」などの機能を備えた小規模環境向けのセキュリティゲートウェイだ。正規代理店での販売価格は2万6000円程度と安価な上、ライセンスも不要で、しかも高度なファイアウォールに加え、サイト間VPNの構築なども可能な製品となっている。DS-LiteのIPoE IPv6回線環境で実際に使ってみた。
コストパフォーマンスは抜群、ソフトのライセンス費用は不要
今までの感覚なら、中小規模環境向けのモデルであれば、ハードウェアが5~8万円程度、製品によっては、これにプラス年額数万~十数万円(契約内容による)ほどのライセンス費用が掛かるのが、この手のセキュリティ製品の相場だった。
これに対してUSGは、小規模環境向けのモデルとなる3ポートのモデルで、国内代理店であるソネット株式会社の直販サイト「Sonet Direct」での実売価格は、税込で2万6244円。Amazon.co.jpではもっと安価に販売されている場合もある。
「UniFi Elite」と呼ばれる高度なサポート(ディストリビューターによる電話サポートや延長保証など)を契約しない限りは、ライセンス費用は不要で、2万円台の初期費用だけで利用できる製品となっている。なお、ラックマウントタイプの上位モデル「Ubiquiti Unifi Security Gateway Pro(USG-PRO-4)」もラインナップされている。
現状、セキュリティ機能の中核を成すIPS/IDSがベータ版での提供となっており、これが正式リリースされた場合、コスト面での変化があるかどうかは不明だ。しかし、Ubiquiti製品はWi-Fi製品や管理用のコントローラーソフトなどを含め、ライセンス費用が掛からないのが特徴となっているので、その伝統は守られるのではないかと、個人的には予想している(IPSのシグネチャに無料版と有料版が提供されることは考えられるが……)。
というわけで、数名から数十名規模のオフィスであれば、非常に少ない投資でネットワークのセキュリティ対策が可能となるのが、このUbiquitiのUSGということになる。
スペックはEdgeRouter Lite相当
それでは製品を見ていこう。
本体は、ホワイトを基調としたUniFiシリーズ共通のデザインだ。全体的にシンプルながら、上部のロゴ周辺がLEDで点灯するようになっており、この点灯状況で起動中、エラー発生といった本体の稼働状態をチェックできるようになっている。
インターフェースは、背面に電源、前面にEthernetポートという構成になっており、前面左から、設定用のコンソールポート、WAN1ポート、LAN1ポート、WAN2/LAN2ポートという構成になっている。
とは言え、これらはあくまでも識別するための便宜上のもので、実際にどのポートをどの用途に使うかは、後述するコントローラーソフトウェアやコマンドで、自由に設定可能となっている。
ちなみに電源だが、筆者がAmazon.co.jpから購入した製品は、電源アダプターが別売りの簡易包装仕様モデルだった。同様の製品を購入する場合は、DC12V1A、内径2.1mm/外径5.5mmのACアダプターが必要となる。
このタイプのACアダプターは、無線LANルーターで広く使われているものなので、探すのはさほど難しくない。筆者は、自宅に余っていたプラネックス製ルーターのもので代用した。
スペックは次の表の通りで、ハードウェアとしては、以前の連載でレビューした「EdgeRouter LITE(ERLite-3)」相当ではないかと考えられる。
USG | ERLite-3 | ER-X | |
CPUコア数 | 2 | 2 | 2 |
動作クロック | 500MHz | 500MHz | 880MHz |
メモリ | 512MB | 512MB | 256MB |
ストレージ | 2GB | 2GB | 256MB |
コンソールポート | 1 | 1 | ― |
Ethernetポート | 3 | 3 | 5 |
スループット(512byte以上) | 3Gbps | 3Gbps | 1Gbps |
EdgeRouterは高機能なルーターとして知られているが、USGには、こうしたEdgeRouterの特徴に加え、セキュリティ関連の機能が追加されている。
冒頭で触れたDPIに関しては、EdgeRouterでも実装可能だが、これに加え、通過するパケットを検査し、脆弱性を悪用する攻撃などについて、検知や遮断ができるIPS/IDSも搭載されている点が異なる。
さらに、EdgeRouterシリーズにはないUniFiシリーズの特徴として、「UniFi Controller」によるGUIでの統合管理と、クラウド管理が可能(要CloudKey)という点がある。
なお、UniFiではUniFi Controllerでの設定が基本だが、EdgeRouterシリーズと同じコマンドを用いたコマンドラインによる設定も可能だ。また、JSON形式のコンフィグファイルによる構成も可能となっている。
結局、設定にはコマンドラインを使わないと厳しい
設定や構成は、前述したように「UniFi Controller」を利用する。JavaベースのサーバーアプリをPC上で稼働させ、ブラウザー経由でローカルホストに接続することで設定を行うスタイルになる。
コンシューマー向けWi-Fiルーターなどとは異なり、複数台の管理が基本となるため、GUIとは言え、設定には慣れが必要になる。だが、インターネット接続などの設定は簡単に実行できる。こうしたあたりはEdgeRouterに比べ、やはり使いやすい印象だ。
しかしながら、GUIで用意されている項目は、USGの機能を全て網羅するものではないため、少し外れた設定を使おうとすると、コマンドラインを使わざるを得なくなる。
代表的なのが、IPv4 over IPv6(DS-Lite)の設定だ。IPoE IPv6に関してはGUIでの設定が可能となっているため、単にWANポートでIPv6を有効にすれば済むのだが、IPv6上でIPv4を使うには、コマンドラインでの設定が必要になる。
幸いなことに、コマンドの体系はEdgeRouterと同じだ。EdgeRouterでDS-Liteに接続するための記事などを検索して参考にすれば、設定にはさほど苦労しないだろう。とりあえずは、以下のように設定することでDS-Liteでの接続ができることを確認した。
- GUIでIPv6を有効化(WAN→PREFIX 60で取得、LAN→PD)
- SSHでUSGに接続
- IPv6アドレスを確認(show interfaces)
- configureで設定モードに移行
- 以下のように確認したIPv6アドレスを使ってIPv6トンネルを作成し、ルートを構成
set interfaces ipv6-tunnel v6tun0 encapsulation ipip6
set interfaces ipv6-tunnel v6tun0 local-ip [IPv6アドレス]
set interfaces ipv6-tunnel v6tun0 remote-ip 2404:8e00::feed:101
set interfaces ipv6-tunnel v6tun0 mtu 1500
set interfaces ipv6-tunnel v6tun0 multicast disable
set interfaces ipv6-tunnel v6tun0 ttl 64
set protocols static interface-route 0.0.0.0/0 next-hop-interface v6tun0 - commitとsaveを実行
これで、とりあえずインターネット接続は可能だが、ここで注意しなければならないのがUniFi Controllerの存在だ。USGは、UniFi Controller経由での設定が基本となるため、当然ながらいくらコマンドラインで本体側を設定しても、再起動するとUniFi Controllerに保存された設定が読み込まれるので、本体側の設定は無効になってしまう。
このため、コマンドで設定を行った場合には、それをJSON形式のファイルとして取り出し、そのJSONファイルをUniFi Controllerに保存して、起動時に読み込ませるようにする必要がある。
具体的には、上記の設定をした後、「mca-ctrl -t dmp-cfg」を実行する。これで、画面上にJSON形式の設定情報が表示されるので、これをファイルとして取り出し、以下に示したIPv6トンネル部分とスタティックルートの部分のみをファイルとして保存するわけだ。
{
"interfaces": {
"ipv6-tunnel": {
"v6tun0": {
"encapsulation": "ipip6",
"local-ip": "[IPv6アドレス]",
"mtu": "1454",
"multicast": "disable",
"remote-ip": "2404:8e00::feed:101",
"ttl": "64"
}
}
},
"protocols": {
"static": {
"interface-route": {
"0.0.0.0/0": {
"next-hop-interface": {
"v6tun0": "''"
}
}
}
}
}
}
最終的に、このファイルをUniFi Controllerを実行しているPCの「C:Users%username%Ubiquiti UniFidatasitesdefault」に保存しておけばいい。これで、再起動時にJSONファイルが読み込まれて設定が本体側に反映され、DS-LiteのIPoE IPv6で正しく接続できるようになる。
なお、長くなるので省略するが、実際には、上記方法ではIPv6のアドレスを取得するまでに時間が掛かるため、再起動後、十数分しないと接続できないケースが起こる。これを回避するには、IPv6のアドレスを固定で設定し、IPv6の「::/0」のルートもスタティックとしてルーターのIPv6アドレスに指定しておくようにする。
このあたりも、ネット上にいくつもあるEdgeRouterでDS-Lite接続する方法が参考になるので、参考にしながら設定するといいだろう。
なお、IPv6をGUIで有効化しておけば、IPv6関連のファイアウォールの設定などは自動的に構成される。すべてをコマンドラインで設定しなくて済むのも、本製品の魅力だ。
DPIやIPSの効果とデメリット
DPIについては、標準で有効になっているので、普通に使っていれば次第に解析結果が蓄積されていき、その結果を参照できるようになる。
例えば、iPhoneを接続して、しばらくの間使っていた状態が、次の画面だ。Appleへの接続やIMAP4のメール、LINEの通信など、アプリケーションごとに通信状況が分かるようになっている。
また、クライアントごとの統計なども表示できるので、例えば大量に通信しているユーザーや心当たりのないP2P通信などを、ここから探し出すことなどができる。
なお、DPIは解析だけでなく、通信の遮断も可能となっている。例えばP2Pを指定して通信をブロック(グループごとにルールを使い分け可能)することもできるようになっている。
一方、IPS/IDSは、標準では無効になっているので有効にしていずれかを選択し、稼働させる必要がある。IDSは検知と通知、IPAは検知と通知に加えて通信の遮断ができるので、有効化した後、「Malware」や「Exploit」などのカテゴリーを設定すれば、動作可能となる。
試しに、Ubiquiti Networksのウェブページでテスト方法として紹介されている方法を利用し、ネットワーク内のPCから「nslookup @8.8.8.8 blacklistthisdomain.com」とコマンドを実行してみたところ(DNSカテゴリの有効化が必要)、「A Network Trojan was Detected.」とIPAが検知したアラートを確認できた。
そのまましばらく動作させてみたが、ちょうどテストしていたNASからのBitTorrentの通信が検出された。テストでファイルダウンロード用の追加パッケージをインストールしていたので、この通信を検知していたようだ。
このように、何もしなければ見逃してしまう通信も、USGがあれば検知可能となるわけだ。ネットワークを見える化する方法としてだけ考えても、この価格なら安いだろう。
ただし、DPIとIPSは便利だが、IPSの設定画面にも記載されている通り、IPSを有効にすると、インターネット接続の速度は85Mbps前後にまで低下するとされている。実際に試してみたが、DS-Liteの環境で下りで60Mbps前後となった。ただし、IPSをオフにしても、この値は変わらなかったため、どちらかというとIPv6トンネルの速度が遅いのではないかと疑っている。
とは言え、数人のユーザーで使う分には、実用上はあまり意識せずに済むため、許容範囲という印象だ。
EdgeRouterの面白さ+α
以上、Ubiquiti NetworksのUSGを試してみたが、やはりこの価格は魅力的だ。環境によっては設定にコマンドラインを使う必要があるなど、それなりに苦労する可能性がある。このため、実際にオフィスへ導入するには、ある程度決断をする必要があるとは言えるが、個人でアレコレといじって楽しむには、なかなか奥が深い製品と言える。EdgeRouterとしての面白さだけでなく、UniFi Controllerを使う面白さも堪能できる。この手の製品をいじることが苦痛でなく、むしろ楽しいと感じる方には、お勧めできる製品だ。
なお、UniFiコントローラーについては、今回はPC上で動作させたが、すでにCloudKeyを購入済みなので、追ってクラウドでの管理についてもレビューしていく予定だ。