SSL/TLS Cifrado Robusto SSL/TLS: Compatibilidad

En esta página se cubre la compatibilidad entre el módulo mod_ssl y otras soluciones SSL. mod_ssl no es la única solución de SSL para Apache HTTPD Server; Para productos adicionales que están (o estaban) disponibles como Ben Laurie's en su web, que ahora no existe (http://www.apache-ssl.org/), donde fue la derivación original en 1998 del módulo. Tanto el sistema de Red Hat Secure Web Server se basó en mod_ssl así como la versión comercial del módulo SSL de Covalent's Raven, y por último, C2Net (ahora de Red Hat) basado en una rama de evaluación del proyecto llamado Sioux con un "Stronghold 2.x" y basado en mod_ssl desde la versión "Stronghold 3.x".

mod_ssl proporciona un superconjunto de la funcionalidad de todas las demás soluciones, por lo que será simple la migración de módulos antiguos al mod_ssl. Las directivas de configuración y nombres de variables de entorno usadas por módulos antiguos de SSL varían mucho de mod_ssl; tablas de correspondencia con lo usado por mod_ssl, se detallan a continuación.

Directivas de Configuración

La correspondencia entre las directivas de configuración usadas por Apache-SSL 1.x y mod_ssl 2.0.x se dan en la Tabla 1. La correspondencia de Sioux 1.x y Stronghold 2.x es solo parcial debido a funcionalidades especiales en estas interfaces que mod_ssl no proporciona.

Table 1: Correspondencia de Directivas de Configuración
Directivas AntiguasDirectivas mod_ssl Comentarios
Compatibilidad de Apache-SSL 1.x & mod_ssl 2.0.x:
SSLEnableSSLEngine oncompactified
SSLDisableSSLEngine offcompactified
SSLLogFile ficheroUse per-module LogLevel setting instead.
SSLRequiredCiphers specSSLCipherSuite specrenombrada
SSLRequireCipher c1 ...SSLRequire %{SSL_CIPHER} in {"c1", ...}generalized
SSLBanCipher c1 ...SSLRequire not (%{SSL_CIPHER} in {"c1", ...})generalized
SSLFakeBasicAuthSSLOptions +FakeBasicAuthmerged
SSLCacheServerPath dir-functionality removed
SSLCacheServerPort integer-functionality removed
Compatibilidad Apache-SSL 1.x :
SSLExportClientCertificatesSSLOptions +ExportCertDatamerged
SSLCacheServerRunDir dir-funcionalidad no soportada
Compatibilidad Sioux 1.x :
SSL_CertFile ficheroSSLCertificateFile ficherorenombrada
SSL_KeyFile ficheroSSLCertificateKeyFile ficherorenombrada
SSL_CipherSuite argSSLCipherSuite argrenombrada
SSL_X509VerifyDir argSSLCACertificatePath argrenombrada
SSL_Log fichero-Use per-module LogLevel setting instead.
SSL_Connect flagSSLEngine flagrenombrada
SSL_ClientAuth argSSLVerifyClient argrenombrada
SSL_X509VerifyDepth argSSLVerifyDepth argrenombrada
SSL_FetchKeyPhraseFrom arg-not directly mappable; use SSLPassPhraseDialog
SSL_SessionDir dir-not directly mappable; use SSLSessionCache
SSL_Require expr-not directly mappable; use SSLRequire
SSL_CertFileType arg-funcionalidad no soportada
SSL_KeyFileType arg-funcionalidad no soportada
SSL_X509VerifyPolicy arg-funcionalidad no soportada
SSL_LogX509Attributes arg-funcionalidad no soportada
Compatibilidad Stronghold 2.x :
StrongholdAccelerator engineSSLCryptoDevice enginerenombrada
StrongholdKey dir-funcionalidad no requerida
StrongholdLicenseFile dir-funcionalidad no requerida
SSLFlag flagSSLEngine flagrenombrada
SSLSessionLockFile ficheroSSLMutex ficherorenombrada
SSLCipherList specSSLCipherSuite specrenombrada
RequireSSLSSLRequireSSLrenombrada
SSLErrorFile fichero-funcionalidad no soportada
SSLRoot dir-funcionalidad no soportada
SSL_CertificateLogDir dir-funcionalidad no soportada
AuthCertDir dir-funcionalidad no soportada
SSL_Group name-funcionalidad no soportada
SSLProxyMachineCertPath dirSSLProxyMachineCertificatePath dirrenombrada
SSLProxyMachineCertFile ficheroSSLProxyMachineCertificateFile ficherorenombrada
SSLProxyCipherList specSSLProxyCipherSpec specrenombrada
Variables de Entorno

Correlación entre las variables de entorno usadas por soluciones antiguas de SSL y las usadas por mod_ssl que se muestran en la Table 2.

Tabla 2: Derivación de las Variables de Entorno
Variable AntiguaVariable mod_sslComentario
SSL_PROTOCOL_VERSIONSSL_PROTOCOLrenombrada
SSLEAY_VERSIONSSL_VERSION_LIBRARYrenombrada
HTTPS_SECRETKEYSIZESSL_CIPHER_USEKEYSIZErenombrada
HTTPS_KEYSIZESSL_CIPHER_ALGKEYSIZErenombrada
HTTPS_CIPHERSSL_CIPHERrenombrada
HTTPS_EXPORTSSL_CIPHER_EXPORTrenombrada
SSL_SERVER_KEY_SIZESSL_CIPHER_ALGKEYSIZErenombrada
SSL_SERVER_CERTIFICATESSL_SERVER_CERTrenombrada
SSL_SERVER_CERT_STARTSSL_SERVER_V_STARTrenombrada
SSL_SERVER_CERT_ENDSSL_SERVER_V_ENDrenombrada
SSL_SERVER_CERT_SERIALSSL_SERVER_M_SERIALrenombrada
SSL_SERVER_SIGNATURE_ALGORITHMSSL_SERVER_A_SIGrenombrada
SSL_SERVER_DNSSL_SERVER_S_DNrenombrada
SSL_SERVER_CNSSL_SERVER_S_DN_CNrenombrada
SSL_SERVER_EMAILSSL_SERVER_S_DN_Emailrenombrada
SSL_SERVER_OSSL_SERVER_S_DN_Orenombrada
SSL_SERVER_OUSSL_SERVER_S_DN_OUrenombrada
SSL_SERVER_CSSL_SERVER_S_DN_Crenombrada
SSL_SERVER_SPSSL_SERVER_S_DN_SPrenombrada
SSL_SERVER_LSSL_SERVER_S_DN_Lrenombrada
SSL_SERVER_IDNSSL_SERVER_I_DNrenombrada
SSL_SERVER_ICNSSL_SERVER_I_DN_CNrenombrada
SSL_SERVER_IEMAILSSL_SERVER_I_DN_Emailrenombrada
SSL_SERVER_IOSSL_SERVER_I_DN_Orenombrada
SSL_SERVER_IOUSSL_SERVER_I_DN_OUrenombrada
SSL_SERVER_ICSSL_SERVER_I_DN_Crenombrada
SSL_SERVER_ISPSSL_SERVER_I_DN_SPrenombrada
SSL_SERVER_ILSSL_SERVER_I_DN_Lrenombrada
SSL_CLIENT_CERTIFICATESSL_CLIENT_CERTrenombrada
SSL_CLIENT_CERT_STARTSSL_CLIENT_V_STARTrenombrada
SSL_CLIENT_CERT_ENDSSL_CLIENT_V_ENDrenombrada
SSL_CLIENT_CERT_SERIALSSL_CLIENT_M_SERIALrenombrada
SSL_CLIENT_SIGNATURE_ALGORITHMSSL_CLIENT_A_SIGrenombrada
SSL_CLIENT_DNSSL_CLIENT_S_DNrenombrada
SSL_CLIENT_CNSSL_CLIENT_S_DN_CNrenombrada
SSL_CLIENT_EMAILSSL_CLIENT_S_DN_Emailrenombrada
SSL_CLIENT_OSSL_CLIENT_S_DN_Orenombrada
SSL_CLIENT_OUSSL_CLIENT_S_DN_OUrenombrada
SSL_CLIENT_CSSL_CLIENT_S_DN_Crenombrada
SSL_CLIENT_SPSSL_CLIENT_S_DN_SPrenombrada
SSL_CLIENT_LSSL_CLIENT_S_DN_Lrenombrada
SSL_CLIENT_IDNSSL_CLIENT_I_DNrenombrada
SSL_CLIENT_ICNSSL_CLIENT_I_DN_CNrenombrada
SSL_CLIENT_IEMAILSSL_CLIENT_I_DN_Emailrenombrada
SSL_CLIENT_IOSSL_CLIENT_I_DN_Orenombrada
SSL_CLIENT_IOUSSL_CLIENT_I_DN_OUrenombrada
SSL_CLIENT_ICSSL_CLIENT_I_DN_Crenombrada
SSL_CLIENT_ISPSSL_CLIENT_I_DN_SPrenombrada
SSL_CLIENT_ILSSL_CLIENT_I_DN_Lrenombrada
SSL_EXPORTSSL_CIPHER_EXPORTrenombrada
SSL_KEYSIZESSL_CIPHER_ALGKEYSIZErenombrada
SSL_SECKEYSIZESSL_CIPHER_USEKEYSIZErenombrada
SSL_SSLEAY_VERSIONSSL_VERSION_LIBRARYrenombrada
SSL_STRONG_CRYPTO-No soportado por mod_ssl
SSL_SERVER_KEY_EXP-No soportado por mod_ssl
SSL_SERVER_KEY_ALGORITHM-No soportado por mod_ssl
SSL_SERVER_KEY_SIZE-No soportado por mod_ssl
SSL_SERVER_SESSIONDIR-No soportado por mod_ssl
SSL_SERVER_CERTIFICATELOGDIR-No soportado por mod_ssl
SSL_SERVER_CERTFILE-No soportado por mod_ssl
SSL_SERVER_KEYFILE-No soportado por mod_ssl
SSL_SERVER_KEYFILETYPE-No soportado por mod_ssl
SSL_CLIENT_KEY_EXP-No soportado por mod_ssl
SSL_CLIENT_KEY_ALGORITHM-No soportado por mod_ssl
SSL_CLIENT_KEY_SIZE-No soportado por mod_ssl
Funciones Personalizadas de Log

Cuando está habilitado el módulo mod_ssl, existen funciones adicionales para el Formato de Log Personalizado mod_log_config como se documenta en el capítulo referenciado. Junto con la función de formato de eXtensión ``%{varname}x'' la cual puede ser usada para extender cualquier variable proporcionada por cualquier módulo, una función criptográfica de formato adicional ``%{name}c'' cryptography format function exists for backward compatibility. The currently implemented function calls are listed in Table 3.

Table 3: Funciones criptográficas de Log Personalizado
Llamada a la FunciónDescripción
%...{version}c SSL protocol version
%...{cipher}c SSL cipher
%...{subjectdn}c Client Certificate Subject Distinguished Name
%...{issuerdn}c Client Certificate Issuer Distinguished Name
%...{errcode}c Certificate Verification Error (numerical)
%...{errstr}c Certificate Verification Error (string)