[アップデート] AWS Managed Microsoft ADで新しいセキュリティ設定が可能になりました

2022.06.22

しばたです。

先日AWS Managed Microsoft ADで特定のセキュリティ要件に関する新しい設定が追加されました。
AWSからのアナウンスは以下となります。

この更新がかなり難しい内容だったので、自分のわかる範囲で解説していきたいと思います。

何が更新されたのか?

先述のアナウンスで、

Now, you can update fine-grained secure channel configuration for protocols and ciphers of your directory. For example, you can enable or disable individual encryption ciphers, such as RC4, and secure channel protocols, such as TLS 1.0, based on your security and compliance requirements.

と説明されている様に、今回の更新でAWS Managed Microsoft ADのドメインコントローラーで利用する暗号化方式や暗号化プロトコル(SSL/TLSのバージョン)を制御できる様になりました。
具体的にどの様な設定が可能かは以下のドキュメントに記載されています。

ただ、AWSのドキュメントではこの設定がActive Directoryやドメインコントローラーの何を変えるかまでは説明されていないため、この設定が及ぼす影響については推測するしかありませんでした。

おそらくですが、この設定はドメインコントローラーの「セキュアチャネル(SChannel)設定」と連動しており、Windows Server OS全体のSSL/TLS設定を変えるものと思われます。
セキュアチャネルが何かについては日本マイクロソフトWindowsサポートチームの以下のブログ記事が詳しいので参考にしてください。

暗号化方式設定

今回の更新では以下の暗号化方式の「有効/無効」を設定可能です。

タイプ 暗号化方式 API名 設定可能な値 デフォルト設定
セキュアチャネル: 暗号 AES 128/128 AES_128_128 有効/無効 有効
セキュアチャネル: 暗号 DES 56/56 DES_56_56 有効/無効 有効
セキュアチャネル: 暗号 RC2 40/128 RC2_40_128 有効/無効 有効
セキュアチャネル: 暗号 RC2 56/128 RC2_56_128 有効/無効 有効
セキュアチャネル: 暗号 RC2 128/128 RC2_128_128 有効/無効 有効
セキュアチャネル: 暗号 RC4 56/128 RC4_56_128 有効/無効 有効
セキュアチャネル: 暗号 RC4 64/128 RC4_64_128 有効/無効 有効
セキュアチャネル: 暗号 RC4 128/128 RC4_128_1288 有効/無効 有効
セキュアチャネル: 暗号 Triple DES 168/168 3DES_168_168 有効/無効 有効

Windows OSのセキュアチャネル設定で制限可能な暗号化方式のうち、AES 256/256以外のものが指定可能となっています。
なぜAES 256/256が無いのかはわかりませんが、おそらくAES 256/256は常に有効で設定変更の必要が無いという判断なんだと推測します。

暗号化プロトコル設定

続けて暗号化プロトコルについては以下の「有効/無効」を設定可能です。

タイプ プロトコル名 API名 設定可能な値 デフォルト設定
セキュアチャネル: プロトコル PCT 1.0 PCT_1_0 有効/無効 有効
セキュアチャネル: プロトコル SSL 2.0 SSL_2_0 有効/無効 有効
セキュアチャネル: プロトコル SSL 3.0 SSL_3_0 有効/無効 有効
セキュアチャネル: プロトコル TLS 1.0 TLS_1_0 有効/無効 有効
セキュアチャネル: プロトコル TLS 1.1 TLS_1_1 有効/無効 有効

こちらもWindows OSのセキュアチャネル設定で制限可能なプロトコルのうち、TLS 1.2以外のものが指定可能となっています。
(なお、AWS Managed Microsoft ADはWindows Server 2012 R2環境のためTLS 1.3は非サポート)

利用可能リージョン

本日時点でAWS Managed Microsoft ADを利用可能なリージョンのうち一部を除く形で利用可能となっています。
東京リージョン、大阪リージョンはどちらも利用可能です。

その他

この更新は既存のディレクトリに対しても提供されます。
また、ディレクトリのエディションも問いません。

試してみた

ここまでを踏まえて実際に設定を確認してみます。

今回は私の検証用AWSアカウントの東京リージョンに新規にAWS Managed Microsoft AD環境(corp.contoso.comドメイン)を用意しました。
前提条件となるVPCなどのリソースは予め準備済みで、Active Directory情報を参照するためのWindows Server EC2も別途準備しています。

作成したAWS Managed Microsoft ADのディレクトリをマネジメントコンソールから選択し、

「ネットワークとセキュリティ」タブを参照すると新たに「ディレクトリ設定」欄が増えています。
ここに先述の暗号化方式および暗号化プロトコルがリストアップされており変更可能となっています。

「設定の編集」ボタンをクリックすると編集画面になり、それぞれの有効/無効を切り替えることができます。
今回はTLS 1.1以外の暗号化プロトコルを、AES 128/128以外の暗号化方式を無効に更新してみます。

値を変更し「確認」ボタンをクリックすると確認画面に遷移するので問題なければ「設定の更新」ボタンをクリックします。

これで設定変更が開始されステータスが「更新中」になります。

図では30分 - 数時間で変更完了するとありますが、この時はだいたい10分くらいで完了しました。
最終的には下図の様に設定値とステータスが更新されます。

変更内容をどう検証するか?

これでAWS上の作業は完了なのですが、この結果をどう検証するかに関して正直良い方法が思いつきませんでした。

Windows OSにおいてセキュアチャネル設定はグループポリシーを更新するかその大元となるレジストリキーを直接更新するかで行われるのですが、AWS Managed Microsoft ADにおいては各ドメインコントローラーのレジストリキーを直接更新している様でグループポリシーから変化を見つけることはできませんでした。
そしてマネージドサービスなので利用者がレジストリキーを参照することはできません...

こちらについてはAWS側の処理を信頼するしかない感じです。

最後に

以上となります。

設定内容の詳細を推測することしかできず、かつその検証も難しいため記事としては煮え切らない内容となってしまいました。
AWS公式のドキュメントやブログでもう少し内部仕様を公開してもらえると助かるのですが、これは今後の情報を期待して待ちたいと思います。