Technical Blog テクニカルブログ
  1. HOME
  2. テクニカルブログ
  3. VerifyでWindowsリモートデスクトップに多要素認証を導入してみた。

VerifyでWindowsリモートデスクトップに多要素認証を導入してみた。

投稿者:セキュリティ&ネットワーク事業本部 石井

はじめに

昨今ではサイバー攻撃により企業に不正アクセスし、重要な情報を盗み出すなど大きな被害が出ています。通常の認証ですとID、ユーザ名およびパスワードなどの知識情報が流出してしまえばログインが簡単にできてしまいます。しかし、多要素認証を用いることでパスワード以外の情報、例えばSNSや指紋などでのログインが必要となり、不正アクセスを防止しセキュリティ向上につながります。そこで今回はIBM Security Verify の Gateway for Windows Login を利用して、Windowsリモートデスクトップのログインに、多要素認証の実装をしていきます。

アクセス管理製品であるIBM Security Verify(以下Verify)はハイブリッドマルチクラウド環境のおける認証およびアクセス制御を可能にし、ユーザーの生産性を高めます。今回はVerifyでワンタイムパスワードとアプリケーションでの認証を行っていきます。

今回、多要素認証を導入する方法について説明します。下記の流れで実装していきます。
①Verifyに登録し、APIクライアントを作成する。
②Verifyにログインを行うユーザを登録する。
③IBM Security Verify Gateway for Windowsをインストールし、WindowsとVerifyを連携する。
④ワンタイムパスワードとアプリケーションでの多要素認証を確認する。
といった流れで実装していきます。

目次

  1. IBM Security Verify無料評価環境の登録
  2. APIクライアントの作成
  3. Verifyへのユーザー登録
  4. IBM Security Verify Gateway for Windowsのインストール
  5. config.jsonファイルの編集およびワンタイムパスワードでの認証
  6. アプリケーションの登録と認証

1.IBM Security Verify無料評価環境の登録

IBM Security Verify無料評価版
はじめにIBM Security Verify無料評価版の環境を入手します。

2.APIクライアントの作成

最初はワンタイムパスワードから実装していきます。基本的な流れとしてはVerify上でAPIクライアントを作成し、クライアントIDやクライアント秘密鍵を取得します。

まずVerifyのAPIクライアントの作成を行うためにVerifyにログインし、APIクライアントを設定します。セキュリティタブからAPIアクセスを選択し、右上の「APIクライアントの追加」をクリックします。

続いてAPIクライアントの作成を行っていきます。今回、資格は「すべて選択」を選び、次へをクリックします。

API資格情報ではクライアントIDやクライアント秘密鍵は自動で生成されるので次へをクリックします。

設定を進めていき、最後に右下のAPIクライアントの作成をクリックします。

APIクライアントの一覧で作成した APIクライアントが一覧に表示されていることを確認します。作成したAPIクライアントの右側に編集ボタンがあるのでクリックします。

クリックするとAPIクライアントのクライアントIDとクライアント秘密鍵を確認でき、これらはIBM Security Verify Gateway for Windowsのインストール後、config.jsonファイルを構成する際に使用するためメモします。

3.Verifyへのユーザー登録

次にVerifyに2要素認証を行うユーザーを登録します。左のメニューからユーザー&グループを選択し、ユーザータブに移動し、「ユーザーの追加」をクリックします。

ユーザーが登録されていない初回は初めにユーザー登録ダイアログが表示されるため、以下を指定して(他は適当に指定して)保存をクリックします。

アイデンティー・プロバイダー:Cloud Directory
ユーザー名:(これから作成するユーザーのログイン時のユーザー名)
優先Eメール:(これから作成するユーザーのメールアドレス、この後ここにメールが送信される)
新規アカウントにメールを送信:オン

ここまで完了したら新規に作成したユーザーでサインインできるようにこのアカウントでは一旦サインアウトします。

先ほどユーザー作成時に指定したメールアドレスの受信ボックスを確認します。IBM Securityから「アカウントが作成されました」というタイトルのメールが届きました。また初期パスワードも表示されています。今回は記載されているURLをクリックし、メールに届いたワンタイムパスワードを入力しログインします。

ログイン画面が表示され、ユーザー名とパスワードを入力します。1回目のログインでは初期パスワードから変更する必要があるので任意のパスワードに変更します。完了すると登録したユーザーで無事ログインできました。

4.IBM Security Verify Gateway for Windowsのインストール

続いてIBM Security Verify Gateway for Windows のインストールを行っていきます。
まずhttps://exchange.xforce.ibmcloud.com/hubに移動します。「IBM Security Gateway for Windows Login」を検索して選択しアプリケーションをダウンロードします。

ダウンロードしたファイルを保存します。ダウンロードした端末と、Gateway for Windows Login を導入するWindowsサーバが異なる場合は、Gateway for Windows Login を導入するサーバにファイルをコピーします。
ダウンロードしたファイルを展開し、setup_winlogon.exeを実行します。READMEを参照すると、インストール時の注意事項などが記載されています。その為、インストールする際にはこのファイルを確認します。

それではインストールを進めていきます。

次に進みます。

この後、config.jsonファイルを編集する際に、インストールしたディレクトリ情報が必要になるため、忘れないようにメモします。

インストールを選択します。

インストールが終わりました。

これで導入が終わりましたのでIBM Security Verify Gateway for Windowsの構成を行っていきます。

5.config.jsonファイルの編集

インストール時に指定したディレクトリに移動します。
Verify の導入ディレクトリにある config.json を編集します。

client-idとclient-secretの項目には、Verify のAPIクライアントの構成で作成したAPIクライアントIDとクライアント秘密鍵をそれぞれ記載します。hostには、Verifyのテナントを記載します。
username-format には、IBM Security Verify上のユーザーと、Windowsユーザーの名前を解決する定義を記載します。今回私の環境では、ドメインを構成していないので、ユーザー名のフォーマットを「”%U”」に設定変更をしておきます。disable-builtin-password-logon は、構成中はfalseにしておき、他の項目を正しく設定できてから true に設定するようにします。
最後にこのファイルを保存すれば準備完了です。

{

    “ibm-auth-api”:{

        /*IBM Security Verify tenant API Client and connection details. */

        “client-id”:”*****************“,

        /* See obfuscate.exe tool to obfuscate “client-secret”. */

        “obf-client-secret”:”*****************“,

        “protocol”:”https”,

        “host”:”*****************“,

        “port”:443,

        “max-handles”:16

    },

    “credential-provider”:{

        /* Windows Logon behavior */

        /*”trace-file”:”c:/credprov/credprov.log”,*/

        “username-format”:”%U“,

        “disable-builtin-password-logon”: false,

        “no-mfa-account”: “Administrator”,

        “rdp-only”: false,

        “auth-method”:”winpwd-then-choice-then-otp”,

        “choices”:[“device”,”transient”,”totp”,”smsotp”,”emailotp”, “voiceotp”]

    }

}

では実際に Windows で多要素認証が有効になっているかどうかを確認していきます。リモートデスクトップで対象のサーバに接続し、Windowsログイン画面で Administrator アカウント以外のユーザーを指定します。するとパスワード入力画面に “ワンタイムパスワードの入力” というメニューが現れました。

実際に登録したメールを確認してみるとワンタイムパスワードが届いていました。

ワンタイムパスワードを入力します。正しかったので入力後数秒程度でログインができました。これでワンタイムパスワードでの認証は成功しました。

6.アプリケーションの登録と認証

続いてアプリケーションでの認証を行います。登録したユーザーで IBM Security Verify にログインし、画面右上のアイコンをクリックして、プロファイルおよび設定を選択します。

セキュリティタブに移動すると登録するデバイスを選択する画面になります。ここで検証方式の新しい方式の追加をクリックします。

登録するデバイスを選択する画面になります。ここでは IBM Security Verifyアプリ横の「デバイスの追加」をクリックします。

スマートフォンに”IBM Verify” アプリケーションをインストールするよう求められます。App Store や Google PlayからIBM Verifyを検索してアプリをインストールしてください。インストールできたら「アカウントの接続」をクリックします。

画面に QR コードが表示されました。このQR コードをスマートフォンにインストールしたIBM Verifyを開いて QRコードを読み取ります。

成功するとこのような画面になり、「デバイスが検証されました。」と表示されます。

オーセンティケーター・アプリに登録したユーザーが表示されていたので成功です。

再度Windowsでアプリケーションでの認証が有効になっているかどうかを確認していきます。リモートデスクトップで対象のサーバに接続し、Windowsログイン画面で Administratorアカウント以外のユーザーを指定します。対象のデバイスを選択すると許可を待機していますとメッセージが出ました。

デバイス側でVerifyアプリケーションを開き対象のアカウントを選択します。「ログインを承認しますか?」というメッセージが出ましたので右下の承認を選択します。

無事アプリケーションでもログインすることができました。

さいごに

今回Verifyを用いることで簡単に多要素認証であるワンタイムパスワードとアプリケーションでの認証をWindowsリモートデスクトップのログインに実装することが出来ました。今回実装した多要素認証を用いることでセキュリティ向上に繋がり不正アクセスなどの被害を抑えられるのではないでしょうか。

最後までお読みいただきありがとうございました。
セキュリティソリューションに関するご相談は日本情報通信にお任せください。

Verifyに関するご相談はこちら

ページのトップへ