Cisco DuoのDuo Network Gateway(Web)を立ててみた
こんにちは。ネットワークソリューション特集 編集部です。
今回は、Cisco DuoのDuo Network Gateway(Web)を検証してみました。
Duo Network Gatewayとは
Duo Network Gateway(以下、DNG)はWeb or SSH通信を安全に通信するためのリバースプロキシサーバです。
DNGで多要素認証をしなければ内部サーバにアクセスできません。
ライセンスはDuo Beyondが必要です。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/image.png)
Duo Network Gatewayの構築
サーバ要求スペックについてはメーカドキュメントを参照してください。
OS、ミドルウェアについてはLinux上のDockerで動作します。
構築手順はメーカドキュメントを参照してください。
今回はCentOS7上に構築しました。
Install DockerからInstall Duo Network Gatewayまではオンラインドキュメントをコピペで問題ないです。
1.DNGのインストール完了後、https://URL-OF-NETWORK-GATEWAY:8443でアクセスします。
DNGのFQDN(ホスト名)はクライアントが名前解決できてアクセスできる必要があります。
その他の設定はデフォルトで問題ないです。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/image-1.png)
2.Primary Authenticationの設定をします。今回はDuo Network Gateway – Single Sign-Onと連携させます。
Duo Admin Portal(https://admin.duosecurity.com/)にアクセス後、「Application」->「Duo Network Gateway」を選択します。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/image-3.png)
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/image-4-1024x84.png)
SAMLパラメータ、証明書を控えておきます。「Domain name」はDNGのFQDNを設定します。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/03-1.png)
3.DNG設定画面で先程控えたSAMLパラメータと証明書をインポートします。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/02-3.png)
4.Duo Network Gateway – Web Applicationの設定をします。
「Application」->「Duo Network Gateway – Web Application」 を選択します。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/image-5-1024x91.png)
3つのパラメータを控えておきます。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/04-1-1024x350.png)
5.DNGのApplication設定画面で「4」で控えたパラメータを設定します。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/05-1-1024x568.png)
外部接続用のFQDNを設定します。注意事項に記載がありますがDNGのFQDNをCNAMEに設定する必要があります。
証明書はLet’s Encryptの自動更新サービスも利用可能です。(今回はOpenSSLで自己証明書を作成しました)
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/06-1024x380.png)
次に内部WebサーバのURLを記載します。FQDNで記載する場合はDNGが名前解決できる必要があります。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/07.png)
以上でDNGの設定は完了です。
IdPは前回設定したAzure ADを利用したのですが、今回のハマリポイントでした。
Duoドキュメントに記載がありますが、DNGからAzure ADへのUsername attributeで渡すのですが初期設定ではAzure AD側でUsername attributeが無いためエラーになります。
Duo Network Gateway uses the Username attribute when authenticating. We’ve mapped the bridge attribute to Duo Single Sign-On supported authentication source attributes as follows:
そのため、Username attributeを認識するよう「ユーザー属性とクレーム」に追加する必要があります。
![](https://blogs.techvan.co.jp/ns/wp-content/uploads/2021/08/image-6.png)
今回は、Usernameとuser.userprincipalnameを紐付けました。
Azure ADへの追加方法については前回の記事を参照ください。
今回は「Cisco DuoのDuo Network Gateway」を検証しました。
DNGは多要素認証後にしかアクセスできないため安全にサーバ公開が可能になります。