この価格でここまでできるの!?Unifi製品のファイアウォール機能を使ってみる💫 ~シンプルファイアウォール編~
今回からUnifi Cloud Gateway Ultraに搭載されている
セキュリティ機能について3回(くらい)に分けて検証しながら紹介していこうかなと思います。
私の中でこの製品を買うに至った理由の一つとして、
高度なセキュリティ機能が実装されている事が挙げられるため、
検証していく中で見えたメリットとデメリットについて記事にしていけたらと思っています。
今回の目次は以下の通りです。
- ■今回の検証環境
- ■Unifiシリーズの機器に実装されているFW機能について
- ■シンプルモードと高度なモード
- ■アプリ単位でのブロックを使ってみる
- ■ドメイン(FQDN)単位でのブロックを使ってみる
- ■IP単位でのブロックを使ってみる
- ■国単位のブロック(Geo IP)を使ってみる
- ■インターネットをブロックする?
- ■LANをブロックする
- ■総評
- ■最後に
■今回の検証環境
Alma Linuxのクライアントからサーバーの接続や、
WANに向けた接続など色々試そうと思います。

■Unifiシリーズの機器に実装されているFW機能について
まず、前提としてお話しなければならない内容として、
現在、Unifiシリーズの機器には2つのFW機能が搭載されています。
1) Simple App Blocking + Advanced Firewall
2) Zone-Based Firewalls
違いとしては、Simple App Blocking + Advanced Firewallが以前からあるFW機能で、
Zone-Based FirewallsはUniFi Network 9.0.108 Official Releaseで
リリースされた新しいFW機能です。
現状は両方とも使えますが、Zone-Based Firewallsに移行すると
Simple App Blocking + Advanced Firewallに切り替えられないのでその点は留意が必要です。
※System Backupsからリストアすることで戻すことができます。
おそらく今後はZone-Based Firewallsの開発に注力するのだろうと思いますが、
せっかくなのでSimple App Blocking + Advanced Firewallについて触れた上で、
Zone-Based Firewallsの比較について話せたらいいかなと思っています。
参考にしたドキュメントはこちらです。
Application Filtering in UniFi – Ubiquiti Help Center
UniFi Gateway - Advanced Firewall Rules – Ubiquiti Help Center
■シンプルモードと高度なモード
はじめに、Advanced Firewallにはルールタイプが2つあります。
ルールタイプは"シンプル"と"高度な"の2種類です。

詳細は後述しますが、"高度な"に設定すれば"シンプル"の設定が
内包されそうですがそんな事はありません。
状況に応じてルールタイプに応じた設定が必要なので、その点は注意が必要です。
■アプリ単位でのブロックを使ってみる
Unifiではアプリのシグネチャ情報を持っており特定のアプリをブロックといった設定が簡単にできます。すごい。
とりあえずTemuをブロックしてみましょうか。
シンプルモードで以下のように設定します。
・名前:Block-Temu-App
・アクション:ブロック
・送信元:vlan10-CL (VLAN10配下のクライアントからのアクセスをブロックする)
・送信先:アプリ(Temu)
・スケジュール:Always(いつでもブロック)
スクショはこんな感じ。
実際にVLAN10のクライアントからTemuがブロックできているか試してみます。
GoogleでTemuを検索しアクセスしたところ、入れはしたものの何も出てきませんでした。
これはシステムログ > Triggersからも同様のログが確認できます。


とりあえずブロックはできているようですね。簡単でとても良さそう。
これと同様に、送信先を変更することで、アプリグループ単位でのブロックもできます。


例えば「Dropboxをストレージに使っているがそれ以外のストレージをブロックしたい」といったシャドーIT対策に使えそうですね。
一般家庭ではスケジュール機能と合わせて「子どもが23時以降にSNSを使えなくする」みたいな方法があるかな?
ただ、正直なところアプリカテゴリーはもう少し増やしてもいいかも?
オンラインショッピングとかもう少しいろんな範囲で
カテゴリー分けされていると使い勝手も良くなりそうだなと思いました。
■ドメイン(FQDN)単位でのブロックを使ってみる
ファイアウォールの対象にはドメイン(FQDN)も指定できます。
今回はYahoo Japanをブロックしてみます。
シンプルモードで以下のように設定します。
・名前:Block-Yahoo-FQDN
・アクション:ブロック
・送信元:vlan10-CL (VLAN10配下のクライアントからのアクセスをブロックする)
・送信先:www.yahoo.co.jp (ドメイン名)
・スケジュール:Always(いつでもブロック)

vlan10配下のクライアントから www.yahoo.co.jp にアクセスしましたが、
読込中から変わらない動作になりました。

ちゃんとログも出ていますね。


ブロックはできているもののクライアントの状況から
FWでドロップする動作になっているので出来れば
何かしらのレスポンスは返して欲しいなーと思います。
この間、クライアントから再送とか発生していそうなので、
そういった無駄な時間が減らせればもっとより良くなるかなと思いました。
良かった点として、HTTPSでもブロックできているので
恐らくSNIでブロックするか判別しているのかな~と思います。
HTTPSでもちゃんとブロックしてくれるところは
運用面でもすごく有用なので助かりますね。
ちなみにワイルドカードを使った指定は試しましたができませんでした。

と思っていたら想定外の挙動をしました。
FWの中には明示的にワイルドカードを指定しなくても
暗黙的にサブドメインまで包括してブロックするものも存在するため、
念の為そういった挙動はないか調べていました。
下記のように、wwwを除外したYahooのFQDNを登録し、
クライアント側から接続を試みたところ、またタイムアウト。




おや・・・?
どうやらAdvanced Firewallのドメイン名指定は、
暗黙的にサブドメインまで指定されてしまうようです。
ちなみに私が個人で持っているドメインでも試しましたが
同じ結果になるのでYahooに起因した問題ではなさそうです。
これは環境によっては致命的かも・・・。
■IP単位でのブロックを使ってみる
これはシンプル/高度な共に使えます。
シンプルモードだとIPアドレスとIP範囲でブロックできます。

逆に"高度な"設定だと少し面倒です。

IP範囲の指定は、送信先の宛先タイプをObjectに指定して事前に定義したIP範囲を設定できます。

複数のIPが定義できなかったりと少々面倒な点がありますが”高度な”の設定には
明示的にブロック時のアクションを指定できたりといったメリットもあるので、
一長一短なのかなーと思いました。
■国単位のブロック(Geo IP)を使ってみる
これはシンプルモードオンリーの設定で今回は中国への通信を禁止したいと思います。
・名前:Block-Region-China
・アクション:ブロック
・送信元:vlan10-CL (VLAN10配下のクライアントからのアクセスをブロックする)
・送信先:China (地域)
・スケジュール:Always(いつでもブロック)

中国政府のサイトでも開けばブロックできるかなーと思い、
"China site"と調べenglish.www.gov.cnを開いてみました。が・・・
開けたもののFirefox上はぐるぐる。

どうやらブロック自体は作動しているものの表示はできちゃう模様。

中華網日本語版(japanese.china.com)に繋いでみるとタイムアウトしたので、
GeoIPの精度の問題かなーと思います。
アプリでのブロックやGeoIPは精度面の保証ができないので、
やはりそこは把握したうえで利用したほうが良さそうです。
ただ、”特定の国のサイトをブロックしたい”といった要件であれば
手軽に設定できるため積極的に使っていってもいいのかなと思います。
■インターネットをブロックする?
よくわからないんですが、シンプルモードに"インターネット"という項目があったので試してみます。

多分、WAN宛の通信をブロックする・・・のかな?
VLAN20のサーバ宛には疎通できるので、多分そうっぽい。

■LANをブロックする
送信先を"ローカルネットワーク"にすることでLANをブロックすることが可能です。
何気に便利なのが"トラフィック方向"を設定することで
双方向にブロックを適用できたりします。
簡単に範囲を指定してLANのファイアウォールを設定できるのはいいですね。

ちなみに"高度な"でも同じ設定自体は可能です。
恐らくこちらでは双方向でブロックをかけたりできないと思います。

■総評
使ってみておおよそ基本的な要件に沿った設定はできるので
とても有用なファイアウォール機能だと思います。
ただ一方でFQDN指定で暗黙的にサブドメインまでブロックしたりと
少々機能動作上使いづらい面もあったのでそこは注意が必要そうです。
アプリケーションシグネチャによるブロックやGeoIPなどの
外部データに依存したブロック手法においても、
ほとんどのケースで問題なくブロックができ、
誤ブロックなども起きなかったので正確性についても十分だと思いました。
どの記事でも言っている気がしますが、このレベルの機能が1万円台の機器でかつ
ライセンス不要で使えるのは本当にすごいことだと思います。
設定自体もシンプルモードで済む設定では最低限の知識さえあれば設定でき、
後の記事で触れる予定ですがAdvanced Firewallも組み合わせることで
ビジネスレベルのファイアウォール制御にも対応するので
様々なユーザの利用を想定しているんだろうなーと。
・・・強いて言えば、”シンプルモードだけ”で設定できる項目があるのは、
正直少し面倒で細かいレベルの設定ができないデメリットもあるので、
Advanced Firewallでも同じ項目が設定できるようになると
もっとより良いモノになるのかな~と少し残念な気持ちになりました。
■最後に
実は旧タイプのSimple App Blocking + Advanced Firewallをこの記事にまとめるつもりだったんですが、
シンプルモードだけで3000文字を超えてしまって読みづらいと思ったので区切ることにしました。
計画性皆無すぎる。
いや、機能が多すぎるUnifiが悪いのか(開き直り)
でも実際触っていて面白い機器で私自身のNWの勉強にもなっているので、
Unifi機器の記事は当面出すことになりそうです。
お恥ずかしい限りですが実務でNWの世界に入って1年が過ぎた今でも
実機で触ってみると誤解していた部分があったりするので
こういった形でネットワークを学べてよかったなと思っています。
今後もまったり検証記事など上げていければと思うので、
良ければスターなどよろしくお願いします💫
してくれたら私が飛んで喜びます(?)