本記事では、IPsec-VPNの概要や、FortiGateの設定方法について記載いたします。
目次
VPNについて
VPNとは暗号化と認証を行い、第三者からデータを見られないようにする機能です。
主に拠点間を結ぶときや、社外から社内にリモートでアクセスする際に使用します。
VPNには大きく分けると二種類あり、IP-VPNとインターネットVPNがあります。
インターネットVPNで主に用いられるものとしてIPsec-VPNとSSL-VPNの二種類があり、
今回はそのうちのIPsec-VPNについて記載していきます。
IPsec-VPNについて
主に拠点間をつなぐ目的で使用され、ネットワーク層で動作しています。
IPsec-VPNには2つのモードがあり、それぞれの違いは以下の通りです。
トランスポートモード | トンネルモード | |
VPN接続区間 | ホスト間 | ルータ間 |
IPヘッダの暗号化 | されない | される |
レイヤー3以下の暗号化 | されない | される |
パケットの転送先 | 元のIPヘッダに基づく | 新たに付与された IPヘッダに基づく |
今回は、デフォルト設定のトンネルモードを使用します。
想定環境
・使用するFortiGate
FortiGate-200E v7.2.4 build1396
FortiGateの設定
ここからは、実際のFortiGateでのIPsec-VPNの設定方法や設定項目の内容について記載していきます。
VPNの設定
左のメニューから「VPN」>IPsecウィザードを選択。
- 名前
任意の文字列を入力してください。 - テンプレートタイプ
カスタムを選択。
「次へ」をクリック
- IPアドレス
VPN接続を行う対向機器側のインターフェースのIPアドレスを入力。 - インターフェース
VPN接続を行うインターフェースを選択。 - NATトラバーサル
NAT/NAPTデバイスを経由した通常のIPsec通信において発生する問題を
回避する機能です。
今回は「無効」に設定します。 - デットビア検知
パケットを定期的に送信して、通信先で予期せぬ通信断が起きた際に
検出できるようにする機能です。
今回は「アイドル時」に設定します
NATトラバーサルとデットビア検知は必要に応じて設定してください。
- 方式
認証方式を「事前共有鍵」、「シグネチャ」の2つから選択します。
今回は「事前共有鍵」を選択します。- 事前共有鍵
簡単に説明するとパスワードのことで、
対向機器側で設定した事前共有鍵を入力してください。 - シグネチャ
シグネチャの場合はサーバ証明書を選択します。
- 事前共有鍵
- IKEバージョン
1または2を選択してください。 - モード
IKEバージョンで1を選択していると表示されます。- アグレッシブ
接続する相手の特定をIPアドレスには依存せず、自身及び相手のIDにて行います。 - メイン
認証を行う際、相手の特定をIPアドレスにて行います。
- アグレッシブ
今回は「メイン」を選択します。
フェーズ1プロポーサルの値は対向機器の設定と合わせる必要があります。
- 暗号化、復号
使用するアルゴリズムを選択します。 - Diffie-Hellmanグループ
鍵交換を行う暗号演算方式のことで、
対向機器側と合わせる必要があります。 - 鍵の有効時間
120から172800の間で設定することができます。
有効時間が切れた場合はサービスを中断することなく、新しい鍵が生成されます。
- ローカルアドレス
IPsec処理を行う通信の送信元IPアドレスまたは、サブネットを設定します。 - リモートアドレス
IPsec処理を行う通信の宛先IPアドレスまたは、サブネットを設定します。
ローカルアドレス、リモートアドレスともに、0.0.0.0/0で全てのIPアドレスが設定されます。「高度な設定」をクリック
フェーズ2プロポーサルはフェーズ1と同じく対向機器側と合わせるため、
フェーズ1と同じ設定項目の説明は省略します。
- Replay Detectionを有効化
リプレイ攻撃を検知する機能です。 - Perfect Forward Secrecy(PFS)を有効化
鍵の有効期限が切れるたびに、新しいDiffie-Hellman 交換を強制的に実行し、
そのたびに新しい鍵を生成することで、もし鍵が漏れてしまっても
その通信以外の通信の内容までは解読されないようにする機能です。 - 自動鍵キープアライブ
データが処理されていない場合でもアクティブのままにする機能です。
「OK」選択し、設定内容を保存します。
ファイアウォールポリシーの設定
次に、ファイアウォールポリシーの設定を行っていきます。
左のメニューから「ポリシー&オブジェクト」>ファイアウォールポリシー>新規作成を選択。
- 名前
任意の文字列を入力。 - 着信インターフェース
VPNへの通信を受け付けるインターフェースを設定します。 - 発信インターフェース
作成したVPNインターフェースを設定します。 - サービス
通信を許可するサービスを設定します。
「OK」選択し、設定内容を保存します。
対向機器側からの通信も許可したい場合は、同様のポリシーを作成し、
着信インターフェースと発信インターフェースを入れ替えれば可能です。
VPNとは関係ないですが、許可トラフィックログを「すべてのセッション」にすると
そのポリシーに当てはまった通信をすべてログとして出力されるので推奨します。
※
ルーティングの設定
最後にスタティックルートの設定を行います。
左のメニューから「ネットワーク」>スタティックルート>新規作成を選択。
- 宛先
「サブネット」を選択し、対向機器側のネットワークアドレスを設定します。 - インターフェース
作成したVPNインターフェースを設定します。
「OK」選択し、設定内容を保存します。
接続確認
VPNの設定はこれで完了です。
VPN接続ができているか確認していきます。
VPNセッションの確立
作成したトンネルの非アクティブをクリックし、IPsecウインドウを表示。
トンネルを選択し、「アップ」>フェーズ2セレクタ:トンネル名を選択
フェーズ1とフェーズ2の両方が緑色になっていることを確認してください。
疎通確認
次は、pingコマンドで疎通確認を行ってみます。
Tera Termで送信元のサーバにSSHで接続し、VPN接続先にあるサーバにpingを実行します。
pingが通っていることが確認できます、FortiGateでもログを見てみましょう。
左のメニューから「ログ&レポート」>転送トラフィックログを選択
こちらのログでもVPN経由で通信ができていることを確認できました。
まとめ
今回IPsec-VPNの設定を行ってみた所感ですが、
NW構成図やルーティングが理解できていれば、初心者でもそこまで
難しくないのではないかと感じました。
以上、最後まで読んでいただきありがとうございました。
参考サイト
・Fortinet Document Library IPsec VPNs
・FortiGate FortiOS7.2IPSEC設定ガイド ニフクラ編
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。