オンプレ機器も多要素認証しよう！by Duo

# はじめに
本記事はCiscoの有志による Cisco Systems Japan Advent Calendar 2022 (二枚目) の 5日目として投稿しています。
2022年版(1枚目 & 2枚目): https://qiita.com/advent-calendar/2022/cisco

# やりたいこと
+ クラウドの広がりに伴い、セキュリティ意識が高まっている
+ ユーザーが使うクラウドへのアクセスやVPN接続は、MFAなど使用した認証強化が進んでいる
+ 管理者のクラウドダッシュボードへのアクセスは、MFA等の利用が進んでいる
+ 一方でオンプレ機器へのアクセスは、、、**ID/Password認証がほとんど**

#### ということで、オンプレ機器へのアクセスもDuoを使って多要素認証しよう！


# Cisco Secure Access by Duoとは
Ciscoが提供するアクセスセキュリティサービスです
+ __特徴__
    + 多要素認証によるユーザの本人確認でなりすましを阻止
    + 安全なデバイスかどうかデバイスのセキュリティ状態を検証
    + クラウド／オンプレミスにかかわらず**一度の認証で複数アプリに一括ログイン

https://www.cisco.com/c/ja_jp/products/security/duo/index.html


# 構築内容
[ 構成イメージ ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989079/8f255b11-160e-6143-6075-6cbb86466adf.png)

+ __動作イメージ__
    1. ユーザーがASA(ASDM), Cat8kv(SSH)へアクセス
    1. ASA, Cat8kvからRadius認証リクエストを受け付け
    1. ID/PasswordをADサーバで認証
    1. DUO向けに追加認証リクエスト送信し、ユーザーにDuo Pushを送信
    1. 認証完了し接続
+ __使用する環境__

<table>
  <caption></caption>
  <thead>
    <tr>
       <th>　No.　</th><th>　役割　</th><th>　使用したもの　</th><th>　備考・補足　</th>
    </tr>
  </thead>
  <tr>
     <th>　1　</th><td> Duo </td> <td>手持ち検証環境</td><td>  </td>
  </tr>
  <tr>
     <th>　2</th><td> ActiveDirectory </td><td> Win2019sv </td><td>DAPと同居させるためAD認証とした　Radiusでも可</td>
  </tr>
  <tr>
     <th>　3　</th><td> DAP </td><td> Win2019sv </td><td>都合上No.2のサーバに同居</td>
  </tr>
  <tr>
     <th>　4　</th><td> Router </td><td> Cat8000x </td><td>sshアクセスをMFAにする</td>
  </tr>
  <tr>
     <th>　5　</th><td> Firewll </td><td> ASAv </td><td>ASDMアクセスをMFAにする</td>
  </tr>
</table>

# 作業の流れ
1. Duo設定
    * Duoにログイン
    * **“Applications” → “Protect an Application”** 
    * 検索窓にRADIUSと入力し、**”RADIUS”** のprotectをクリック→”Save”をクリック
    * **“Integration key” ”Secret key” “API hostname”** をメモ等に保存 
    <img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989079/dad41524-0d57-9500-22f4-3152a1344caf.png">

     * ユーザーの追加
        + “Users” → “Add User”
        + Username を入力し”Add User”をクリック
        + 必要な情報を入力し”Save”をクリック * 1~3を必要な人数分実施
   
        <img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989079/6aa6c13d-1766-934e-8f97-175a8e887c76.png">
   
1. ASA/Routerの設定
    * ASA/Routerにログイン認証にRadiusサーバーを設定
    * RadiusのIPは**DAP** をインストールするサーバのIPを登録
1. 認証サーバへユーザの追加
    * 認証サーバにDuoに登録したものと同じIDを登録（パスワードも登録）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989079/67e4c32c-2760-baee-963f-12285a841c15.png)

1. DAPのインストール
    * インストール対象のサーバにログインし、ブラウザで” https://dl.duosecurity.com/duoauthproxy-latest.exe”へアクセス
    * ダウンロードした”duoauthproxy-x.x.x.exe”を実行し、インストールを実施
    * Duo Authentication Proxy Managerもしくは直接ファイルを開いて編集
     [参考] https://duo.com/docs/authproxy-reference
    ```config
    ~~~~
    [main]
        [ad_client]
        host=*.*.*.* "ADサーバのIP"
        service_account_username=username "DAPがADで使用するAccount名"
        service_account_password=password "DAP用Accountのパスワード"
        search_dn=DC=exmaple,DC=com "左はexample.comの例"
    ~~~~~
        [Radius_server_auto]
        ikey=****** "1Duo設定で保存したikey"
        skey=****** "1Duo設定で保存したikey"
        api_host=****** "1Duo設定で保存したskey"
    
        radius_ip_1=*.*.*.* "Routerのip"
        radius_secret_1=****** "Routerと共通の認証パスワード　"
    
        radius_ip_2=*.*.*.* "ASAのip"
        radius_secret_2=****** "ASAと共通の認証パスワード　"
        
        failemode=safe "safeはduoに接続付加時には、duo認証は全て許可という動作"
        client=ad_client "プライマリ認証がADとする"
        port=1812
    ```
    * Serviceをスタート
        + コマンドプロンプトを起動
        + net start DuoAuthProxy


　　以上でおしまいです！
   
# 結果
RouterのSSH接続時もASAのASDM接続時も、Duo Pushを使った多要素認証ができるようになりました！！
![router-login.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989079/25e3cf37-879e-d86a-3c0e-1bcf7592e4a3.gif)

# 最後に
:::note info
+ オンプレ機器への多要素認証も簡単に実施できました
+ もし同様なことをご検討されている方の参考になれば幸いです。
+ 今回使用したDuoは30日間のフリートライアルもあり、１ライセンスからの購入も可能ですのでお気軽にお試しになれます。是非トライしてください！
https://www.cisco.com/c/m/ja_jp/duo/trial.html
:::
# 免責事項
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本 Web サイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本 Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。