リモートワークの普及により、SSL-VPNの導入は企業ネットワークにおいて必須となっています。FortiGateのSSL-VPN機能を使えば、社外から安全に社内ネットワークへアクセスできる環境を構築できます。本記事では、SSL-VPNの基礎から実際の設定手順、トラブルシューティングまで、実務で役立つ情報を網羅的に解説します。

👷 現場での体験談

私が初めてFortiGateのSSL-VPNを導入したとき、IPsec VPNとの違いを理解せずに設定を進めてしまい、ユーザーからの接続トラブルが頻発しました。特に、Webモードとトンネルモードの使い分けを誤ったことで、必要なアプリケーションが動作しないという問題が発生しました。

その経験から学んだのは、まず要件を明確にし、適切なVPN方式とモードを選択することの重要性です。現在では200名規模のリモートアクセス環境を安定運用できるようになりました。

SSL-VPNとIPsec VPNの違いと使い分け

リモートアクセスVPNを構築する際、SSL-VPNとIPsec VPNのどちらを選択するかは重要な判断です。それぞれの特徴を理解し、用途に応じて使い分ける必要があります。

技術的な違い

SSL-VPNはHTTPS(TCP 443ポート)を使用するため、ファイアウォールやプロキシを通過しやすいという特徴があります。一方、IPsec VPNはUDP 500/4500ポートやESPプロトコルを使用するため、厳格なネットワーク環境では通信が制限される可能性があります。

表1: SSL-VPNとIPsec VPNの比較

比較項目SSL-VPNIPsec VPN
使用プロトコルHTTPS (TCP 443)UDP 500/4500, ESP
クライアントWebブラウザ/FortiClient専用クライアント必須
導入の容易さ簡単(Webモード時)複雑(設定項目多い)
ファイアウォール通過容易(HTTPSと同じ)困難な場合あり
パフォーマンスやや低い(TCP)高い(UDP)
適用シーン個人リモートワーク拠点間接続
使い分けの基準

SSL-VPNは不特定多数のユーザーが様々なネットワーク環境から接続する場合に適しています。特に以下のようなケースで推奨されます。

  • 自宅やカフェなど、制御できないネットワークからの接続
  • BYODデバイスからの一時的なアクセス
  • Webアプリケーションやファイル共有のみを使用する場合
  • クライアントソフトのインストールが困難な環境

一方、IPsec VPNは拠点間接続や、大容量データ転送が必要な場合、複雑なネットワーク通信(マルチキャストなど)が必要な場合に適しています。

図1: VPN方式別の利用シーン比率

個人リモートワーク
85%
モバイル接続
72%
拠点間接続
15%
サーバー間通信
8%
SSL-VPNのWebモードとトンネルモードの比較

FortiGateのSSL-VPNには、Webモード(Web Mode)とトンネルモード(Tunnel Mode)という2つの動作モードがあります。利用シーンによって最適なモードが異なるため、それぞれの特徴を理解することが重要です。

Webモード(ポータルベース)

Webモードは、Webブラウザのみで動作するクライアントレスVPNです。FortiGateがプロキシとして機能し、HTTPSで暗号化された通信を中継します。ユーザーはWebポータルにログインし、そこから社内リソースにアクセスします。

主な特徴は以下の通りです。

  • クライアントソフトのインストール不要
  • Webアプリケーション、RDP、SSH、VNCなどに対応
  • ファイル共有(CIFSブックマーク)機能
  • ポート番号を指定した独自アプリケーションも設定可能
⚠ 注意

Webモードでは、すべてのアプリケーションが動作するわけではありません。特にUDP通信を使用するアプリケーションや、複雑なプロトコルネゴシエーションを行うアプリケーションは動作しない場合があります。

トンネルモード(フルVPN)

トンネルモードは、FortiClientを使用して仮想ネットワークインターフェースを作成し、完全なネットワーク接続を確立します。IPsec VPNと同様の動作をしますが、SSL/TLS通信を使用するため、ファイアウォール通過性に優れています。

主な特徴は以下の通りです。

  • すべてのプロトコル・アプリケーションに対応
  • 社内ネットワークの完全なアクセス(ルーティング設定次第)
  • Split TunnelingまたはFull Tunneling選択可能
  • FortiClientによる統合管理とセキュリティポリシー適用

表2: Webモードとトンネルモードの詳細比較

項目Webモードトンネルモード
クライアント要件WebブラウザのみFortiClient必須
対応プロトコルHTTP/HTTPS/RDP/SSH/VNC/CIFSすべてのTCP/UDP
設定の複雑さ簡単(ブックマーク登録)中程度(ルーティング等)
ユーザー体験ポータル経由でアクセス通常のネットワークと同様
セキュリティ制限的(ブックマークのみ)ポリシー制御可能
推奨シーン一時アクセス、BYOD日常的なリモートワーク

図2: SSL-VPNモード別の使用頻度

トンネルモード
78%
Webモードのみ
15%
両モード併用
52%
未使用
7%
SSL-VPN設定の事前準備

SSL-VPNの設定を開始する前に、必要な情報を整理し、ネットワーク設計を行います。適切な事前準備により、設定作業がスムーズに進み、トラブルも最小限に抑えられます。

必要な情報の洗い出し
1
SSL-VPN用IPアドレスプール

VPN接続時にクライアントに割り当てるIPアドレス範囲を決定します。既存の社内ネットワークと重複しないセグメントを選択してください。例: 10.200.1.0/24

2
SSL証明書の準備

公的認証局から発行されたSSL証明書を推奨します。自己署名証明書も使用可能ですが、クライアント側で警告が表示されます。FortiGateの管理FQDNに対する証明書を準備してください。

3
DNSサーバー設定

VPNクライアントが使用するDNSサーバーのIPアドレスを決定します。社内DNSサーバーを指定することで、内部ホスト名での接続が可能になります。

4
アクセス許可範囲

VPNユーザーがアクセスできる社内ネットワークの範囲を定義します。全社内ネットワークへのアクセスを許可するか、特定セグメントのみに制限するかを決定します。

ライセンス確認

FortiGateでSSL-VPNを使用する場合、同時接続ユーザー数に応じたライセンスが必要です。デフォルトでは2ユーザーまで無料で使用できますが、それ以上の接続が必要な場合は追加ライセンスの購入が必要です。

get system status | grep -i license

上記コマンドで現在のライセンス状況を確認できます。SSL-VPNユーザー数は「Maximum SSL-VPN Users」の項目で確認可能です。

ユーザー認証の設定

SSL-VPN接続にはユーザー認証が必須です。FortiGateでは、ローカルユーザーデータベース、LDAP、RADIUS、SAML認証など、複数の認証方式に対応しています。ここでは最も基本的なローカルユーザー認証から解説します。

ローカルユーザーの作成(GUI)

GUIでローカルユーザーを作成する手順は以下の通りです。

1
User & Authentication → User Definition

FortiGateの管理画面にログインし、左メニューから「User & Authentication」→「User Definition」に移動します。

2
Create New → Local User

「Create New」ボタンをクリックし、「Local User」を選択します。

3
ユーザー情報を入力

User Name、Password、Email Addressなどを入力します。「Enable Two-Factor Authentication」でMFA(多要素認証)も設定可能です。

ローカルユーザーの作成(CLI)

CLIでユーザーを作成する場合は、以下のコマンドを使用します。

config user local
    edit "vpnuser01"
        set type password
        set passwd "P@ssw0rd123!"
        set email-to "vpnuser01@example.com"
    next
end

複数のユーザーを一括で作成する場合も、このコマンドを繰り返し実行します。スクリプト化することで効率的に作成できます。

ユーザーグループの作成

ユーザーをグループ化することで、権限管理が効率的になります。部署別や役職別にグループを作成し、VPNポリシーをグループ単位で適用できます。

config user group
    edit "SSLVPN_Users"
        set member "vpnuser01" "vpnuser02" "vpnuser03"
    next
end

GUI操作の場合は、「User & Authentication」→「User Groups」から「Create New」を選択し、メンバーを追加します。

外部認証サーバーとの連携

Active DirectoryやRADIUSサーバーと連携することで、既存のユーザーアカウントを使用してSSL-VPN認証が可能になります。LDAP連携の基本設定例を示します。

config user ldap
    edit "AD_Server"
        set server "192.168.1.10"
        set cnid "sAMAccountName"
        set dn "dc=example,dc=com"
        set type regular
        set username "cn=ldapbind,ou=service,dc=example,dc=com"
        set password "BindPassword"
    next
end

LDAP設定後、ユーザーグループでLDAPサーバーを指定することで、ADユーザーによる認証が可能になります。

SSL-VPNポータルとトンネルモード設定(GUI)

ユーザー認証の設定が完了したら、次はSSL-VPN接続の具体的な設定を行います。まずはGUI操作で設定する手順を詳しく解説します。

SSL-VPN設定ウィザードの実行

FortiGateには設定ウィザードが用意されており、基本的な構成を簡単に作成できます。

1
VPN → SSL-VPN Settingsへ移動

FortiGate管理画面の左メニューから「VPN」→「SSL-VPN Settings」を選択します。

2
基本設定の入力

Listen on Interfaces(WAN1など)、Listen on Port(デフォルト10443または443)、Restrict Access(接続を許可する送信元IPアドレス)を設定します。

3
Server Certificate選択

事前にインポートしたSSL証明書を選択します。証明書がない場合は、Fortinet_Factoryデフォルト証明書も使用可能ですが、警告が表示されます。

4
Authentication Portal設定

認証ポータルのカスタマイズ、言語設定、認証方式(Basic/Certificate/Two-Factor)を選択します。

トンネルモード詳細設定

トンネルモードで重要なのは、IPアドレスプールとルーティング設定です。

A
IPアドレスプール作成

「Policy & Objects」→「Addresses」で新規アドレスオブジェクトを作成します。Type=IP Range、例:10.200.1.1-10.200.1.100

B
SSL-VPN Settingsでプール適用

「Tunnel Mode Client Settings」で作成したIPレンジを「IP Pools」に設定します。DNSサーバーとWINSサーバーも必要に応じて設定します。

C
Split TunnelingまたはFull Tunneling選択

Split Tunnelingでは社内ネットワーク宛のみVPN経由、その他は直接インターネット接続。Full Tunnelingではすべての通信がVPN経由になります。

SSL-VPNポータル設定

「VPN」→「SSL-VPN Portals」で、ユーザーがログイン後に表示されるポータル画面をカスタマイズできます。

  • Tunnel Mode: FortiClient接続を有効化
  • Web Mode: Webベースのアクセスを有効化
  • Port Forward: 特定ポートの転送設定
  • Bookmarks: WebモードでのブックマークグループをJSON形式で設定
ファイアウォールポリシーの作成

SSL-VPN接続を許可するファイアウォールポリシーを作成します。

1
Policy & Objects → Firewall Policy

「Create New」をクリックして新規ポリシーを作成します。

2
ポリシー設定