従来、
といった記事で、EDITF_ATTRIBUTESUBJECTALTNAME2を有効化して、SAN属性ありの証明書を発行していました。が、
How to Request a Certificate With a Custom Subject Alternative Name
※セキュリティで保護された LDAP 証明書にサブジェクトの別名を追加する から上記にリンク有ります。
という公式情報があるよと同僚から教えてもらいました。上記リンクから文面引用するとEDITF_ATTRIBUTESUBJECTALTNAME2を有効化するのはリスク有とのこと。。。
Adding a SAN attribute to the RequestAttributes section of RequestPolicy.inf also requires that the CA is configured to accept SAN attributes by enabling EDITF_ATTRIBUTESUBJECTALTNAME2, which can put your PKI at risk for impersonation attacks.
Whenever possible, specify SAN information by using certificate extensions instead of request attributes to avoid enabling EDITF_ATTRIBUTESUBJECTALTNAME2.
Do not enable EDITF_ATTRIBUTESUBJECTALTNAME2 on an enterprise CA.
For more information about risks and mitigations, see Security best practices for allowing SANs in certificates.
じゃあ、どうするのということで、
How to Request a Certificate With a Custom Subject Alternative Name
を何度も読み返しました。結果、To create a RequestPolicy.inf file の内容を編集すればよいことに気づきました。上記文面でその該当箇所を太字で強調してみました。
To create a RequestPolicy.inf file の内容を抜粋すると、
[Extensions]; If your client operating system is Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7; SANs can be included in the Extensions section by using the following text format. Note 2.5.29.17 is the OID for a SAN extension.2.5.29.17 = "{text}"_continue_ = "dns=www01.fabrikam.com&"_continue_ = "dn=CN=www01,OU=Web Servers,DC=fabrikam,DC=com&"_continue_ = "url=https://www.fabrikam.com&"_continue_ = "ipaddress=172.31.10.134&"_continue_ = "email=hazem@fabrikam.com&"_continue_ = "upn=hazem@fabrikam.com&"_continue_ = "guid=f7c3ac41-b8ce-4fb4-aa58-3d1dc0e36b39&"
この内容から、
[Extensions]2.5.29.17 = "{text}"_continue_ = "dns=www01.fabrikam.com"
だけにすればよい感じでした。実際に試した要求用テキストファイルは、下記の通りです。;がコメントアウトの箇所で、SAN属性はコメントアウトしました。
[NewRequest]
Subject = "CN=contosowac2.contoso.local"
Exportable = TRUE
KeyLength = 2048
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = CMC
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1
[Extensions]
;https://learn.microsoft.com/ja-jp/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ff625722(v=ws.10)#security-best-practices-for-allowing-sans-in-certificates
; If your client operating system is Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7
; SANs can be included in the Extensions section by using the following text format. Note 2.5.29.17 is the OID for a SAN extension.
2.5.29.17 = "{text}"
_continue_ = "dns=contosowac2.contoso.local"
[RequestAttributes]
;SAN="dns=contosowac2.contoso.local"
; ???Enterprise CA ??
CertificateTemplate = WebServer
証明書は、EDITF_ATTRIBUTESUBJECTALTNAME2を無効化した状態
certutil -setreg policy\EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2net stop certsvcnet start certsvc
で発行しました。問題無く、使用できました。
ここまで調べたり試したりしたところで、
AD CS で SAN (サブジェクトの別名) を追加するリスク
という記事があるのを知りました。ということで、EDITF_ATTRIBUTESUBJECTALTNAME2の有効化は今後止めていきたいですね。
0 件のコメント:
コメントを投稿