ForigateでSSL-VPN(トンネルモード)

Fortigate network
Published: 2012-06-17

 そのうち仕事でやるだろうということで、自宅で試した手順をメモしておきます。環境は、Fortigate-50B+FortiOS4.0 MR3 Patch 6です。

 やりたかった事は下図の通り。利用ユーザのグループ単位で、ポータルを変えたり、IPアドレスを変えたり、社内へのアクセスポリシーを変えたり等々柔軟に。自社ユーザは社内にフルアクセスで、社外保守ベンダは社員とは別IPアドレスで、さらにアクセス先を制限するみたいな使い方を想定しています。

sslvpn

ユーザ作成のハマりどころ

 ユーザとIPアドレスを直接関連付ける設定箇所が見当たりませんでした。トンネル用のIPアドレスを指定できる場所は、ポータルの設定部分しかありません。そこで下記の様にしました。

  1. IPアドレスを分けたいユーザグループごとにポータルを作成して、そのグループが利用するIPアドレスを設定する。
  2. ユーザグループ作成時に、そのグループ用のポータルを割り当てる

FWの設定

 必要な設定は大きく二つ。一つはSSL-VPNでのアクセスを自体を許可するルール、もう一つはトンネル接続を許可するルールです。

sslvpn-policy

 1つ目のルール(上図ルール8)の詳細は下記の通りです。必要なユーザグループに対して、インターネットの全てからLAN内の192.168.2.0/24へのSSLVPNを許可します。

sslvpn-policy-detail

 2つ目のルール(上図ルール4)の詳細は下記の通りです。sslall_group内のユーザがトンネル接続した時に割り当てられるIPアドレスから、LAN内の192.168.2.0/24に対してTELNETとICMPを許可します。Fortigateから見ると、トンネル接続用のIPアドレスはssl.root(SSLVPNトンネルインターフェース)の先にいますので、WANではなくssl.rootを選択します。

sslvpn-policy-detail2

FortiClientの設定

 これでブラウザ経由でのトンネル接続が可能になります。なお、FortigateにはFortiClinetと呼ばれるクライアントソフトがあります。昔はFortiClientそのものが一般公開されていたように記憶していますが、現在はFortiClient Liteしか一般公開されていないみたいです。これを使うための特殊な設定は不要です。クライアントを入れてアクセス先を指定すれば普通に繋がります。

 クライアントインストール時に「IE6じゃ動かないからIE8以上にしてねー(意訳)」という注意が出ますので、素直に従ってください。本当にIE6では動きませんでした。