Security

Security 第45回「Duo のトライアルでMFAを試してみた2」

 こんにちは。セキュリティ担当のdsasです。
 前回Duoのフリートライアルの流れをご紹介して、Duoを利用する準備ができましたので、今回から実際に使う方法を紹介していきたいと思います。
 とりあえず私の手元で用意できたもの、ということでMerakiのMXシリーズを使用したClient VPNとDuoを連携させてMFAを実現していきます。
 <利用イメージ>
 まず最初に行うのは認証サーバの役割となるDuo Authentication Proxy(DAP)のインストールです。私自身元々ネットワークがメインのエンジニアなのでサーバで何かすること自体に漠然と苦手意識がありますが、、、やってみるととても簡単でしたのでご安心下さい。
 DAPのインストール先としては、WindowsもしくはLinuxサーバを用意します。今回私の環境ではWindows Server 2016を使用しています。
 インストール要件について詳しくは下記のリンクをご参照ください。
 ・New Proxy Install
 https://duo.com/docs/authproxy-reference#installation

 まずはDAPのインストールファイルの入手ですが、DAPのイメージは下記のリンクで普通に公開されており、ダウンロードするだけなら契約情報やID/パスワードのチェックもなく直接ダウンロードが可能です。
・Widows用
 https://dl.duosecurity.com/duoauthproxy-latest.exe
・Linux用
 https://dl.duosecurity.com/duoauthproxy-latest-src.tgz

 早速上記のリンクからWindows用のexeをダウンロードして実行しました。
 インストーラーが起動して、
 Finishで完了。もう終わりです。特に設定するところはありませんでした。DAPはGUIもないとてもシンプルなアプリケーションなんです。
 では設定はどこでするのか、というところですが、DAPのインストールが完了すると次のフォルダが作られていますので、こちらを開きます。(Windows Server2016の場合)
 C:¥Program Files\Duo Security Authentication Proxy
 この中のconfフォルダに設定情報が入っていますので開きます。
 この「authproxy.cfg」がDAPの設定情報になります。
 拡張子が.cfgですが、ワードパットなどのテキストエディタで開いて編集します。

 〈authproxy.cfgの初期値〉
 ; Complete documentation about the Duo Auth Proxy can be found here:
 ; https://duo.com/docs/authproxy_reference

 ; MAIN: Include this section to specify global configuration options.
 ; Reference: https://duo.com/docs/authproxy_reference#main-section
 ;[main]

 ; CLIENTS: Include one or more of the following configuration sections.
 ; To configure more than one client configuration of the same type, append a
 ; number to the section name (e.g. [ad_client2])

 [ad_client]
 host=
 service_account_username=
 service_account_password=
 search_dn=

 ; SERVERS: Include one or more of the following configuration sections.
 ; To configure more than one server configuration of the same type, append a
 ; number to the section name (e.g. radius_server_auto1, radius_server_auto2)

 [radius_server_auto]
 ikey=
 skey=
 api_host=
 radius_ip_1=
 radius_secret_1=
 failmode=safe
 client=ad_client
 port=1812

 先頭に“;”がついている文字列は注釈なので無視してもOKですが、この注釈に書かれている通りDAPを使うためにはCLIENTSとSERVERSのパラメータを入力する必要があります。

 早速それぞれ内容を見ていきたいと思います。
 まず、CLIENTSはDAPがクライアントとしてADやRADIUSサーバなどのユーザデータベースを参照するための情報です。今回はユーザデータベースとしてADを使用しますので[ad_client]のセクションを設定します。
 例えば、ADのIPアドレスが「192.168.1.200」で、参照用アカウントが「testuser@disauth.jp」、参照用アカウントのパスワードが「adpassword」の場合次のようになります。※赤文字が追記内容。
 [ad_client]
 host= 192.168.1.200
 service_account_username=testuser
 service_account_password=adpassword
 search_dn=DC=disauth,DC=jp

 続いて、SERVERSはDAPが認証サーバとして動作するための設定です。
 まずはDAPとDuoクラウドの連携に必要なキーを取得するため、DuoのAdmin Panelにログインします。
 ログイン後、左側メニューApplicationsの下に表示されるProtect an Applicationをクリックして、検索窓にMerakiと打ち込んで対象の設定を探します。
 3つ出てきちゃいましたが、今回はVPNで試しますので「Meraki RADIUS VPN」を選んでProtectのボタンをクリックします。
 すると上図のようにintegration key(ikey),Secret key(skey),API hostnameがそれぞれ表示されるのでこれを控えておきます。

 ここで再び「authproxy.cfg」に戻って[radius_server_auto]のセクションに対して追記していきます。今回DAPに対して認証をリクエストするのはMerakiのMXなので、入力内容は次のようになります。※赤文字が追記内容。
 [radius_server_auto]
 ikey=Admin PanelでコピーしたIntegration keyの値
 skey= Admin PanelでコピーしたSecret keyの値
 api_host= Admin PanelでコピーしたAPI hostnameの値
 radius_ip_1=DAPと通信可能なMXのIPアドレス(例:192.168.1.100)
 radius_secret_1=Merakiのダッシュボードで設定する共通鍵(例:meraki123)
 failmode=safe
 client=ad_client
 port=1812

 はい、これで「authproxy.cfg」を上書きしたら設定は完了です。
 他にもオプションのパラメータは色々とあるのですが、今回は一先ずお試しということで割愛します。

 最後に、DAPのサービスを起動します。管理者権限でコマンドプロンプトを立ち上げたら、「net start duoauthproxy」と打ち込みます。
 上記のように正常に開始されました、の出力が表示されたらDAPのインストール完了です!
 もし違うメッセージが表示されてしまう場合は、「authproxy.cfg」パラメータを間違えていないかご確認ください。この際「authproxy.cfg」を変更すると内容の反映にはサービスの再起動が必要になりますので「net stop duoauthproxy」で一旦サービスを終了してから再度「net start duoauthproxy」と入力してください。

 DAPのインストール手順についてはメーカー様で分かりやすい動画も用意されていますので、是非こちらもご覧ください。
 ・Authentication Proxy - Video Overview
 https://duo.com/docs/authproxy-overview
 こちらの動画は音声字幕とも英語なのですが、Chromeブラウザの翻訳機能を使ってから再生すると字幕も翻訳がかかりますのでもしよろしければお試しください。

 少し長くなりましたので、今回はここで一旦切らせていただき次回はDuoクラウドへのユーザ登録方法をご紹介したいと思います。

 今回は以上です。

カタログDL等、iDATEN(韋駄天)ログインが必要なコンテンツがございます。
必要に応じて、ログインしてご利用ください。
iDATEN(韋駄天)のご利用に関してご不明点があるお客様は こちら をお読みください。

Ciscoの記事