【注意】FortiGate RAM 2GB以下の小型モデルで ver.7.4.4からProxy機能廃止、ver.7.6.0からSSL-VPN機能廃止 被害者が散見しています> Membership

FortiGate SSL-VPN Email によるワンタイムパスワード設定ガイド

目次

本記事について

本記事では、Fortinet 社のファイアウォール製品である FortiGate に関して、SSL-VPN にてローカルユーザを使用して認証する場合に、そのローカルユーザに対して2要素認証として Email によるワンタイムパスワードを導入するための設定方法について説明します。

動作確認環境

本記事の内容は以下の機器にて動作確認を行った結果に基づいて作成されています。

  • FortiGate-60F
    • バージョン 7.4.4

Email によるワンタイムパスワードとは

FortiGate の SSL-VPN においてローカルユーザを使用して認証する場合、最低限ユーザ名とパスワードを使用した認証を行います。ローカルユーザではセキュリティ強化の目的で2要素目の認証を追加することができます。

2要素認証としては FortiToken を使用したワンタイムパスワードがありますが、これは無料で使える2トークンを除き、有償の FortiToken を購入する必要があります。

FortiToken 以外の方法として、Email を使用したワンタイムパスワードを利用できます。これはローカルユーザ毎に指定した Email アドレスに対してワンタイムパスワードを記載したメールを FortiGate から送信し、ユーザはそのワンタイムパスワードを FortiClient VPN に入力してログインします。

Email によるワンタイムパスワードの利用条件

以下の条件を満たす必要があります。

  • 次の2つの何れかのメール送信用の SMTP サーバを FortiGate から利用可能であること
    1. デフォルトの Fortinet の SMTP サーバを利用する
      • FortiGate のデフォルトでは SMTP サーバとして「fortinet-notifications.com」を利用する設定となっていてこれを利用することができます。ただし、FortiGate の基本保守(FortiCare)が有効であることと、FortiGate がインターネット接続(ポート465を使用)できることが条件となります
    2. 独自のローカルの SMTP サーバを利用する
      • 独自のローカル SMTP サーバを利用してメール送信することもできます

想定するシナリオ

この組織のネットワークではインターネットとの境界に FortiGate を設置していて、FortiGate の wan1 はインターネットに接続し、internal1 先には内部ネットワークが存在します。外部から内部ネットワークへの接続を実現するために、外部端末から FortiClient を使用して FortiGate に SSL-VPN 接続できるよう FortiGate を設定します。認証方法としてはユーザ・パスワードに加えて Email を使用したワンタイムパスワードを使用します。

本記事では SMTP サーバとしてデフォルトの Fortinet のサーバを使用します。またユーザは FortiGate で定義したローカルユーザを使用しますが、必要に応じて LDAP サーバを使用したローカルユーザを使用することもできます。

Email によるワンタイムパスワード設定手順

本記事では、本記事テーマの本質であるローカルユーザ設定とメールサーバ設定部分のみ説明します。一般的な SSL-VPN 設定については以下の記事を参考にしてください。

ローカルユーザの作成

Email を使用したワンタイムパスワードの設定は CLI での設定が必要ですが、その設定を除くユーザの作成は GUI ですることにします。

STEP
ユーザ新規作成画面の表示

GUI 左側メニューから「ユーザ&認証 > ユーザ定義」画面を表示し「新規作成」をクリックします。

STEP
ユーザ作成

本記事では FortiGate でユーザを定義するのでユーザタイプは「ローカルユーザ」を選択します。

ユーザ名とパスワードを入力します。

二要素認証はここでは未設定のままとします。

アカウントステータスは有効のままとし、ユーザグループは必要に応じて設定します。

ユーザが追加されたことを確認します。

STEP
Email によるワンタイムパスワードの設定

ここからは CLI で設定を行います。まずshow user localを実行しローカルユーザ設定を確認します。以下が上で作成したユーザのコンフィグです。

config user local
    edit "testuser01"
        set type password
        set passwd-time 2024-05-26 19:45:51
        set passwd ENC +FmcVuVs9uzrKZN0KjJUvJHQqDRv5V929umb4yAr3+5LNGOw36RHNl9gPoVwKR9dQ0izAeRL7oSpBVijA9V+VbQ7FIxvdYPK8JMf1EcXX7+LmIsOke8OTcBhBJA5JLqMZzA2GFjJfbJjDP1LICsq0fji4blGLWd0d1YhUD+RV+lpIl+g/WN9G2Eqdwsci/KP3ek36FlmMjY3dkVA
    next
end

このコンフィグに対して Email によるワンタイムパスワードの設定を追加します。以下のコマンドを実行して設定します。

config user local
    edit "testuser01"
        set two-factor email
        set email-to "メールアドレス"
    next
end

email-toのメールアドレス部分にはワンタイムパスワードの送信先となるメールアドレスを指定します。

設定後のコンフィグは以下のようになります。

config user local
    edit "testuser01"
        set type password
        set two-factor email
        set email-to "shade@onetime.sample"
        set passwd-time 2024-05-26 19:45:51
        set passwd ENC +FmcVuVs9uzrKZN0KjJUvJHQqDRv5V929umb4yAr3+5LNGOw36RHNl9gPoVwKR9dQ0izAeRL7oSpBVijA9V+VbQ7FIxvdYPK8JMf1EcXX7+LmIsOke8OTcBhBJA5JLqMZzA2GFjJfbJjDP1LICsq0fji4blGLWd0d1YhUD+RV+lpIl+g/WN9G2Eqdwsci/KP3ek36FlmMjY3dkVA
    next
end

なお、Email によるワンタイムパスワード設定後は GUI の該当ユーザの設定画面でも Email による二要素認証の項目が表示されるようになります。

以上でユーザの設定は完了です。この後は一般的な SSL-VPN の設定と同様に、必要に応じて作成したユーザをユーザグループに追加します。また SSL-VPN 設定で該当ユーザまたはユーザグループに対してポータルマッピングの設定を行います。通信を許可するファイアウォールポリシーの設定も行ってください。

メールサーバの設定

FortiGate がワンタイムパスワードを記載したメールを送信する際に使用するメールサーバを設定します。

設定は GUI では「システム > 設定」画面で行います。この画面の「Eメールサービス」でメールサーバの設定ができます。デフォルトでは以下のように Fortinet の SMTP サーバを使用する設定になっています。

独自のメールサーバを使用したい場合は「カスタム設定を使用」を有効化することで設定できます。

CLI で設定する場合はconfig system email-serverで設定します。

◆デフォルト設定の場合

config system email-server
    set server "fortinet-notifications.com"
    set port 465
    set security smtps
end

◆カスタム設定の場合の例

config system email-server
    set server "10.1.1.140"
    set authenticate enable
    set username "mailuser01"
    set password ENC 5yhE4zvAv/MOmNKWukcjb5kgcAOeF6vrp4PK14mZU71l8JtVzQD6FDNaPr7vw4RGFencz9SeeQb+balxL0Usikg+YyfnMKKyXioUTVCcqsTiOYnnJIcEtOpv+LX4Vf+oUkB+SkCakfZzJfhgTV4Xiv15ZgZfpXWachj2vKGfbb2TQGGMg24qWia6gGPGXD52xb+UAFlmMjY3dkVA
end

FortiClient VPN からの VPN 接続

STEP
接続プロファイルの設定

FortiClient VPN での接続プロファイルの設定は、通常のユーザ認証の場合と同様に設定します。

画像に alt 属性が指定されていません。ファイル名: fortigate-sslvpn-mail-11.jpg
STEP
接続の実行

ログイン時の操作は、通常のユーザ認証と同様にユーザ名とパスワードを入力して接続します。

STEP
ワンタイムパスワードの入力

以下のように「トークン」欄が表示されると同時に設定してあるメールアドレス宛にワンタイムパスワードが記載されたメールが届くためメールを確認します。

以下のような内容のメールが届きます。

STEP
ワンタイムパスワードを入力して接続

ワンタイムパスワードを入力して「OK」をクリックします。

ログインに成功すると以下の画面になった後、画面が最小化されタスクトレイに格納されます。

(オプション)ワンタイムパスワードのタイムアウト時間の変更

メールで送信されるワンタイムパスワードのタイムアウト時間はデフォルトだと 60 秒です。つまり、ワンタイムパスワードが発行されてから 60 秒を過ぎるとそのワンタイムパスワードは使えなくなり、ログインし直しが必要になります。

このタイムアウトは 5~300 秒の範囲で設定変更することができます。例えば 120 秒に設定変更する場合は以下のコマンドで設定します。

config system global
    set two-factor-email-expiry 120
end

参考資料

あわせて読みたい
Technical Tip: Forticlient SSLVPN using email two-factor authentication Description This article explains how to configure Forticlient SSLVPN using email two-factor authentication. Scope The advantage of this solution is that FortiT...

【おすすめ】FortiGate の設計構築中なら以下の記事も役立つかもです

Amazon アフィリエイトリンク

以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。

note メンバーシップへの参加もお待ちしています!

note(ノート)
陰の構築者たちのメンバーシップ|シェイド@陰の構築者 ネットワーク設計構築をする人に役立つメンバーシップです。 独自ブログ(https://shadowgarden.org/)にてネットワークエンジニア向け情報を発信しており、その活動を応援...

【アフィリエイト】おすすめ WordPress テーマ【SWELL

当サイトでは WordPress テーマとして SWELL を使用しています。以前は無料・高機能テーマとして知られる Cocoon を使用していて Cocoon も使いやすかったのですが、SWELL を使い始めてからは SWELL のほうが圧倒的に使いやすいなと思いました。そして何より読み込み速度が速い。SWELL を使い始めてから、過去の Cocoon のブログを見直したときに「あれ、こんなに表示遅かったっけ?」という感覚になりました。

また SWELL はデフォルトでもオシャレなデザインですが柔軟にカスタマイズすることもでき個性のあるサイトを作成できます。さらにブログパーツや広告タグといった再利用可能なブログの「部品」も作成することができ、ブログ作成効率も高いです。

技術ブログやアフィリエイト等での収益化を見据えたブログの作成に SWELL は最適です。初見では価格が高いなと思うと思いますが、私としては SWELL を採用して良かったしそれ以上の価値があると感じています。
ブログの新設やテーマ変更を考えている人は一度 SWELL を検討してみてください。
以下の画像リンクから詳細な情報を確認できます。

レンタルサーバーを探している人には安定性に定評のあるエックスサーバーをお勧めします。
当サイトもエックスサーバーを使用しています。WordPress のインストールも簡単にできます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次