Autenticación PKI
La autenticación PKI es un método de seguridad que verifica las identidades de usuarios, dispositivos o aplicaciones mediante certificados digitales y pares de claves pública-privada. Se basa en una autoridad de certificación (CA) de confianza para emitir certificados, lo que garantiza conexiones seguras y autenticadas a través de las redes.
Kron PAM admite autenticación PKI. La creación del certificado del cliente está fuera del alcance de este documento, pero en un dominio Microsoft correctamente configurado, los certificados del cliente se generan automáticamente cuando el usuario final inicia sesión en el endpoint unido al dominio.
Los certificados del cliente son emitidos por una autoridad de certificación (CA). Este certificado de CA debe colocarse en el almacén de certificados de Kron PAM y, por lo tanto, el certificado de CA debe obtenerse previamente.
Debe configurarse un trust store para contener los certificados de CA que verifican clientes con el siguiente comando:
Establezca una conexión SSH con Kron PAM:
- Vaya al directorio /pam/gui/conf/cert.
- Ejecute el siguiente comando (ca-cert.pem es el certificado de CA):
- keytool -import -alias tomcat -keystore pam_truststore.jks -file ca-cert.pem
- Establezca una contraseña de keystore cuando se le solicite. Después de la creación, asigne los permisos necesarios para el Keystore a pamuser.
- Edite el archivo server.xml para incluir el archivo de keystore especificado anteriormente.
- vi /pam/gui/conf/server.xml
- Agregue la parte después de la línea 26 en el ejemplo xml a continuación. Asegúrese de cambiar las contraseñas del trust store y de los certificados según corresponda."
<Connector
port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200"
scheme="https"
secure="true"
SSLEnabled="true"
server="PAM Server"
allowTrace="false">
<SSLHostConfig
protocols="TLSv1.2"
ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384">
<Certificate
certificateKeystoreFile="/pam/gui/conf/cert/pam_certificate.jks"
certificateKeystorePassword="password of the pam Certificate"
certificateKeyAlias="tomcat"
type="RSA"/>
</SSLHostConfig>
////////ADD EVERYTHING BELOW THIS LINE////////
<SSLHostConfig
hostName="pki.pam.com"
certificateVerification="optional"
truststoreFile="/pam/gui/conf/cert/pam_truststore.jks"
truststorePassword="password of the trust store"
protocols="TLSv1.2"
ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384">
<Certificate
certificateKeystoreFile="/pam/gui/conf/cert/pam_certificate.jks"
certificateKeystorePassword="password of the pam Certificate"
certificateKeyAlias="tomcat"
type="RSA"/>
</SSLHostConfig>
</Connector>- Edite el archivo web.xml para permitir el filtro Cors de Tomcat para https://pam.com
- vi /pam/gui/conf/web.xml:

Si no está presente, agregue también lo siguiente a web.xml:
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>La autenticación PKI ahora debe habilitarse en la GUI. Siga los pasos a continuación:
- Abra Administración > Config. del sistema. Man. > Autenticación PKI.
- Haga clic en el botón de alternancia para habilitarlo. El valor del atributo de nombre de usuario en el certificado del cliente también puede especificarse. Esto significa que el Subject Alternate Name (SAN) en el certificado del cliente debe contener este atributo, el cual es verificado por el certificado de CA. De forma predeterminada, la CA verificará sAMAccountName.
- Si el certificado del cliente está firmado por la autoridad de CA importada y el atributo de nombre de usuario se importa correctamente desde LDAP, la operación de firma será exitosa.

El siguiente parámetro debe agregarse a los parámetros de configuración del sistema:
- Vaya a Administración > Config. del sistema > Gestión. > Agregar nuevo parámetro.
- netright.cookie.domain = .pam.com

- El servicio PAM GUI debe reiniciarse mediante el siguiente comando.
- Debe establecerse una conexión SSH al servidor PAM, y debe ejecutarse el siguiente comando: systemctl restart pam-gui.service. Por último, deben crearse dos registros DNS para la autenticación PKI en el servidor DNS."
Por ejemplo, si la dirección IP del servidor PAM en DNS es 1.1.1.1, la configuración requiere los siguientes dos registros DNS:
- 1.1.1.1 pam.com
- 1.1.1.1 pki.pam.com
Si se utiliza un balanceador de carga (LB) y 1.1.1.1 es la dirección del LB, debe aplicarse la misma configuración.
Para probar esto:
- El endpoint debe iniciar sesión con un usuario de dominio, y el registro DNS pam.com debe ser accesible.
- A continuación, haga clic en el botón Iniciar sesión con autenticación PKI.
- El navegador debería solicitar un certificado de cliente, que debe seleccionarse para continuar con el inicio de sesión.