Implementación de una CA Stand-Alone desde Powershell
¿Qué es una Entidad Certificadora?
Una Entidad Certificadora es aquella que gestiona diferentes tipos de certificados, principalmente su emisión (creación y distribución) y su revocación.
- Emisión es la parte donde se generan los certificados. Está basado en permisos y directivas que le otorgan una finalidad, (firma, identificación, cifrado), el período de validez y para quién se genera y que puede hacer con ello.
- Revocación, se encarga de mantener y publicar una lista de certificados que han perdido su derecho o su finalidad, aunque su fecha de validez aún esté vigente. (Se invalida el certificado)
Una Entidad Certificadora aporta una mejora en la seguridad de los procesos cotidianos de nuestra empresa, se despliegan certificados que son utilizados para multitud de propósitos, por ejemplo encriptar ficheros o crear conexiones seguras SSL a una página web.
La seguridad de esta Entidad Certificadora, garantiza que la integridad de los certificados no se vea comprometida.
Una Entidad Enterprise tiene varias ventajas respecto a una Stand Alone:
- Está integrada con el dominio y por lo tanto con el Directorio Activo, permite la publicación de certificados y CRLs en el dominio.
- Permite la asignación de certificados de forma automática (autoenrollment) y la gestión a través de políticas de dominio
- Dispone de plantillas de certificados
Entonces ¿Por qué podemos optar por elegir Stand Alone?
- Aprobación de certificados se realiza de forma manual, cuando se solicita un certificado desde cualquier equipo cliente, éste debe ser aprobado por el administrador. Esto nos ofrece una gran capacidad de control respecto a la emisión y gestión de certificados.
- Puede no estar integrada a un Directorio Activo, por lo tanto puede permanecer apagada sin la necesidad de que repercuta en el sistema. Con esto conseguimos que la Entidad Certificadora no esté disponible frente a un ataque, minimizamos la posibilidad de que se vea comprometida.
- Puede tener configurada una Entidad Enterprise como subordinada, es la forma más habitual, emitidos certificados importantes o incluso agentes de recuperación con la Stand Alone, la apagamos para que no puedan comprometerla, y trabajamos de forma diaria con la Enterprise que nos ofrece la posibilidad de trabajar de forma más cómoda con plantillas y autoenrollment.
En el video hemos podido ver como se lleva a cabo una implementación de una Entidad Certificadora Stand Alone, en este caso desde Powershell, pero esto es lo de menos. ¿Por qué necesitamos una Entidad Certificadora Stand Alone en vez de una Enterprise?
Scripts utilizados en el video
URL OID para verificar la plantilla http://msdn.microsoft.com/library/windows/desktop/ms677621.aspx
Plantilla CA Personalizada
[Version]
Signature=»$Windows NT$»
[PolicyStatementExtension]
Policies=InternalPolicy
[InternalPolicy]
OID=1.2.3.4.1455.67.89.5
Notice=»Legal Policy Statement»
URL=http://pki.corp.contoso.com/pki/cps.txt
[Certsrv_Server]
RenewalKeyLength=2048
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=5
CRLPeriod=weeks
CRLPeriodUnits=1
LoadDefaultTemplates=0
AlternateSignatureAlgorithm=1
[CRLDistributionPoint]
[AuthorityInformationAccess]
Conectamos al equipo donde vamos a desplegar la CA
Add-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools
Install-AdcsCertificationAuthority -CAType StandaloneRootCA -CACommonName «Adatum Root Certificate Authority» -KeyLength 4096 -HashAlgorithm SHA256 -CryptoProviderName «RSA#Microsoft Software Key Storage Provider» -ValidityPeriod Years -ValidityPeriodUnits 20 -Force
certutil -cainfo
$crllist = Get-CACrlDistributionPoint; foreach ($crl in $crllist) {Remove-CACrlDistributionPoint $crl.uri -Force};
Add-CACRLDistributionPoint -Uri C:\Windows\System32\CertSrv\CertEnroll\Adatum-Root%8%9.crl -PublishToServer -PublishDeltaToServer -Force
Add-CACRLDistributionPoint -Uri http://adatum.com/pki/Adatum-Root%8%9.crl -AddToCertificateCDP -AddToFreshestCrl -Force
Get-CAAuthorityInformationAccess | where {$_.Uri -like ‘*ldap*’ -or $_.Uri -like ‘*http*’ -or $_.Uri -like ‘*file*’} | Remove-CAAuthorityInformationAccess -Force
Add-CAAuthorityInformationAccess -AddToCertificateAia http://adatum.com/pki/Adatum-Root%3%4.crt -Force
certutil.exe –setreg CA\CRLPeriodUnits 20 periodo de validez
certutil.exe –setreg CA\CRLPeriod “Years”
certutil.exe –setreg CA\CRLOverlapPeriodUnits 3
periodo de validez del crl overlap
certutil.exe –setreg CA\CRLOverlapPeriod “Weeks”
certutil.exe –setreg CA\ValidityPeriodUnits 10 periodo de validez de nuestros certificados
certutil.exe –setreg CA\ValidityPeriod “Years”
certutil.exe -setreg CA\AuditFilter 127
Restart-Service certsvc
En el equipo AD
certutil.exe -dspublish -f «nombredefichero.crt»
certutil.exe -dspublish -f «nombredefichero.crl»
Autor: Victor Rodilla
Curso: Microsoft MCSA Windows Server + Microsoft MCSE Cloud Platform & Infrastructure
Centro: Tajamar
Año académico: 2017-2018
Linkedin: linkedin.com/in/victorrodilla