๐ ๐๐ฟ๐ผ๐บ ๐๐ต๐ฒ ๐๐ถ๐ฒ๐น๐ฑ โ Real-World Findings from Security Assessments
๐ฅ In ๐ฐ๐ฎ.๐ต%ย of infrastructures Iโve assessed, ๐๐ฐ๐๐ถ๐๐ฒ ๐๐ถ๐ฟ๐ฒ๐ฐ๐๐ผ๐ฟ๐ ๐๐ฒ๐ฟ๐๐ถ๐ณ๐ถ๐ฐ๐ฎ๐๐ฒ ๐ฆ๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ๐ (๐๐ ๐๐ฆ) ๐ฎ๐ฟ๐ฒ ๐๐๐ถ๐น๐น ๐ถ๐บ๐ฝ๐น๐ฒ๐บ๐ฒ๐ป๐๐ฒ๐ฑ ๐๐๐ถ๐ป๐ด ๐ฎ ๐๐ถ๐ป๐ด๐น๐ฒ-๐๐ถ๐ฒ๐ฟ ๐ต๐ถ๐ฒ๐ฟ๐ฎ๐ฟ๐ฐ๐ต๐
Let me borrow a line straight from ๐ ๐ถ๐ฐ๐ฟ๐ผ๐๐ผ๐ณ๐ on this one:
โ๐๐ฏ๐ฆ-๐ต๐ช๐ฆ๐ณ ๐ฉ๐ช๐ฆ๐ณ๐ข๐ณ๐ค๐ฉ๐บ ๐ช๐ด ๐ฏ๐ฐ๐ต ๐ณ๐ฆ๐ค๐ฐ๐ฎ๐ฎ๐ฆ๐ฏ๐ฅ๐ฆ๐ฅ ๐ง๐ฐ๐ณ ๐ข๐ฏ๐บ ๐ฑ๐ณ๐ฐ๐ฅ๐ถ๐ค๐ต๐ช๐ฐ๐ฏ ๐ด๐ค๐ฆ๐ฏ๐ข๐ณ๐ช๐ฐ. ๐ ๐ค๐ฐ๐ฎ๐ฑ๐ณ๐ฐ๐ฎ๐ช๐ด๐ฆ ๐ฐ๐ง ๐ต๐ฉ๐ช๐ด ๐ด๐ช๐ฏ๐จ๐ญ๐ฆ ๐๐ ๐ฆ๐ฒ๐ถ๐ข๐ต๐ฆ๐ด ๐ต๐ฐ ๐ข ๐ค๐ฐ๐ฎ๐ฑ๐ณ๐ฐ๐ฎ๐ช๐ด๐ฆ ๐ฐ๐ง ๐ต๐ฉ๐ฆ ๐ฆ๐ฏ๐ต๐ช๐ณ๐ฆ ๐๐๐.โ
And yet, I hear this all the time:
๐ โWe only need it for one internal cert. Nothing too crazy. Letโs just keep it simple.โ
Yeah, same ๐ฒ๐ป๐ฒ๐ฟ๐ด๐ ๐๐ฒ ๐ต๐ฎ๐ฑ ๐ณ๐ผ๐ฟ ๐๐ฐ๐๐ถ๐๐ฒ ๐๐ถ๐ฟ๐ฒ๐ฐ๐๐ผ๐ฟ๐ back in the day โ and youโve seen how those decisions aged.
๐ ๏ธ ๐๐ฒ๐ฟ๐ฒโ๐ ๐๐ต๐ฒ ๐๐ต๐ถ๐ป๐ด:
If youโre already taking the time to implement a critical service like AD CS โ just ๐ณ๐ผ๐น๐น๐ผ๐ ๐๐ต๐ฒ ๐ฏ๐ฒ๐๐ ๐ฝ๐ฟ๐ฎ๐ฐ๐๐ถ๐ฐ๐ฒ๐ from the start. Itโs rarely much harder, and itโll save you a lot of pain later.
๐ What to Do Instead: ๐จ๐๐ฒ ๐ฎ๐ ๐น๐ฒ๐ฎ๐๐ ๐ง๐๐ผ-๐ง๐ถ๐ฒ๐ฟ ๐๐ถ๐ฒ๐ฟ๐ฎ๐ฟ๐ฐ๐ต๐
The two-tier design is the sweet spot for most organizations:
๐น An offline Root CA (only used to sign subordinate CAs)
๐น One or more online Issuing CAs that handle certificate requests
๐ช๐ต๐ ๐ถ๐ ๐๐ต๐ถ๐ ๐ฏ๐ฒ๐๐๐ฒ๐ฟ?
๐น Stronger security: Root key is offline = harder to compromise
๐น Better scalability: Add issuing CAs for different purposes or regions
๐น Higher flexibility: Customize certificate policies per issuing CA
๐น Manageability improves โ and the additional cost is marginal (1 VM)
If one issuing CA is compromised, your root key is still safe โ and your ๐ฒ๐ป๐๐ถ๐ฟ๐ฒ ๐ฃ๐๐ ๐ฑ๐ผ๐ฒ๐๐ปโ๐ ๐ด๐ผ ๐ฑ๐ผ๐๐ป ๐ถ๐ป ๐ณ๐น๐ฎ๐บ๐ฒ๐.
๐ฌ๐ผ๐ ๐ฐ๐ฎ๐ป ๐๐ฎ๐ธ๐ฒ ๐๐ต๐ถ๐ ๐ณ๐๐ฟ๐๐ต๐ฒ๐ฟ:
๐น Apply path length constraints
๐น Limit Extended Key Usages (EKUs) for issuing CAs
๐๐ผ๐ปโ๐ ๐๐ผ๐ฟ๐ด๐ฒ๐ ๐ง๐ต๐ฒ๐๐ฒ ๐๐ ๐๐ฆ ๐๐ฒ๐๐ ๐ฃ๐ฟ๐ฎ๐ฐ๐๐ถ๐ฐ๐ฒ๐:
๐ Properly configure certificate templates
โ๏ธ Use Windows Server Core
๐ Consider using a Hardware Security Module (HSM) for private keys
๐งโ๐ผ Delegate specific roles for AD CS
Do you run a two-tier PKI, or are you stuck on a single-tier CA?
