IDaaSで2要素認証を導入

作成日:2021-03-19

Alibaba Cloud IDaaSを使ってVPN Gatewayに2要素認証を導入してみた

img

はじめに

本記事では、Alibaba Cloud国際サイトにある「IDaaS」というプロダクトをVPN Gatewayと組み合わせることで、SSL-VPN接続時にID+パスワード認証を追加導入検証結果をご紹介します。

IDaaSとは

IDaaS(Identity as a Service)とは、クラウド上の様々なサービスのID管理を一元的に行うクラウドサービスのこと。

クラウドサービス間でシングルサインオンが可能になったり
利用するユーザー側においてパスワード管理が減り、利便性向上にも貢献すると言われております。

代表サービス例:Okta、Onelogin、Azure Active Directoryなど

構成図

今回はこのような構成でVPN Gateway接続時に、従来の証明書認証に加えてADのユーザIDとパスワード情報も加えることで2要素認証を実現します。 img

Alibaba Cloud東京リージョンにVPN Gateway(SSL-VPN)を構築して
Windows ADサーバは別VPCの東京リージョンに配置しています。
IDaaSはPublic Previewなのでシンガポールリージョンのみの対応となりますが
IDaaSと各インスタンス間は接続時の認証通信のみですので、リージョンの場所で大きく不利になることは無いと思います。

IDaaSインスタンスを購入

Alibaba Cloudにログインし、コンソールは英語表示に切り替えておきましょう。
プロダクト検索バーで「IDaaS」と入力すればHITするはずです。

プロダクトのコンソール画面へ遷移すると、このようなエラーが表示されるかもしれません。 img

これはリージョン選択が「東京リージョン」になっており、IDaaSがリリースされていないリージョンのためです。

なので画面左上部よりシンガポールリージョンを選択して、Webブラウザのリロードをしましょう。 img

ちゃんとIDaaSのコンソール画面が開きましたね。右側にある[Buy IDaaS]ボタンを押してインスタンス作成を進めます。 img

Public Preview版なので選択可能な要素はなく、価格も$0です。 このインスタンスは1ヶ月間有効で、期限を越えると無効のインスタンスとなります。規約同意いただけたら、右下の[Buy Now]ボタンをクリックします。

img

その後決済画面になりますが、こちらも購入処理を進めます。(繰り返しですが$0です)

IDaaSのコンソール画面に戻ると、インスタンスが正常に作成されていますね。img

インスタンスIDをクリックして、早速設定していきましょう。

認証ソース選択

IDaaSの認証ソースとしてADサーバを追加します。

  1. 左カラムから「Authentication Sources」を選択
  2. Add Authentication SourceからLDAPを選択

img

続いてActive Directroyの情報を入力します。
ADは今回Alibaba Cloud上に作成していますが、オンプレや他社クラウド上でも問題ありません。
グローバルIPでアクセスできればOKです。
3.「Name」は任意
4.「LDAP URL」はldap://<ADのIP>
5.「LDAP Base」はDN形式でドメイン名を入力。
私のADドメインはMS界隈でお馴染みのcontoso.comとしています
6.「LDAP Account」はDomainAdmin権限のあるADユーザをDN形式で入力
7. 上記ユーザのパスワードを入力
8. ユーザ名の抽出フィルタを入力します
ADの場合はsAMAccountName = $ username $

img

オプションの設定です。

9.「Verify with userPassword」 LDAPに登録されたパスワードとIDaaSが管理するパスワードの比較を行うには有効化
10.「Update IDaaS Password」 LDAPを経由してIDaaSにログインした後、IDaaSで管理するLDAPユーザのパスワードを更新するには有効化
11.「Display」認証ソースロゴをログイン画面に表示するには有効化
※今回のVPN Gateway構成では特に不要です

img

設定が完了すると、Authentication Source Nameの一覧に「LDAP」が追加されます。
追加されたLDAPの「Status」トグルをオンにします。

img

Alibaba CloudプロダクトとAD連携させるための設定を行います。
12. 左カラムの「Security Settings」→中央タブ「Cloud Product AD Authentication」へ遷移する
13.「AD Authentication Source」から先ほど設定したLDAP設定を選択
14. Enableトグルをオンにして、Saveする。

img

LDAPユーザの同期

Alibaba Cloud IDaaSはActive Directoryと同じくディレクトリ機能も有しています。
IDaaSで認証するためには、ADのディレクトリ情報をIDaaSのディレクトリと事前に同期させる必要があります。

  1. 左カラムの「Organizations and Groups」→「Configure LDAP」を選択 img

  2. [Create]ボタンをクリック

img

AD情報を再び入力していきます。
3.「AD/LDAP Name」は任意の名前
4.「Server Address」はADのIPアドレス
5.「PortNumber」はADなら389が標準ポート
6.「Base DN」は参照の認証を利用した際にユーザを検索するルートとなるエントリ地点を入力。
今回はdc=contoso,dc=com
7.「Administrator DN」はAdministrator権限ユーザをDNで指定する
今回はcn=administrator,cn=Users,dc=contoso,dc=com
8.「Password」は上記ユーザのパスワード
9.「Type」はWindowsAD
10.「From LDAP to IDaaS」はEnable
11.「Provision from IDaaS to LDAP」はEnable img

続いて同期するにあたっての照合条件を設定します。

  1. タブを「Field Matching Rules」に切り替える
    2.「Username]はcn
    3.「External ID」はuid
    4.「Password Attribute」はunicordPwd
    5.「User Unique Identifier」はDistinguishedName
    6.「Email」はmail
    7.「Phone Number」はtelephoneNumber
    8.「Default Password」は任意のパスワード
    最後にSaveします img

同期するための準備が完了しました。

IDaaSとADの同期

早速IDaaSとADのディレクトリを同期してみましょう。

  1. Import→LDAP-Accountを選択

img

2.先ほど追加した同期先ADサーバ名の右にある「Import」を押下し、表示された画面で「OK」をクリック

img

3.ユーザの追加が成功すれば、各ユーザのVerification Result列に「Success」と表示される。画面右上の「Confirm Import」ボタンをクリックしてインポートを完了させる

img

※1ユーザでもエラーがあると下記画像の様にインポートが失敗する。
エラーの原因を見直し再度試すか、インポートするユーザから除外(Remove)し
「Confirm Import」ボタンを押下する
(メールと電話番号フィールドは入力必須)

img

これでIDaaS側の設定は完了です

VPN Gateway側の設定

VPN GatewayとSSL Serverのインスタンスは既に作成済みです。
ユーザ認証を導入するためにSSL Serverに下記の編集を行います。

1.「Advanced Configuration」のトグルをオン
2.「Two-factor Authentication」のトグルをオン
3.「IDaaS Instance Region」からシンガポール リージョンであるap-northeast-1を選択

img

4.初回IDaaS選択時は権限が無い為「You hace no permissions…」のリンクをクリックする img

5.VPN GatewayにIDaaSへのアクセス許可を与える img

6.「IDaaS Instance」から先ほど作成したIDaaSインスタンスを選択してOKをクリックして設定を完了する。 img

さっそく接続

クライアント端末にクライアント証明書をインポートし
OpenVPNクライアントソフトでVPN Gateway宛に通信を試行すると
ユーザとPWを求められる画面が表示されました
(本検証ではTunnelblick 3.8.4aを使用) img

IDaaSにインポートしたADユーザのユーザ名とPWを正しく入力し
OKボタンをクリックすると接続が成功しました img

最後に

IDaaSとVPN Gatewayを連携させて、ADユーザ情報を用いてSSL-VPNの2要素認証を行えました。このようにIDaaSは色々な組み合わせが出来ますので、ご参考に頂ければ幸いです。
斎藤 貴広
この記事を書いた人
斎藤 貴広
2020年からAlibaba Cloudのソリューション開発や技術支援に従事。ネットワークや基盤などのインフラ回りがメイン領域で、最近はゼロトラストセキュリティやWeb系もかじり中。
Close

Alibaba Cloudを始めてみましょう

ソフトバンクは、Alibaba Cloudのアカウント開設から、サービス展開までをお手伝いします。
Hatena