ForiGateにて、SSL-VPN接続時に、FortiTokenやEmailを使った二要素認証を実装する方法の紹介です。
FortiTokenとは
SSL-VPNなどでユーザ名・パスワードだけでなく、トークンを利用した二要素認証を実施するためのものになります。
トークンには以下の種類があります。
・FortiToken Mobile:iPhone/iPad、Androidにアプリを入れて認証を行う
・FortiToken 200 / 200CD:ハードウェアのトークンで認証を行う(型番に「CD」付きは暗号鍵がCDで提供されるもの、「CD」なしは暗号鍵がオンラインで提供されます。)
・EmailToken:追加費用不要でメールを用いた二要素認証を行う
事前設定
・時刻同期
トークン認証のためにFortiGateの時刻を正しくしておく必要があります。
・メールサーバの設定(ハードウェアトークンの場合は不要)
FortiToken Mobile利用時は、トークンを登録するためのアクティベーションコードをメール配信します。EmailToken利用時は、ユーザ認証時に用いるワンタイムパスワードをメールで配信します。
設定は、デフォルトで良いかと思います。
トークンの連携
FortiToken Mobileがデフォルトで2つ登録されていますが、無償で利用できるものとなります。
新規登録は、「ユーザ&認証」>「FortiToken」の「新規作成」から実施します。
FortiToken CDなしの場合:トークンのシリアル番号を登録します。アクティベートするにはFortiGateをオンラインにする必要があります。
FortiToken CDありの場合:「インポート」から、CD保管されている「シードファイル」をアップロードします。
FortiToken Mobileの場合:購入したアクティベーションコードを入力します。
ユーザへの紐づけ
「ユーザ&認証」>「ユーザ定義」の「新規作成」から、実施します。
FortiTokenの場合:トークンを選択し完了します。
FortiToken Mobileの場合:トークンを選択、メールアドレスを入力し、「アクティベーションコードを送信」をオンにします。
すると、アクティベーションコードがメールで通知されますので、スマホアプリ側でアクティベートを行います。
EmailTokenの場合
EmailTokenの設定は上記の方法とは異なるため、個別説明となります。
以下の通りCLIでユーザに対するメールアドレスの設定を行うことで実装が可能です。
config user local
edit <ユーザ名>
set two-factor email
set email-to <Emailアドレス>
end
認証コードの有効期限は最大300秒まで伸ばせます(デフォルト60秒)。
config system global
set two-factor-email-expiry 300(60~300)
SSL-VPN接続
FortiClientより、通常通りユーザ・パスワード認証すると、「トークン」欄が表示されますので、認証コードを入力しVPN接続を行います。
参考書籍
コメント