web-dev-qa-db-ja.com

Active Directory + Google Authenticator-AD FS、またはどのように?

(アンサーライターの理解に合わせて編集-ここに投稿された新しくて新鮮でクリーンな質問: Active Directory + Google Authenticator-Windows Serverのネイティブサポート?

これまでに行われた研究

Active Directoryフェデレーションサービス(AD FS)でGoogleオーセンティケーターを使用する方法に関するTechnetの記事があります: https://blogs.technet.Microsoft.com/cloudpfe/2014/10/26/using-time-based -one-time-passwords-for-multi-factor-authentication-in-ad-fs-3-0 /

奇妙なことに、それはいくつかのコードと独自のSQL DBを必要とする開発プロジェクトのようです。

ここでは特にADについて話していませんFS=。具体的には、ADに組み込まれている2AuthをサポートするGoogle Authenticator RFCを探しています。

回答、2017年10月現在:

Duo を使用して、LDAPをADに戻すシステムをMFA有効にします

私たちはすべてを調査または試しました。

  • Azure/Microsoft MFA(複雑でセットアップに時間がかかり、操作が壊れやすい)
  • RADIUSサーバー

DUOの運用コストは好きではありませんが、最大50人のユーザーにとって、セットアップと使用が簡単なため、このコストは価値があります。

これまでのところ、それを使用しました:

  • VPNアクセス用のCisco ASAデバイス

  • VPNアクセス用のSonicwallリモートアクセスアプライアンス(ADに対してもLDAPを実行するデバイス)

2〜4時間でセットアップできる他のアプローチについては認識しておらず、MFAはADにハングアップするLDAPサービスを有効にします。

AD自体がGoogleオーセンティケーターの背後にあるTOTP/HOTP RFCをサポートする必要があると私たちは信じ続けており、MSがこれをWindows Server 2016で適切に解決していないことに深く失望しています。

ここで何が起こっているのかを調べる必要があります。

AD FSはすべて [〜#〜] saml [〜#〜] についてです。 Active Directoryに接続して、SAML IDプロバイダーとして使用します。 GoogleにはすでにSAMLサービスプロバイダーとして機能する機能があります 。 2つを組み合わせると、GoogleはサーバーのSAMLトークンを信頼し、Active Directoryの認証情報を介してGoogleアカウントにログインします。1

一方、Google Authenticatorは、IDプロバイダーの1つの要素として機能します。通常は、Google独自のサービスに対してです。たぶん、それがAD FSに実際には適合しないことを理解できるでしょう。 GoogleでAD FSを使用すると、実際にはGoogleのIDプロバイダーは使用されなくなり、AD FSがGoogleへのハンドオフを完了するまでに、ID側はすでに完了しています。何かをした場合、それは、Authenticatorをsupplemental ID確認としてAD FSまたは他のSAML IDプロバイダーの上に(ただしそれとは別に)要求するようにGoogleを構成することになります。 (注:Googleはこれをサポートしていないと思いますが、サポートする必要があります)。

だからといって、やりたいことが不可能だというわけではありません。 AD FSは主にActive Directoryで使用されますが、より一般的なSAMLサービスとして機能するようにも設計されています。 Active Directory以外のIDプロバイダーに接続でき、さまざまなオプションと拡張機能をサポートしています。これらの1つは、独自の多要素認証プロバイダーを作成する機能です。さらに、Google認証システムは、多要素認証の TOTP標準 をサポートしています。

2つを組み合わせると、Google AuthenticatorをAD FSのMuliFactorプロバイダーとして使用することが可能になります(確かに簡単ではありません)。あなたがリンクした記事は、そのような試みの概念の証明です。ただし、これはAD FSがすぐにできることではありません。そのプラグインを作成するのは、各Multi-Factorサービス次第です。

たぶん、MSはいくつかの大きなマルチファクタープロバイダーにファーストパーティサポートを提供できるかもしれません(そのようなものがある場合)が、Google Authenticatorは十分に新しく、AD FS 3.0は十分古いため、リリース時にこれを実行することは実現可能でした。さらに、MSがこれらの他のプロバイダーがプッシュする更新のタイミングや内容に影響がない場合、MSがこれらを維持することは困難です。

Windows Server 2016がリリースされたときに、更新されたAD FSを使用すると、これが容易になります。 多要素サポートを改善するためにいくつかの作業を行ったようです ですが、ボックスに競合他社の認証システムを含めることに関するメモはありません。代わりに、Azureをセットアップしてこれを実行し、Authenticatorの競合他社にiOS/Android/Windowsアプリを提供してもらいたいようです。

MSの配信を最終的に確認したいのはgeneric TOTPプロバイダーです。GoogleAuthenticatorと通信していることを伝えるためにいくつかの設定を行い、残りを行います。多分いつか。システムをより詳細に見ると、実際に取得できたら、そこにあることがわかります。


1 記録のために、私はこれを行いました。ジャンプするとき、この情報はimapまたはアカウントを使用する他のアプリには適用されないことに注意してください。つまり、-Googleアカウントのhuge部分を破壊しています。これを回避するために、 Googleのパスワード同期ツール もインストールして設定する必要があります。このツールを使用すると、誰かがActive Directoryでパスワードを変更するたびに、ドメインコントローラーがパスワードのハッシュをGoogleに送信して、これらの他の認証で使用します。

さらに、これはユーザーにとってすべてかゼロかです。エンドポイントのIPアドレスで制限できますが、ユーザーに基づくことはできません。したがって、Active Directoryの資格情報を知らないレガシーユーザー(たとえば、大学の同窓生ユーザー)がいる場合、それらすべてを移動することは困難な場合があります。このために、 現在、GoogleでAD FSを使用していませんが、最終的には飛躍することを望んでいます。 私たちは今、その飛躍を遂げました。

9
Joel Coel

あなたの質問は、特定のベンダーの2FA/MFAソリューションのサポートを追加するのはマイクロソフトの仕事であるという誤った仮定をしていると思います。しかし、ベンダーがそのサポートを追加することを選択したため、すでにWindowsとADをサポートしている2FA/MFA製品はたくさんあります。 Googleがサポートを追加することが十分に重要であると考えていない場合、それは実際にはMicrosoftの責任ではありません。認証と承認に関連するAPIは十分に文書化されており、無料で使用できます。

誰でも追加できるサンプルコードにリンクしたブログ投稿 RFC6238 TOTPサポートを独自のAD FS環境に追加します。GoogleAuthenticatorで動作するのは、そのRFCをサポートするオーセンティケーターの副次的影響私はまた、コードが「概念実証」、「適切なエラー処理なし」、および「安全を考慮して作成されていない」であることについての免責事項の最下部に注意します。

いずれにせよ、いいえ。 Google AuthenticatorのサポートがWindows Server 2016で明示的にサポートされるとは思いませんが、GoogleがServer 2016以前にサポートを追加することを妨げているとは思いません。

7
Ryan Bolger