SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

【3分で分かるFortinet】【第2回】FortiClientを使わずにSSL-VPNでネイティブRDP

Fortinet
2019.07.05

皆さんこんにちは!SB C&Sで Fortinet 製品のプリセールスを担当している長谷川です。

今回は、FortiClient を利用せずに、SSL-VPN でネイティブRDP を利用する方法を紹介いたします。

※ネイティブRDPとは、Windows上のリモートデスクトップアプリケーションを利用した、RDP接続という意味です。

必要な環境

FortiGate側での用意

  • FortiOS v5.4.x もしくは、FortiOS v5.6.x

残念な情報なのですが、今回ご紹介の手法は、FortiOS v6.0.x や、FortiOS v6.2.x では利用できず、FortiOS v5.4 や、FortiOS v5.6.x までの手法となります。

クライアント環境での用意

  • Windows系OS
  • Internet Explorer (以降IE)
  • Java

FortiClientを導入しない代わりに、Javaが必要になります。

※どちらも企業向けPCをご利用の場合、ハードルが高そうですが、インストールされている前提で進めます。

なぜ IE が必要なのかというと、Java を動かせられるブラウザが、IE しかないからです。

============================================================

JAVA サポート廃止情報

  • Microsoft Edge

https://www.java.com/ja/download/faq/win10_faq.xml

  • Mozilla Firefox

https://java.com/ja/download/help/firefox_java.xml

  • Google Chrome

https://java.com/ja/download/faq/chrome.xml

============================================================

もし、Java が動作するブラウザが、IE 以外にもありましたら、連絡いただけますと幸いです。

うまくできれば、FortiOS v6.0.x や FortiOS v6.2.x でも利用できる可能性があります。

参考までに、FortiGate 側の、SSL-VPN サポートブラウザも記載いたします。

============================================================

SSL-VPN WEBモードサポート情報(執筆の段階の最新ファームウェアバージョンです。)

  • FortiOS v5.6.9

https://docs.fortinet.com/document/fortigate/5.6.9/fortios-release-notes

Microsoft Windows 7 SP1 (32-bit & 64-bit)
Microsoft Windows 8 / 8.1 (32-bit & 64-bit)
Microsoft Internet Explorer version 11
Mozilla Firefox version 54
Google Chrome version 59

Microsoft Windows 10 (64-bit) Microsoft Edge
Microsoft Internet Explorer version 11
Mozilla Firefox version 54
Google Chrome version 59

  • FortiOS v6.0.5

https://docs.fortinet.com/document/fortigate/6.0.5/fortios-release-notes/368349/ssl-vpn-support

Microsoft Windows 7 SP1 (32-bit & 64-bit)
Mozilla Firefox version 66
Google Chrome version 73

Microsoft Windows 10 (64-bit)
Microsoft Edge
Mozilla Firefox version 66
Google Chrome version 73

  • FortiOS v6.2.0

https://docs.fortinet.com/document/fortigate/6.2.0/fortios-release-notes/973252/ssl-vpn-support

Microsoft Windows 7 SP1 (32-bit & 64-bit)
Mozilla Firefox version 61
Google Chrome version 68

Microsoft Windows 10 (64-bit)
Microsoft Edge
Mozilla Firefox version 61
Google Chrome version 68

============================================================

環境構成図

FortiGate-100E(FortiOS v5.6.9) および、クライアント端末には、Windows10 を利用しています。

Hasegawa_SSL-VPN (0).png

FortiGateの設定

ユーザの作成

FortiGateの管理画面より、ユーザ&デバイス >> ユーザの定義 から、新規作成を行います。

Hasegawa_SSL-VPN (1).png

ローカル ユーザを選択します。

Hasegawa_SSL-VPN (2).png

ログインするユーザ情報(ID/PASS)を入力します。

Hasegawa_SSL-VPN (3).png

次へを押下します。

Hasegawa_SSL-VPN (4).png

もう一度次へを押下します。

Hasegawa_SSL-VPN (5).png

ユーザが作成されました。

Hasegawa_SSL-VPN (6).png

ポータルの作成

VPN >> SSL-VPNポータル から、ポータルを新規作成します。

Hasegawa_SSL-VPN (7).png

ユニークな名前を入力し、Webモードを有効にします。

Hasegawa_SSL-VPN (8).png

ポータルが作成されました。

Hasegawa_SSL-VPN (9).png

SSL-VPNの設定

VPN >> SSL-VPN より、SSL-VPN機能の設定を行います。

  • Listenするインタフェース:SSL-VPNの接続要求を受け付けるインタフェースとなり、今回の構成では、wan1 を選択します。
  • Listenするポート:SSL-VPNの接続を行う際のポート番号です。TCP/443は、デフォルトで管理アクセスで利用されているため、別のポート番号を指定します。
  • アクセス制限:任意のホストからアクセス許可を選択します。(CLIから接続元IPアドレスを制限することができるため、企業のグローバルIPが分かる場合、指定してもよいです。)

Hasegawa_SSL-VPN (10).png

  • アドレス範囲:トンネルモードを利用した際のIPアドレスです。今回は使用しませんが、設定しないと進まないため、自動的にアドレス割当を選択します。
  • 認証/ポータルマッピング:認証したユーザごとのポータル設定です。すべてのユーザで同一ポータルをする設定を行います。

Hasegawa_SSL-VPN (11).png

FortiGate内部に含まれている証明書を使用すると警告がでます。特に問題ないのでこのまま進めます。

Hasegawa_SSL-VPN (12).png

SSL-VPN設定が終わると、ファイアウォールポリシーにSSL-VPNを有効にする設定を行います。

Hasegawa_SSL-VPN (13).png

通常のファイアウォールルールと同様に下記項目を追加します。

  • 名前:ユニークな名前を設定
  • 入力インタフェース:SSL-VPNトンネルインタフェース(固定)
  • 出力インタフェース:今回の構成では lan を指定
  • 送信元:トンネルモード時に利用するIPを指定 + 認証するユーザを指定
  • 宛先:lan 側のアクセス先IPを指定
  • スケジュール:alwaysを指定
  • サービス:ALLを指定

Hasegawa_SSL-VPN (14).png

OKを押下します。

Hasegawa_SSL-VPN (15).png

クライアント側からアクセス

IEを起動します。

Javaを導入したあと、初めてIEを立ち上げると、アドオンとして認識されるため、有効にする を押下します。

Hasegawa_SSL-VPN (16).png

https://[FortiGateのwan1側IP]:10443 へアクセスします。

デフォルト証明書を利用してる場合、証明書の正当性の確認ができないため、証明書エラーが出力されます。

特に問題ないので、Webページに移動 を押下し、認証画面に進みます。

Hasegawa_SSL-VPN (17).png

先程作成したユーザ情報を入力して、SSL-VPNのポータルへログインします。

Hasegawa_SSL-VPN (18).png

ブックマークを作成します。

Hasegawa_SSL-VPN (19).png

ポートフォワードを選択し、必要項目を入力します。

  • 名前:ユニークな名前を入力
  • ホスト:リモートデスクトップ接続先のIPを指定
  • リモートポート:リモートデスクトップ接続先のポート番号を指定(特に指定がなければ 3389 を入力)
  • リスンするポート:こちらで指定したポートへアクセスします。IPアドレス情報と紐付けるとわかりやすいため、リモートデスクトップ先のIPが 192.168.11.92 であれば、1192 といった形で入力

Hasegawa_SSL-VPN (20).png

ブックマークに接続します。

Hasegawa_SSL-VPN (21).png

初回Javaの立ち上げ時に警告が出ますが、許可します。

Hasegawa_SSL-VPN (22).png

そのまま続行します。

Hasegawa_SSL-VPN (23).png

Javaプログラム上では、アクセス先の証明書の正当性がないため、弾かれてしまいます。

Hasegawa_SSL-VPN (24).png

Javaが立ち上がらない状態になります。

Hasegawa_SSL-VPN (25).png

Javaの設定

Windowsのスタートメニュー >> Java >> Javaの構成 より、Javaの設定を行います。

セキュリティタブから、サイト・リストの編集を押下します。

Hasegawa_SSL-VPN (26).png

追加を押下します。

Hasegawa_SSL-VPN (27).png

SSL-VPNの接続先 https://[FortiGateのwan1側IP]:10443 を入力します。

Hasegawa_SSL-VPN (28).png

OKを押下します。

Hasegawa_SSL-VPN (29).png

改めてSSL-VPN接続を行い、ブックマークから起動すると、Java からの警告が出力されます。

証明書は問題ないので、実行を行います。

Hasegawa_SSL-VPN (30).png

アクセスの許可をします。

Hasegawa_SSL-VPN (31).png

リモートデスクトップの起動

リモートデスクトップを起動する前に、コマンドプロンプトで、ポートが開放されているか確認します。

============================================================

c:\>netstat -na

アクティブな接続

プロトコル ローカル アドレス 外部アドレス 状態
[省略]
TCP 127.0.0.1:1192 0.0.0.0:0 LISTENING
[省略]

c:\>

============================================================

この状態であれば、リモートデスクトップを利用することができます。

リモートデスクトッププログラムを起動し、ローカルIPと指定したポートを入力します。

Hasegawa_SSL-VPN (32).png

無事に接続ができました。

Hasegawa_SSL-VPN (33).png

おつかれさまでした。

IEを終了させると、SSL-VPN が切断されるのでご注意ください。

余談

FortiOS v6.0.x や FortiOS v6.2.x でポータルへアクセスするとIEの場合、まともに表示されません。

  • FortiOS v6.0.5

Hasegawa_SSL-VPN (34).png

  • FortiOS v6.2.0

Hasegawa_SSL-VPN (35).png

以上、ご拝読ありがとうございました。

著者紹介

SB C&S株式会社
技術統括部 第2技術部 2課
長谷川 聡