当記事ではFortiGateにおけるSSL-VPNからIPsec-VPNへの移行方法について記載します
目次
はじめに
FortiOS7.6.0から、一部の筐体でSSL-VPNの機能が無効化されます。
https://docs.fortinet.com/document/fortigate/7.6.0/fortios-release-notes/877104/ssl-vpn-removed-from-2gb-ram-models-for-tunnel-and-web-mode
影響を受ける筐体は以下の通りです。
- FGT-40F/FWF-40Fとその派生型
- FGT-60F/FWF-60F
- FGT-61F/FWF-61F
- FGR-60F およびその派生モデル (2GB バージョンのみ)
上記筐体においてFortOS7.6系以上でVPNを使用する際は、IPsecVPNに切り替える必要があります。
今回は、SSL-VPNの設定をIPsec-VPNに切り替える手順を実際に行ってみました。
環境構成について
環境構成図
今回は、インターネット側(10.0.20.0/24)のPCから、VPNを経由してFortiGateにアクセスし、社内側(10.0.10.0/24)のサーバにリモートアクセスする環境を想定します。
※移行前は、図のIPsec-VPNの箇所はSSL-VPNが設定されている想定
設定環境
FortiGate:FortiGate-200E v7.2.4build1396
FortiClient:FortiClient v7.4.0
今回使用する移行用SSL-VPNの設定内容について
IPsec-VPNへの移行
以下の設定を行います
- ユーザ認証方法の確認
- IPsec-VPNの作成
- FortiClientの設定
ユーザ認証方法の確認
初めに、SSL-VPN設定で使用されているユーザ認証方法を確認します。
※今回の検証ではローカルユーザー認証での設定の移行方法を例に進めていきます。
「ポリシー&オブジェクト」>「ファイアウォールポリシー」に移動し、SSL-VPN用ポリシーの送信元に含まれるユーザーグループを確認します。
「ユーザ&認証」>「ユーザーグループ」に移動し、ポリシーに含まれていたグループ名を押下します。
グループの設定を確認します
認証方式の確認方法
ユーザーグループの設定内容 | 使用している認証方法 |
---|---|
メンバー欄にローカルユーザーが設定されており、その下に項目が存在しない | ローカルユーザー認証 |
「リモートグループ」>「リモートサーバー」
にLDAPサーバが設定されている |
LDAPベースユーザ認証 |
「リモートグループ」>「リモートサーバー」
にRADIUSサーバが設定されている |
RADIUSベースユーザ認証 |
「リモートグループ」>「リモートサーバー」
にSAMLサーバが設定されている |
SAMLベースのユーザ認証 |
上記の表から、今回移行するSSL-VPNの設定はローカルユーザー認証であることが分かります。
IPsec-VPNの設定
「VPN」>「IPsecウィザード」からIPsec-VPNの設定を行います
①VPNセットアップ
名前:任意
テンプレートタイプ:リモートアクセス
リモートデバイスタイプ:クライアントベース「FortiClient」
着信インターフェース:インターネット側のインターフェース(port13)
認証方式:いずれかを選択
・事前共有鍵:共通の暗号鍵を設定し、VPN接続を行います。
※事前共有鍵を用いる場合は、FortiClient側でも同じ値を設定する必要があります。
・シグネチャ:サーバ証明書・ユーザ証明書・CA証明書を用いたVPN接続を行います。
ユーザーグループ:SSL-VPNに設定されていたユーザーグループ
ローカルインターフェース:社内側のインターフェース(port14)
ローカルアドレス:社内側のIPセグメント(今回は10.0.10.0/24)
クライアントアドレス範囲:任意
・VPN接続する際に送信元端末に割り振られるIPアドレスの範囲を指定します。
ここでは10.21.2.134.200~210としています。
サブネットマスク:255.255.255.255
・クライアントアドレスは、単一のクライアントにそれぞれ割り当てられる為、255.255.255.255
にする事を推奨します。
DNSサーバ:いずれかを選択
・システムDNSを使う:FortiGateが参照するDNSの設定をVPNクライアントに設定します。
・指定:任意のDNSサーバを設定します。
IPv4スプリットトンネリングを有効化:いずれかを選択
・有効:社内側への接続とインターネットへの接続を分割します。インターネットへ接続時はFortiGateを経由せず直接アクセスでき、通信が早くなります。
・無効:すべての通信をFortiGateから経由します。インターネットの閲覧が遅くなりますが、送信元からのログを全て取得でき、セキュリティリスクを軽減できます。
エンドポイント登録を許可:任意
FortiClientをFortiGateのエンドポイントとして登録し、FortiClientに接続する端末でUTMの機能を利用することが出来ます(ライセンスが必要)
パスワード保存:任意
・FortiClientでユーザ名と認証パスワードの情報を保存できるようにします。OFFにすると接続する毎に認証情報を入力する必要がありますが、セキュリティリスクを軽減できます。
オートコネクト:任意
・外部からインターネットに接続する環境下にある場合に、VPNが自動的に接続されるようにします。
常にアップ(キープアライブ):任意
・ネットワークエラーにより接続が失敗しても、FortiClientがVPNの再接続を自動的に行います。(認証情報は入力する必要がある)
※パスワード保存を有効化している場合は、認証情報は不要でそのまま接続される。
⑤設定の確認
※ファイアウォールポリシーは、名前の先頭にvpn_が付いて作成されます。
作成後、IPsecトンネルとファイアウォールポリシーが作成されていることを確認します。
作成されたポリシーのセキュリティプロファイル機能は有効化しておくことを推奨します。
FortiClientの設定
送信元PCにインストールしたFortiClientに設定を行います。
VPN:IPsecVPN
接続名:任意
説明:任意
リモートGW:FortiGateのインターネット側インターフェースのIPアドレス(今回は10.0.20.1)
認証方法:FortiGate側で設定した方式と値(今回は事前共有鍵)
認証(XAuth):いずれかを選択。
・ユーザ名入力:VPN接続時に都度ユーザ名とパスワードを入力します。
・ユーザ名を保存:あらかじめユーザ名を登録しておき、接続時はパスワードのみ入力します。
・無効:VPN接続時に、ユーザ名・パスワード認証を行いません。
※機能を有効にする場合は、FortiGate側で「パスワードを保存」を有効にする必要があります。
Failover SSLVPN:なし
・VPNの冗長化設定を行う際に、切り替え用のVPNを選択します。
※詳細設定を開き、FortiGate側のVPNトンネルと設定値が全て一致している事を確認します。
※FortiGateからは、「VPN」>「IPsecトンネル」から設定したIPsec-VPNを選択して確認します。
VPNの接続
設定したVPNで接続してみましょう、今回はXauth機能を使用している為、ユーザ名とパスワードを入力します。
VPNが接続出来ていることを確認します。
送信元端末のIPがFortiGateで設定したIPプールになっていることが確認できます。
サーバへpingが通ることも確認できました。
まとめ
今回はFortiGateにおけるSSL-VPNからIPsec-VPNへの移行方法について紹介しました。
ローカルユーザー認証以外の認証方法につきましては、当記事に併せて下記リンクをご参照いただければと思います。
https://docs.fortinet.com/document/fortigate/7.4.4/ssl-vpn-to-ipsec-vpn-migration/81308
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。