# CA Notes Information learned / designed when creating our CA. ## Hierarchy XDR uses a simple 2-level CA hierarchy: root CA and subordinate CA | CA Type | Description | Path Length | | ------- | ----------- | ----------- | | Root CA | In mdr-prod-root-ca account that alerts on any and all activity. | Unspecified | | Identity Subordinate CA | In mdr-common-services account that alerts on all kms activity. | 0 | | WWW Subordinate CA | In mdr-common-services account that alerts on all kms activity. | 0 | ## Templates ACM provides templates for basic constraint values. Of interest to us: * `RootCACertificate/V1` - Root CA * `SubordinateCACertificate_PathLen0/V1` - Our signing cert * `EndEntityCertificate/V1` - End entities ## Parsing the CRLs Get the CRL URIs: ``` # This will output the _root_ CRL openssl x509 -in ~/infrastructure-notes/files/xdr_subordinate_ca.govcloud_for_idp.crt -noout -text | grep crl # This will output the subordinate CRL yubico-piv-tool --slot 9a --action read-certificate | openssl x509 -noout -text | grep crl ``` ``` # Root CA's CRL: curl http://xdr-root-crl.s3.us-gov-east-1.amazonaws.com/crl/f58ae001-7ba3-4fb2-935a-bf12aad34ec6crl | openssl crl -inform DER -text -noout # Identity Subordinate CA's CRL: curl http://xdr-subordinate-crl.s3.us-gov-east-1.amazonaws.com/crl/FILLTHISINFROMACLIENTCERT.crl | openssl crl -inform DER -text -noout # WWW Subordinate CA's CRL: curl http://xdr-subordinate-crl.s3.us-gov-east-1.amazonaws.com/crl/FILLTHISINFROMACLIENTCERT.crl | openssl crl -inform DER -text -noout ``` ## Generate an audit report ``` # Root CA aws --profile mdr-prod-root-ca-gov \ acm-pca create-certificate-authority-audit-report \ --certificate-authority-arn arn:aws-us-gov:acm-pca:us-gov-east-1:455637268483:certificate-authority/f58ae001-7ba3-4fb2-935a-bf12aad34ec6 \ --s3-bucket-name xdr-ca-audit-reports \ --audit-report-response-format CSV # Identity Secondary CA aws --profile mdr-common-services-gov \ acm-pca create-certificate-authority-audit-report \ --certificate-authority-arn arn:aws-us-gov:acm-pca:us-gov-east-1:701290387780:certificate-authority/cb0ea325-a347-4297-9cb8-2134410c3889 \ --s3-bucket-name xdr-ca-audit-reports \ --audit-report-response-format CSV # WWW Secondary CA aws --profile mdr-common-services-gov \ acm-pca create-certificate-authority-audit-report \ --certificate-authority-arn arn:aws-us-gov:acm-pca:us-gov-east-1:701290387780:certificate-authority/05b83e94-f625-43e4-a9f2-c3d8f04410f9 \ --s3-bucket-name xdr-ca-audit-reports \ --audit-report-response-format CSV ``` ## Revoke a Certificate Grab the serial number from [Moose Private CA Dashboard](https://moose-splunk.pvt.xdr.accenturefederalcyber.com/en-US/app/splunk_app_aws/private_ca_status_dashboard) ``` aws --profile mdr-common-services-gov \ acm-pca revoke-certificate \ --certificate-authority-arn arn:aws-us-gov:acm-pca:us-gov-east-1:701290387780:certificate-authority/cb0ea325-a347-4297-9cb8-2134410c3889 \ --revocation-reason SUPERSEDED \ --certificate-serial ``` Reason can be one of: `AFFILIATION_CHANGED, CESSATION_OF_OPERATION, A_A_COMPROMISE, PRIVILEGE_WITHDRAWN, SUPERSEDED, UNSPECIFIED, KEY_COMPROMISE, CERTIFICATE_AUTHORITY_COMPROMISE`