どうも社内ニートです。
インターネットブレイクアウトは近年注目されている機能です。
今回はインターネットブレイクアウトとは何か、
FortiGateでインターネットブレイクアウトする設定方法をご紹介していきます。
インターネットブレイクアウトとは
従来のネットワーク構成の場合、本社拠点やデータセンターにトラフィックを集中させ、
そこにあるファイアウォール経由でインターネットに接続させることが一般的かと思います。
近年Microsoft365(旧:Office365)やGsuiteのような、
SaaSアプリケーションの使用頻度が高まってきたことにより、
本社拠点やデータセンターのファイアウォールの負荷が高まったり、
インターネット回線がひっ迫してしまうことで、
通信速度が遅くなったり、通信できないという事態が発生してきています。
そこで、HTTPSで通信するような信頼できるSaaSアプリケーションは、
拠点から直接通信させて、センター拠点やデータセンター宛のトラフィック量を下げ、
ファイアウォールの負荷を下げたり、
インターネット回線がひっ迫することを避けようということが、
インターネットブレイクアウトとなります。
ISDB(Internet Service Data Base)
FortiGateにもインターネットブレイクアウトを行う機能があり、
スタティックルートの宛先にSaaSアプリケーションのサービスを設定することで、
インターネットブレイクアウトを実現します。
サービスはFortiGateが持つ、
ISDB(Internet Service Data Base)という、
データベースに登録されているサービスから選択することができます。
ISDBには1500以上のサービスが登録されており、
『Office365』や『Youtube』、『Twitter』といったメジャーなサービスが登録されています。
ISDBの確認方法
ISDBにどのようなサービスが登録されているかを確認する方法は3種類あります。
- FortiGuard
- GUI
- CLI
それぞれの方法をご紹介していきます。
FortiGuardでISDBを確認する方法
FortiGuardで対象のサービスがISDBに登録されているかを確認することができます。
FortiGateを導入してインターネットブレイクアウトを行いたいけど、
ISDBに登録されているか確認したいというような導入前確認に行うとよいかと思います。
FortiGuardにアクセスしてください。
画面下Cookieの同意確認を『Accept』 ※利用に同意する場合のみ
右上の『Threat Lookup』→『Threat Encyclopedia』を押下
右上の『Search FortiGuard』に検索したいサービス名を入力
左の『Refine Search』の『Filter by category』の『Internet Service』にチェックを入れる
『Internet Service』がISDBという意味です。
チェックを入れた状態で検索にヒットしない場合は、
検索の仕方を変えてみるとよいかと思います。
今回は『Office』と検索しましたが、
『Microsoft』のようにサービス提供元の企業名で検索するとヒットする場合もあります。
それでもヒットしない場合は残念ながらISDBに登録されていないため、
インターネットブレイクアウトの設定ができないということになります。
GUIでISDBを確認する方法
FortiGateのGUIでISDBを確認する方法をご紹介します。
『ポリシー&オブジェクト』→『インターネットサービスデータベース』
『+インターネットサービスデータベース』を押下
検索欄に『サービス名』を入力
ここで検索できるのは『Office365』のようなサービス名のみです。
『8.8.8.8』のようにIPアドレスを入力しても検索することができません。
対象のサービスをダブルクリックすることで、
ISDBの中身、つまりIPアドレスとポート番号の組み合わせを確認することができます。
基本的には設定不要ですが、
特定のIPアドレスとポート番号の組み合わせを無効にすることも可能です。
CLIでISDBを確認する方法
FortiGateのCLIでISDBを確認する方法をご紹介します。
CLIで確認することも可能ですが、
GUIの方が見やすいのでGUIで確認されることをオススメします。
diagnose internet-service id
こちらのコマンドを使用することで、ISDBの一覧を表示することができます。
ただしISDBは1500件以上ありしばらく操作できなくなるので、実行は現実的ではありません。
diagnose internet-service id | grep -i "Office"
このようにgrep機能を使用することで、対象が絞りやすくなります。
grep機能の使いかたはこちらをご覧ください。
diagnose internet-service id 327782
CLIの場合、サービス名ではなく、データベースで管理されているIDで指定することになります。
Office365を指定して実行すると、登録件数が多いためしばらく操作できなくなります。
ISDBの中身を確認したい場合はGUIで行うことをオススメします。
CLIでIPアドレスから該当するISDBを検索する方法
CLIにはIPアドレスから該当するISDBのサービス名を検索できるコマンドがあります。
2種類コマンドがありますのでご紹介します。
- IPアドレス+ポート番号で検索するコマンド
- IPアドレス+サブネットマスクで検索するコマンド
なお、IPアドレスから該当するISDBサービス名を検索することはGUIではできません。
IPアドレス+ポート番号で検索するコマンド
diagnose internet-service info root 17 53 8.8.8.8
diagnose internet-service info VDOM名 プロトコル番号 ポート番号 IPアドレス
VDOM名のVDOMとはCiscoで言うVRFのように、
1台のFortiGateに複数台仮想FortiGateを動作させる機能になります。
詳細は別途記事にしますが、VDOMを使用していない場合は『root』を指定してださい。
プロトコル番号番号はIANA指定のプロトコル番号を指します。
『TCP:6』、『UDP:17』を指定してください。
IPアドレス+サブネットマスクで検索するコマンド
diagnose internet-service match root 8.8.8.8 255.255.255.255
diagnose internet-service match VDOM名 IPアドレス サブネットマスク
こちらのコマンドではプロトコルとポート番号を指定しないので、
コマンド実行結果が複数表示される場合があります。
IPアドレスが同じでもプロトコルとポート番号が異なると、
違うサービスに登録されている場合があるからです。
ISDBの更新頻度
ISDBは基本的に1日1回更新されます。
ISDBはインターネットにあるFortiGuardというシステム上にあり、
FortiGateはFortiGuardからISDBをダウンロードしてきます。
Tips:注意事項
『xxx.fortguard.net』というドメイン宛にアクセスを行います。
xxxの部分は、『service』や『update』のように通信用途によってことなります。
つまり、FortiGateがFortiGuardと通信するためには
- インターネットに接続できること
- DNSで名前解決できること
が条件にとなってきます。
ISDBの更新方法
FortiGateがFortiGuardにアクセスできる状態であれば、
自動的にISDBは更新されますので、特に意識することはありません。
手動で更新することも可能ですので、更新方法をご紹介します。
GUIでISDBを更新する方法
GUIでISDBを更新する方法をご紹介します。
GUIにログイン後、
『システム』→『FortiGuard』
画面を下にスクロール→『アンチウィルスとIPSのアップデート』→『AV&IPS定義を更新』を押下
『OK』を押下
『OK』を押下するとすぐに画面下に下記のメッセージが表示されます。
メッセージは5秒程度で消えますが、
その後に『更新完了』のようなメッセージは表示されません。
画面を上にスクロールすると『ライセンス情報』の欄に、
『インターネットサービスデータベース』という項目があります。
下線が引いてあるバージョンにカーソルを合わせると更新日が表示されます。
更新日が当日もしくは前日であれば正しく更新されたということになります。
GUIの場合は更新日が年月日までしか表示されません。
時分秒まで確認したい場合はCLIで確認するようにしてください。
CLIでISDBを更新する方法
CLIでISDBを更新する方法をご紹介します。
ISDBの更新には下記コマンドを実行します。
execute update-now
コマンドを実行しても、プロンプトが返ってきて終わりです。
更新の確認には下記コマンドを実行します。
diag autoupdate versions diagnose autoupdate versions | grep -iA5 "Internet"
CLIでは更新日が年月日時分秒まで表示されますので、
GUIよりも詳細を確認することができます。
単純にコマンドを実行すると、
他のシグネチャファイルなどの更新日時も表示されてしまいます。
確認するところは『Internet-service Database』になりますので、
grep機能で引っ掛けてあげると確認しやすくなるかと思います。
インターネットブレイクアウトの設定する方法
インターネットブレイクアウトの設定方法は簡単で、
スタティックルートの宛先としてISDBに登録しているサービスを指定するだけです。
インターネットブレイクアウトの設定はGUI・CLIの両方で設定することができます。
GUIの方が圧倒的に設定しやすいので、GUIで設定することをオススメします。
GUIでインターネットブレイクアウトの設定をする方法
GUIでインターネットブレイクアウトの設定する方法をご紹介します。
今回は『Office365』をインターネットブレイクアウトする設定を行っていきます。
『ネットワーク』→『スタティックルート』
『新規作成』を押下
『宛先』で『インターネットサービス』を押下
検索欄に『サービス名』を入力→『該当サービス』を選択
今回は『Office365』を設定していきます。
『ゲートウェイアドレス』を入力
『インタフェース』を選択
各値を入力後に『OK』を押下
ゲートウェイアドレス:192.168.1.1
インタフェース:iternal
『OK』を押下すると先ほどの画面に遷移し、設定したルーティング出来上がります。
以上がGUIでインターネットブレイクアウトの設定する方法になります。
通常のスタティックルートを設定する方法とほぼ一緒です。
各種設定値の詳細な解説はスタティックルートの設定方法で行っています。
CLIでインターネットブレイクアウトの設定をする方法
CLIでインターネットブレイクアウトの設定する方法をご紹介します。
GUIと同様で『Office365』をインターネットブレイクアウトする設定を行っていきます。
GUIはサービス名を指定して設定を行いましたが、
CLIではサービス名に紐づくIDを指定して設定を行います。
『Office365』のIDは下記のコマンドを実行して検索を行います。
diagnose internet-service id | grep -i "Office"
実行結果から『Office365』のIDは『327782』ということがわかりました。
こちらをもとにConfigに表します。
config router static edit 1 set internet-service 327782 set gateway 192.168.1.1 set device internal next end
実機に流し込んでいきます。
各種設定値の詳細な解説はスタティックルートの設定方法で行っています。
CLIでインターネットブレイクアウトの設定を行う際に、
まずはサービス名に紐づくIDを検索してから設定を行いますし、
間違ったIDを指定しても気付かない場合が多いので、
CLIで設定することはオススメしません。
注意事項
FortiGateでインターネットブレイクアウトするにあたっての注意事項が2点あります。
- ISDBの更新が間に合わない場合がある
- ISDBはIPアドレスとポート番号の組み合わせ
それぞれ説明していきます。
ISDBの更新が間に合わない場合がある
インターネットサービスは頻繁にIPアドレスが変更されていきます。
ISDBも1日1回更新されますが、
インターネットサービスの変更に追いつけない場合がありますので、
設定したサービスのすべてがインターネットブレイクアウトできるとは限りません。
目安としては7割~8割くらいを期待しておくとよいかと思います。
7割~8割でもトラフィック削減することができれば、十分に効果はあるかと思います。
ISDBはIPアドレスとポート番号の組み合わせ
ISDBはIPアドレスとポート番号の組み合わせで構成されています。
IPアドレスは合っていても、ポート番号が合っていなければ、
ISDBにはマッチせず通常のルーティングで処理が行われます。
例えば、GoogleDNSというISDBをインターネットブレイクアウトする設定を行っていた場合、
ISDBの中身は8.8.8.8 UDP53という組み合わせになります。
疎通確認で8.8.8.8宛にpingを行ってもISDBにはポート番号がマッチしないため、
通常のルーティングが行われてしまうということです。
まとめ
ISDBの確認方法、インターネットブレイクアウトの設定方法をご紹介しました。
インターネットブレイクアウトの設定に関しては、
サービス名を指定して設定が圧倒的にGUIの方が楽なので、
GUIで設定することができれば問題ないかと思います。
CLIでは、GUIではできないIPアドレスからサービス名を検索することができるので、
この2コマンドだけ使用できるようになるとよいかと思います。
- diagnose internet-service info VDOM名 プロトコル番号 ポート番号 IPアドレス
- diagnose internet-service match VDOM名 IPアドレス サブネットマスク
インターネットブレイクアウトの設定以外はこちらに記載しています。