
顧客がGOST証明書に従ってMicrosoft Windowsドメインでユーザー認証を整理する必要があるプロジェクトの1つで、同様の問題が発生しました。 通常、このようなタスクは、「Crypto-PRO」という会社の専用ツール、つまり「CryptoPro Winlogon」を使用して解決されます。 この製品は長い間市場に存在し、可能な限り改善されてきましたが、当社が直面しなければならない実装に予期せぬ困難がある場合があります。 その操作には、ワークステーション、ドメイン、およびドメインコントローラーを適宜構成する必要があります。 この場合にドメインコントローラーをセットアップするときの要件の1つは、GOSTの証明書の発行です。
お客様の場合、ドメインコントローラーにアクセスするために、LDAPプロトコルに加えて、コントローラーに既にインストールされているRSA証明書を使用してSSL(LDAPS)経由のLDAPも使用されるという状況が発生しました。
小さな余談:デフォルトでは、LDAPトラフィックは保護されていません。これにより、LDAPクライアントとサーバー間のトラフィックを監視できます。 LDAPトラフィックがセーフモードで確実に転送されるようにするには、SSL / TLSテクノロジーを使用する必要があります。要するに、このテクノロジーはLDAPSと呼ばれます。
LDAPSは、次の場合に使用することをお勧めします。
- アプリケーションがシンプルバインドを介してActive Directoryドメインサービス認証を使用する場合。 シンプルバインドはユーザーデータをクリアな形式で転送するため、認証にはデータ暗号化を使用することをお勧めします。
- プロキシバインディングによる認証が使用されている場合。
- LDAPと統合するときにアプリケーションがデータ保護を必要とする場合。
したがって、この状況では、LDAP over SSL / TLS(LDAPS)が機能するためには、ドメインコントローラーに証明書をインストールする必要があります。 LDAPSをアクティブにするには、証明機関(ドメインコントローラーとLDAPSクライアントによって信頼されている)によって発行された信頼できる証明書をローカルコンピューターの証明書ストアにインストールする必要があります。
この点で、ドメインコントローラーで2つの証明書を同時に使用することを伴わないCryptoPro Winlogonソリューションの使用を条件として、異なる暗号化アルゴリズムで2つの証明書を共同使用するという疑問が生じました。
指示からコメント:

この問題は一般的ではなく、ロシアの暗号化が追加されていることを考えると、それを解決する新しいアプローチを探す必要がありました。 指示とテーマフォーラムの研究は答えを与えませんでした。 その結果、この問題を解決するために、私はその調査を掘り下げ、ドメインコントローラーが証明書をどのように使用するかを把握する必要がありました。
では、ドメインコントローラで証明書の選択はどのように機能しますか?
証明書を選択する必要がある場合、コントローラーはローカルコンピューターの証明書ストアにアクセスし、このストアの証明書を使用します。 ほとんどの場合、1つの証明書があり、問題はありません。 ストアに複数の証明書がある場合、コントローラーはサーバー認証用の最初の有効な証明書を取得します。 したがって、倉庫でさまざまな目的に2つ(またはそれ以上)の証明書を同時に使用することは望ましくありません。
ただし、Windows Serverでは、複数の証明書が合法的に使用される可能性があります。 このために、LDAPS経由でアクセスするための証明書を保存する別のActive Directoryドメインサービスストレージ(NTDS \ Personal)が使用されます。
この場合、証明書を選択するプロセスをより詳細に説明できます。ドメインコントローラーは最初に証明書の専用ストアにアクセスし、失敗した場合、ローカルマシンのストレージに既にアクセスします。
ドメインコントローラー上のサービス証明書ストアを表示するには、管理コンソール(MMC)を実行し、証明書スナップインを追加する必要があります。 次に、証明書マネージャーを使用して、証明書管理のタイプを選択します。

次に、Active Directoryドメインサービスアカウントを選択します。

このタイプの使用には、Windowsによって課せられるいくつかの制限があります。 たとえば、サービス用のそのような証明書を自動的に更新したり、コマンドラインを介して特定のリポジトリから証明書を管理することは不可能です。
問題に戻り、さらにそれを解決するには、国内および西部の暗号化アルゴリズムに基づいた2つの証明書を使用してスタンドを作成するだけで済みました。

スタンドアップ中に、次の手順が実行されました。
- GOST証明書は、ユーザーがドメインに入るときのサーバー認証のためにローカルマシンの証明書ストアに追加されました。
- NTDS \個人証明書ストア-RSAコントローラ証明書。
- LDAPS接続がチェックされました(成功したことが判明しました)。
- 同様に、証明書を使用してドメイン内のユーザーを認証するプロセスが検証されました(この段階でも問題はありませんでした)。
このソリューションを備えたステージングに成功した後、当社は顧客のもとに行き、非稼働時間中にすでに「戦闘サーキット」で同様のテストを実施しましたが、これも成功しました。 導入から十分な時間が経過しましたが、私たちが提案したソリューションは「機能している」ことが判明し、顧客は機能に問題はありませんでした。