はじめに
概要
本レポートはFortiGateデバイスを用いたSSL-VPNの設定と運用について、実務に即した手順と注意点をまとめたガイドです。リモートから社内ネットワークへ安全に接続する仕組みや、管理者が押さえておくべきポイントを具体例とともに説明します。
目的と対象読者
目的は、FortiGateでのSSL-VPN導入を安全かつ効率的に行えるようにすることです。対象はネットワーク管理者、システムエンジニア、運用担当者です。初心者にも分かるように専門用語は必要最小限にし、図や設定例を用いて説明します。
本書で学べること
- SSL-VPNの基本概念(簡単な例を交えて)
- FortiGate側とFortiClient側の具体的な設定手順
- 認証方式の選び方と設定例
- DNSやスプリットトンネリングの実務的な注意点
- 証明書設定とセキュリティ強化の実践
前提条件
本ガイドはFortiGateの管理権限と基本的なネットワーク知識があることを前提にしています。実践前にバックアップを必ず取得してください。
注意点
設定は稼働中の環境で直接行うと影響が出ます。まず検証環境で確認してから本番へ反映してください。
SSL-VPNの基本概念と仕組み
はじめに
SSL-VPNはインターネット越しに安全に社内資源へアクセスする仕組みです。ユーザーとFortiGateの間で暗号化された通信を作ることで、第三者による盗聴や改ざんを防ぎます。例として、カフェのWi‑Fiから社内メールに安全に接続できます。
動作モードの概要
- トンネルモード:VPNクライアント(例:FortiClient)を使い、端末の全通信または一部通信をVPN経由にします。メールソフトやファイル同期も保護できます。
- Webモード:ブラウザー経由でWebアプリやファイルを操作します。クライアントのインストール不要で手軽に使えます。
トンネルモードの仕組み
クライアントがFortiGateに接続すると仮想のインターフェースが作られます。その上で社内ネットワークへルーティングされ、端末はあたかも社内LANに直接つながっているかのように振る舞います。フルトンネルは全通信を通し、分割(スプリット)トンネルは指定した通信のみ通します。
Webモードの仕組み
ユーザーはブラウザーでログインし、FortiGateが提供するポータル経由でWebアプリやダウンロードを行います。専用クライアントが不要なので、来客や短期のリモート作業に便利です。
利点と注意点
利点は導入の柔軟性と暗号化による保護です。注意点は認証や証明書の管理、接続ポリシーの設定で、これらを適切にしないと安全性が低下します。次章で具体的なFortiGate側の設定手順を説明します。
FortiGate側の設定手順
ステップ1:ユーザー登録
「ユーザ&認証」からユーザーを作成します。例:ユーザー名 vpnuser、パスワードを設定し、必要ならメールやOTPを有効にします。複数ユーザーはグループで管理すると便利です(例:SSL_VPN_Users)。グループは後でファイアウォールポリシーの送信元に指定します。
ステップ2:SSL-VPNポータルと設定
「VPN」→「SSL-VPNポータル」でポータルを作成します。ポータル種別は「トンネルモード」を選びます。主な設定項目:
– 名前:tunnel-portal(任意)
– 接続インターフェース:WAN側インターフェース(例:port1)
– トンネルIPレンジ:クライアント用に10.10.100.0/24などを割当
– その他:Split tunnelingの有無、DNS設定、リモートアクセスの制限
続いて「VPN」→「SSL-VPN設定」でリッスンポート(例:10443)、証明書、ログインページなどを設定し、先ほどのポータルにユーザーグループを割り当てます。
ステップ3:ファイアウォールポリシー作成
VPNクライアントのトラフィックを許可するポリシーを作成します。一般的なポリシー:
– 送信元インターフェース:ssl.root(SSL-VPNの仮想インターフェース)
– 送信元アドレス:ALLまたはクライアントIPレンジ
– 送信元ユーザー:SSL_VPN_Users(先に作成したグループ)
– 宛先インターフェース:内部LANインターフェース(例:port2)
– 宛先アドレス:社内サーバやLANサブネット
– サービス:必要なプロトコル、またはALL(最初はALLで動作確認)
– NAT:社内からインターネットへ出す場合は設定
ログを有効にして接続試験を行い、必要に応じてポリシーやポータル設定を微調整してください。
認証方式の選択と設定
概要
SSL-VPNの認証は接続の入口を守る重要な要素です。ローカルユーザー、RADIUS(またはLDAP)ベース、SAMLベースの3種類が一般的で、それぞれ利点と運用負荷が異なります。FortiGateの「ユーザ&認証」>「ユーザー定義」で確認・追加できます。
各方式の特徴と具体例
- ローカルユーザー
- 小規模環境向け。FortiGateにユーザーを直接登録します。設定は簡単ですが、ユーザー数が増えると運用が大変です。
-
例:在宅勤務が少人数で、外部ディレクトリが無い場合。
-
RADIUS/LDAP
- 中〜大規模でよく使われます。既存の認証基盤(例:Active Directory)と連携し、集中管理できます。グループやパスワードポリシーを反映できます。
-
例:社内のADでユーザー管理する場合。
-
SAML(IdP連携)
- シングルサインオン(SSO)と連携して利便性とセキュリティを両立します。多要素認証(MFA)をIdPで一元適用できます。
- 例:OktaやAzure ADを使ったクラウド認証。
FortiGateでの設定手順(簡易)
- 「ユーザ&認証」>「ユーザー定義」でローカルを追加、または「認証サーバー」でRADIUS/LDAPサーバーを登録します。
- SAMLを使う場合は「SAMLサーバー」を作成し、IdPのメタデータを取り込んで証明書やエンドポイントを設定します。
- SSL-VPNポリシーで使用する認証方式を指定し、必要なアクセスプロファイルやグループを割り当てます。
運用上の注意点
- MFAの導入を推奨します。認証強度が格段に上がります。
- グループマッピングでアクセス制御を簡素化してください。
- フェイルオーバー用に複数の認証サーバーを登録すると可用性が向上します。
- 設定後はユーザーで接続テストを行い、ログで認証エラーを確認してください。
DNS設定とIPv4スプリットトンネリング
概要
SSL-VPNでのDNSは「システムDNS方式」と「指定DNS方式」の2つがあります。システムDNS方式はFortiGate側で使うDNS設定をそのままVPNクライアントに渡します。指定DNS方式では任意のDNSサーバー(例:社内DNS 10.1.1.10、または公共DNS 8.8.8.8)を指定できます。
使い分けの目安
- 社内の名前解決(ファイルサーバや社内サービスポイント)を使うならシステムDNSを推奨します。FortiGateが持つ内部DNS情報をそのまま利用できます。
- 公共サイトだけ通す場合や特定のDNSを強制したい場合は指定DNSを使います。端末に別のDNSを渡したいときに便利です。
IPv4スプリットトンネリング
スプリットトンネリングを有効にすると、特定の社内ネットワーク(例:10.0.0.0/8や192.168.100.0/24)だけをVPN経由にし、残りは直接インターネットへ出します。これにより帯域と遅延が改善しますが、社内ポリシーとセキュリティの要件を確認してください。
注意点と確認方法
- DNSリークに注意。社内名を解決するならDNSもVPN経由で渡す設定にします。
- テスト方法:VPN接続後にnslookupやpingで内部ホスト名を解決できるか確認します。また、tracerouteで経路を確認し、期待するトラフィックがVPN経由か直接かを検証します。
設定のヒント
- 指定DNSを使う場合、内部DNSと外部DNSの両方を優先順に設定すると冗長化できます。
- スプリットトンネルで扱うネットワークは最小限に絞り、必要なサブネットだけを登録してください。
FortiClient側の設定手順
前提
ユーザー端末にFortiClientを事前にインストールしてください。例:Windows版はFortiGateのポータルからダウンロードします。
ダウンロードとインストール
- FortiGateのポータル画面にブラウザでアクセスします。
- “FortiClient” ダウンロードリンクを選び、OSに合ったインストーラーを保存します。
- インストーラーを実行し、画面の指示に従ってインストールします。
接続設定手順(FortiClient)
- FortiClientを起動し、左メニューの「リモートアクセス」を選びます。
- “SSL-VPN” を選択し、「接続を追加」または「新規作成」をクリックします。
- 必要項目を入力します(例を併記)。
- VPN名:会社VPNなど分かりやすい名称
- 接続名:自分用のラベル
- リモートGW:remote.example.com または 203.0.113.5
- ポート:通常は 443
- 認証情報(ユーザー名・パスワード)を入力し、必要なら証明書を指定します。
- 設定を保存して、作成した接続を選んで「接続」ボタンを押します。
接続確認と簡易トラブルシュート
- 接続できない場合は、リモートGWのホスト名やポート、ネットワーク接続を確認してください。証明書警告が出たら管理者に確認します。
- FortiClientのログやWindowsのイベントログを参照すると原因特定が早まります。
操作は丁寧に確認しながら進めてください。
VPN接続の実施と確認
接続手順
- FortiClientを起動し、接続プロファイルを選びます。ゲートウェイ(IPまたはホスト名)とポートを入力し、接続を開始します。XAuthを使う場合はユーザー名とパスワードを入力します。証明書警告が出たら管理者の指示に従って承認します。
接続状態の確認方法
- クライアントのIP確認: Windowsなら「ipconfig」、Mac/Linuxなら「ifconfig」や「ip addr」で、割り当てられたIPが設定したIPプールと一致するか確認します(例: 10.10.100.10)。
- サーバー疎通確認: VPN経由で社内サーバーのIPに対してpingを実行します。応答があれば経路は通っています。
- アプリケーション確認: 社内のWebアプリやファイル共有を実際に操作して、認証やデータの送受信が正常か確認します。
- DNSとルーティング: スプリットトンネルを使う場合はルートテーブルとnslookupで名前解決が社内向けになっているか確認します。
- FortiGate側確認: 管理画面の「SSL‑VPNモニター」やログで接続ユーザーと割り当てIPを確認します。
トラブルシューティングの基本
接続できないときは、まず資格情報、証明書の有効性、外部ポート(例:443)が開いているかを確認します。pingが通らない場合は社内ファイアウォールやルート設定を見直し、アプリが動かないときはDNSやプロキシ設定をチェックしてください。必要なら管理者にログ提供を依頼します。
証明書設定とセキュリティ強化
前提条件
FortiGateが外部からHTTP/HTTPSで到達可能、またはDNSプロバイダのAPI情報があることを確認します。内部のみで運用する場合はDNSチャレンジ(DNS-01)を使うと便利です。
FortiGateでLet’s Encryptを使う手順(概要)
- Web UIの「証明書」→「ACME(Let’s Encrypt)」を選択
- アカウント情報を作成(メールなど)
- ドメイン名を登録し、検証方法を選択(HTTP-01:公開可能なホスト、DNS-01:DNSプロバイダ連携)
- 発行された証明書を確認して保存
証明書の適用
取得した証明書をSSL-VPNプロファイルや外部インターフェースに割り当てます。Web UIの該当設定画面で選択するだけで反映します。
自動更新と確認
Let’s Encryptは短期間での更新が必要です。FortiGateのACMEは自動更新に対応しますが、初回はログで正常に更新されているか確認してください。更新失敗時はDNS設定やHTTP到達性を見直します。
セキュリティ強化のポイント
- TLSは1.2以上(可能なら1.3)を採用し、古い暗号は無効化します。
- 中間証明書やチェーンが正しく設定されているか確認します。
- OCSP/CRLで証明書失効を確認する仕組みを有効にします。
- 管理アクセスは特定IPに限定し、二要素認証を併用すると安全性が高まります。
上記を実施することで、SSL-VPNの通信はより堅牢になります。必要があれば、具体的なWeb UIのメニュー階層やエラーログの見方もご案内します。












