Duo Authentication Proxyを検証してみた(Linux編)

こんにちは。ネットワークソリューション特集 編集部です。
前回はDuo Authentication Proxy(Windows)を使ったオンプレミス機器との認証連携を検証しました。

今回は Duo Authentication Proxy(Linux) を検証しました。

https://blogs.techvan.co.jp/ns/2021/10/11/duo-authentication-proxy-windows/

検証環境の構成図

本検証の構成図です。Meraki MXのリモートVPNをRADIUS認証(ユーザDBはActive Directory)する形になります。
前回のWindowsサーバとは別にUbuntu 20.04のサーバを立てました。

ローカルIPアドレスは下記にしています。

  • Merai MX64
    192.168.128.1/24
  • Active Directory(Windows)
    192.168.128.10/24
  • Duo Authentication Proxy(Linux(Ubuntu 20.04))
    192.168.128.11/24

Duo Authentication Proxy(Linux)構築

詳細な手順についてはメーカマニュアルを参照ください。

Duo Admin Panel設定

前回と同じ手順です。

1.Admin Panelで保護対象のオンプレミス機器の保護を設定します。

https://admin.duosecurity.com/

2.今回はMeraki VPNでのLDAP認証(Active Directory)をします。

3.「Protect an Application」を選択します。

4.「meraki」で検索して、「Meraki RADIUS VPN」を選択します。

5.3つのパラメータをコピーしておきます。

Duo Authentication Proxy(Linux) インストール

メーカドキュメントのURLより、ソースファイルをダウンロードしてビルド後にインストールします。

https://dl.duosecurity.com/duoauthproxy-latest-src.tgz

tar xzf duoauthproxy-latest-src.tgz
cd duoauthproxy-version-src
make
cd duoauthproxy-build
./install

Duo Authentication Proxy(Linux) 設定

環境に合わせて設定ファイル(/opt/duoauthproxy/conf/authproxy.cfg)に入力します。

[ad_client]

  • host=192.168.128.10
    Active Diretory サーバのIPアドレスを入力します。前回のADサーバにIPアドレスを指定します。
  • service_account_username=Administrator
  • service_account_password=password
    ADサーバのユーザ名とパスワードを入力します。
  • search_dn=CN=Users,DC=lab,DC=local
    DirectoryサーバのサーチDNを入力します。今回はUsersディレクトの直下にしました。

[radius_server_auto]

  • ikey=<Duo Admin Panelでの取得パラメータ>
  • skey=<Duo Admin Panelでの取得パラメータ>
  • api_host=<Duo Admin Panelでの取得パラメータ>
    Duo Admin Panelでの取得パラメータを入力します。
  • radius_ip_1=192.168.128.1
    RADIUSクライアントのIPアドレスを入力します。今回はMerakiMXのIPアドレスになります。
  • radius_secret_1=password
    RADIUSのシークレットキーを入力します。
  • client=ad_client
    AD認証を指定します。
  • port=1812
    RADIUSポートを入力します。
  • failmode=safe
    Duoサービスに接続できない場合でもAD認証に成功すれば通過するよう入力します。

[ad_client]
host=192.168.128.10
service_account_username=Administrator
service_account_password=password
search_dn=CN=Users,DC=lab,DC=local

[radius_server_auto]
ikey=<Duo Admin Panelでの取得パラメータ>
skey=<Duo Admin Panelでの取得パラメータ>
api_host=<Duo Admin Panelでの取得パラメータ>
radius_ip_1=192.168.128.1
radius_secret_1=password
client=ad_client
port=1812
failmode=safe

設定変更後は、サービス開始か

/opt/duoauthproxy/bin/authproxyctl start

または、サービス再起動をします。

/opt/duoauthproxy/bin/authproxyctl restart

Meraki MXのVPN設定

Meraki MXのクライアントVPN設定例です。
前回と環境は同じなので、RADIUSサーバのIPアドレスが異なるのみです。

Windows10 リモートVPN設定

Windows10 PCにL2TP/IPSecの設定をします。

接続テスト

接続テストをします。

ユーザ名、パスワードが問題なければスマートフォンにDuoからプッシュ通知されます。

今回はDuo Authentication Proxy(Linux編)を検証してみました。
本構成ではRADIUSを利用していますが、LDAPを利用することも出来ます。


Duo Securityでは既存環境にも簡単にMFAやゼロトラストセキュリティを導入できます。