FortiGateの設計/設定ガイド

FortiGateの設計・設定方法を詳しく書いたサイトです。 FortiGateの基本機能であるFW(ファイアウォール)、IPsec、SSL‐VPN(リモートアクセス)だけでなく、次世代FWとしての機能、セキュリティ機能(アンチウイルス、Webフィルタリング、SPAM対策)、さらにはHA,可視化、レポート設定までも記載します。初期化方法やバージョンアップなどの管理面も書いています。標的型攻撃を守るためのゲートウェイとしても導入されることが多いので、セキュリティ機能に関しては充実した記載を心がけます。

FortiGateでゼロトラスト

ゼロトラストという概念が広まっているが、FortiGateでもゼロトラストに対応している。
https://www.fortinet.com/jp/blog/business-and-technology/new-zero-trust-network-access-in-fortios-7-0-supports-the-evolution-of-vpn

ZTNA(ゼットティーエヌエー:ゼロトラストネットワークアクセス)で、ボトルネックになりがちなVPNの代わりとして動作し、また、認証及び認可を強化している。
ちなみに、ZTNAは基本的にはFortiGateに接続するので、SASEとは別。(SASEはZTNAも包含したより幅広い概念ともいえる)。
FortiSASE SIA(FortiSASE Secure Internet Access)に関しては、2021年にスタート予定とのこと。

1.ZTNA

(1)FortiGateでのZTNA

FortiGateでのZTNAだが、FortiGateでのをZTNAのブローカーとして機能させる。これは、FortiOS7.0でZTNAをサポートしている。クライアントエージェントはFortiClientであり、これは従来と同じ。
SSL-VPNでトンネルを張るのではなく、リバースプロキシとして、アプリケーションごとにアクセスを受け付ける。ユーザ認証としてはIDaasを利用したSAML認証にも対応可能。FortiClientで検疫として、OSのバージョンなどをチェックすることもできる。

動作を少しまとめると、
・SSL-VPN →VPNクライアントソフトを起動。→トンネルを構築する。接続してしまえば、別のアプリでもそのまま使える
・ZTNA → ブラウザを起動→ログイン。→アプリケーションのセッションごとにログインが必要。つまり、認証およびアプリケーションの制御が細かくできる。

コロナ禍でリモートアクセスが増え、企業へのリモートアクセスが限界になった。FortiGateでのZTNAはSASEなどの拠点に接続するわけでもなく、SWG(SecureWebGateway)に接続するわけでもないので、どれだけVPN接続に比べてパフォーマンスがいいのかは要確認だと思っている。

ZTNAで実現する機能としては、FortiGate NGFWとしてのアクセス管理や、フォーティネットの IAM(アイデンティティとアクセスの管理)による端末の認証強化などである。※あまりたいしたことはない。
https://www.fortinet.com/content/dam/fortinet/assets/solution-guides/ja_jp/sb-improve-application-access-and-security-with-ztna.pdf

FortiGateでZTNAをやるには、FortiClient EMSが必要である。FortiClientのライセンスを購入し、それを管理するのがFortiClient EMS。
https://licensecounter.jp/engineer-voice/blog/articles/20211116_fortigate_ztna.html

(2)SSL-VPNとZTNAの違い

FortiGateのSSL-VPNとFortiGateのZTNAの違いは何か。
一般的には、以下が強化されていると言われるが、SSL-VPNでもできることが多い。特に3つ目の認可のところが違いであろう。

❶認証
 多要素認証であったり、SSOの仕組みなど
❷端末の状態管理
 デバイスのポスチャ管理と言われたりもする。OSやパッチの状態を検査。場合によっては接続を拒否する。
❸認可
 SSL-VPNで許可すると、基本はIPアドレスやポート単位でのフィルタリングになるが、アプリケーションレベルおよび細かな権限でのアクセス制御が行える。少なくとも、何もしなければ組織内全てにアクセスできるというのがSSL-VPNだが、ZTNAでアクセスした場合、そんなことはできない。

(3)FortiGateEMS

・ユーザ情報の一元管理
・PCの情報の一元管理(端末のOSやバージョン、アプリケーション(ソフト)のインストール状況など)
・セキュリティ情報の管理
 AVの状態、パッチの適用状況などのセキュリティ状態を一括管理する

(4)FortiToken

FortiTokenは、ソフトウェアベースでの認証トークンを発行。iOS/Android向けアプリ
https://www.fortinet.com/jp/solutions/enterprise-midsize-business/network-access

2.FortinetでSASE

(1)SASEについて

セキュリティのモデルは、2020年はゼロトラストというキーワードがブームになったが、今後はSASE(Secure Access Service Edge)に変わっていくかもしれない。
SASEはクラウド上でセキュリティを一元的に行います。FortiGateでは、FortiSASEとして、クラウド上にエッジを提供。ここで、従来のFortiGateで実現していたようなAVやURLフィルタ、IPS、アプリケーションコントロールなどを提供します。
加えて、クラウドでサービス提供ができるので、SDPであったり、CASBなどの機能も持ちます。
また、クラウドサービス(MS-365など)との連携も充実している。なので、低遅延で接続できるのもメリットです。

メリットは以下でしょう。
・構成がシンプルになる
 クラウドにあるので、オンプレで機器を構成しなくてもいい
・一元管理が簡単 多くの拠点がある場合はなおさら。機器の設定やポリシーをSASE上で一元管理
・高速化
 クラウドに直接接続するので、高速化。クラウドサービスとも接続されている。VPN接続機器がボトルネックになるようなことはない。

(2)接続方法

①拠点
FortiGateをUpdateして、かつ、ライセンス(サブスクリプション)を購入する。ForiSASEは、Mobile専用で始まった。なので、FGTが設定されている拠点の中のPCであっても、クライアントソフトが必要だと思われる。
または、ThinEdgeというシンプルなエッジ機器を使うこともできる(2021年の後半に発売?)。

②リモートPC(スマホもOK)
PCにエージェント(FortiClient)を入れる

3.FortinetでSD-WAN

(1)簡易なSD-WANの設定

OSによって設定画面が違うので注意であるが、技術評論社のForitGate本にある通りでできるはずである。
または、以下にFortiOS7.2 セキュアSD-WAN設定ガイドがある。
https://www.fortinet.com/content/dam/fortinet/assets/deployment-guides/ja_jp/fos72_sdwan_deploy_guide.pdf

テスト的に実施するとして、インターネット回線が1本しかなくても、そのルータから2本の線が出ていれば、SD-WANの簡易な試験はできる
インターネット → ルータ →(2本) → FGT  という構成である

FGTのWAN側は、書籍と違ってDHCPで割り振られているとする。
【手順(書籍と同じで)】
①インターフェースの設定
 2本ともDHCPで割り当てられているとして、IPが取得できて、ゲートウェイなども設定されているのを確認
②既存のwan1のポリシーを削除
③ネットワーク>SD-WAN の設定で SD-WANを有効化、 インターフェースを追加する。
このとき、(本はPPPoEだったから不要だったが、)ゲートウェイを正しく入れる
④ポリシーの設定
 本の通りだが、出力インターフェースをSD-WANにする
⑤スタティックルートを書く
デフォルトルート 0.0.0.0のインターフェースをSD-WANにする
https://nwengblog.com/fortigate-sdwan/
実際に通信してみると、webに関しては、回線を順番に落としてもしばらくすると見える。
★SD-WANルールは、送信元IPは変えない方がおすすめ。これを変えると、セッション管理がうまくいかず、通信が不安定になる。
pingに関しては、一度切断して再度送信するとつながったりして、動作が不明である。が、なんとか切り替わっている気がする。

(2)SD-WANの無効化

GUIからだとうまくいかないように思うかもしれないが、単に設定が残っているだけだと思う。
ポリシーやルーティングなどをチェックしよう。
CLIで実施すると、なぜ無効化できないのか教えてくれるのでわかりやすい。

FGT# config system virtual-wan-link
FGT (virtual-wan-link) # set status disable
FGT (virtual-wan-link) # exit

4.Breakout

インターネットブレイクアウトをやってみる。

SD-WANを使わなくても、ISDBを用いたインターネットブレイクアウトは可能である。
設定は以下にも記載があるが、それほど難しくない。
https://nwengblog.com/fortigate-breakout/
※ポリシーを、ブレイクアウトのものを上にするとあるが、本当に必要かは不明。ルーティングを先に見るはずなので、関係ない気がする。

ルーティングで、向けたいISDBを指定すればいい。

構成として、WAN1とWAN2の2つからインターネットに接続されているとする。
たとえば、FacebookのみをWAN2から抜けるとする。

❶ポリシーの設定
ポリシーとして、LAN-->WAN1をANYの通信、LAN-->WAN2にISDBでFacebook系を入れる
ログを確認したいので、ログは全てのトラフィックを取得するようにする。

❷ルーティング
ネットワーク>スタティックルートで、
インターネットサービスのFacebook-Webを、インターフェースをWAN2にする。
それと、優先度を高めるため、ディスタンスを3などにする。
デフォルトルートは入れなくてもいいはず。

❸通信テストとログの確認
インターネット閲覧と、Facebookの閲覧をする。
ログがわかりにくいが、たとえば、以下のように、Syslogサーバをみると、以下のようにWAN2への通信が、宛先IPが157.240.31.40とある。

dstip=157.240.31.40 dstport=443 dstintf="wan2" dstintfrole="wan" poluuid="65858d

nslookupで調べてみよう。
C:\>nslookup
> 157.240.31.40

名前:    edge-z-m-mini-shv-02-nrt1.facebook.com
Address:  157.240.31.40

facebookの通信だ!
 
その他、ZOOM等でのファイルアップロードの禁止などは以下に記載あり。
https://www.fortinet.com/content/dam/fortinet/assets/deployment-guides/ja_jp/sdwan_deploy_guide_lbo_local_gov.pdf

Q.HTTPS通信が多いけど、SSLインスペクションは不要?

A.ISDBはIPアドレスベースなので、SSLインスペクションは不要だが、ころころ変わるであろうIPベースなので、ISDBは100%ではないらしい。実際にやってみたが、振り分けはうまくいかないときがある。