MAIL

平日9:00〜17:30 お問い合わせ

MENU

ブログ BLOG

2020/5/11 (Mon)

FortiGateによるテレワークのためのSSL-VPN ~2要素認証~

FortiGateによるテレワークのためのSSL-VPN ~2要素認証~
導入事例

こんにちは、
サン・エム・システムの松下です。
社内ではインフラ周りの整備を行っております。

この度、社内のファイアウォール装置がEOLを迎えたため
FortiGateにリプレースを行うことになりました。

その際にVPNについてもOpenVPNからFortiGateのSSL-VPNに変更を行い、
2要素認証にチャレンジしましたので記事にしたいと思います。

■なぜ2要素認証にチャレンジしたのか

クライアント証明書の管理について課題がありました。

これまではPHPで作られた自前システムでクライアント証明書の作成から発行、
管理まで行っていましたが当時の開発担当者がいません。

さらに拍車をかけるようにOpenVPNのサーバ証明書の有効期限が
なんと1か月以内で切れることが(ある日)発覚しました。

期間もない中で、どうやってクライアント証明書を管理すればよいか悩んだ末に
FortiGateが持つ2要素認証「認証コード(E-mail)」の方式を思いつきました。

■環境

リプレースの前後の環境は以下の通りです。

<リプレース前>
ファイアウォール機器: SSG5
VPN: Open VPNサーバ (CentOS)
認証方式: AD認証+クライアント証明書

<リプレース後>
ファイアウォール機器: FortiGate 60F
VPN: ※FortiGateのSSL-VPN機能
認証方式: AD認証+認証コード(E-mail)

■実装後の接続イメージ

①FortiClientからADのID/PWで認証
 松下N1.png
 

正しければ、認証コードの入力用のテキストボックスが出る。
 松下N2.png
 

FortiGateは認証コードの記載されたメールをユーザに送信する。
 松下N3.png
 

②メールに記載された認証コードで認証
 松下N4.png
 

 松下N5.png
 

■メリット&デメリット

実装してみて以下の効果を得ることができました。

<メリット>
○ユーザ&運用者
 ・クライアント証明書の配布や設置などの管理が不要
 ・VPNの最大転送速度(スループット)の改善

○運用者
 ・ユーザ管理がFortiGateのWebGUIで可能
  →これまでの自前システムと同じ感覚で管理が可能でした。

 ・実装は1日以内、サービス提供まで2週間以内
  →大阪支店のNW知見者の協力も大きかったです。

<デメリット>
 ○ユーザ
  ・メールで認証コードを受け取ったのちにVPN接続する必要があり、これまでより一手順
   多くなった。
   →セキュリティ的には2要素認証の方が、クライアント証明書の複製によるなりすましを
    防げるため良いと考えています。

 ○運用者
  ・アカウント作成の一部でFortiGate上のコマンド操作が必要
   →運用マニュアルでカバーしました。
    今後はSSHを利用したリモートシェルの実装を検討していますが、
    FortiGate側でもGUIによる操作ができるようになることを期待しています。

■注意点

FortiClient6.2では相性の問題かイベントID -14 となり、うまく接続できませんでした。
このためFortiGate6.0, FortiClient6.0 の組み合わせで接続を行っています。

■まとめ

予想以上に短い期間で簡単かつよりセキュアにSSL-VPNサービスを提供することができ
大満足しています。