Chiffrement fort SSL/TLS : Compatibilité - Serveur Apache HTTP Version 2.4

Apache Server 2.4

Serveur Apache HTTP Version 2.4

<-

Chiffrement fort SSL/TLS : Compatibilité

Ce document couvre la compatibilité ascendante entre mod_ssl et d'autres solutions SSL. mod_ssl n'est pas la seule solution SSL pour Apache ; quatre autres produits sont (ou ont été) également disponibles : Apache-SSL, le produit libre de Ben Laurie (d'où mod_ssl est issu à l'origine en 1998), Secure Web Server, un produit commercial de Red Hat (basé sur mod_ssl), Raven SSL Module, un produit commercial de Covalent (basé lui aussi sur mod_ssl), et enfin Stronghold, produit commercial de C2Net et maintenant de Red Hat, (basé sur une branche d'évolution différente appelée Sioux jusqu'à Stronghold 2.x et basé sur mod_ssl depuis Stronghold 3.x).

En plus de ses fonctionnalités propres, mod_ssl rassemble la plupart de celles des autres solutions SSL, si bien qu'il est très simple de migrer depuis un module plus ancien vers mod_ssl. Les directives de configuration et les noms des variables d'environnement utilisés par les solutions SSL plus anciennes diffèrent de ceux qu'utilise mod_ssl ; les tableaux de correspondance ci-dessous fournissent les équivalences de termes utilisés par mod_ssl.

top

Directives de configuration

La correspondance entre les directives de configuration qu'utilise Apache-SSL 1.x et mod_ssl 2.0.x est fournie dans le Tableau 1. La correspondance depuis Sioux 1.x et Stronghold 2.x n'est que partielle car certaines fonctionnalités de ces interfaces ne sont pas supportées par mod_ssl.

Tableau 1: Correspondance entre les directives de configuration

Ancienne directiveDirective mod_sslCommentaires
Compatibilité entre Apache-SSL 1.x et mod_ssl 2.0.x :
SSLEnableSSLEngine onplus compacte
SSLDisableSSLEngine offplus compacte
SSLLogFile fileUtilisez plutôt la directive de niveau module LogLevel.
SSLRequiredCiphers specSSLCipherSuite specrenommée
SSLRequireCipher c1 ...SSLRequire %{SSL_CIPHER} in {"c1", ...}plus générale
SSLBanCipher c1 ...SSLRequire not (%{SSL_CIPHER} in {"c1", ...})plus générale
SSLFakeBasicAuthSSLOptions +FakeBasicAuthrassemblées
SSLCacheServerPath dir-fonctionnalité supprimée
SSLCacheServerPort integer-fonctionnalité supprimée
Compatibilité avec Apache-SSL 1.x :
SSLExportClientCertificatesSSLOptions +ExportCertDatarassemblées
SSLCacheServerRunDir dir-fonctionnalité non supportée
Compatibilité avec Sioux 1.x :
SSL_CertFile fileSSLCertificateFile filerenommée
SSL_KeyFile fileSSLCertificateKeyFile filerenommée
SSL_CipherSuite argSSLCipherSuite argrenommée
SSL_X509VerifyDir argSSLCACertificatePath argrenommée
SSL_Log file-Utilisez plutôt la directive de niveau module LogLevel
SSL_Connect flagSSLEngine flagrenommée
SSL_ClientAuth argSSLVerifyClient argrenommée
SSL_X509VerifyDepth argSSLVerifyDepth argrenommée
SSL_FetchKeyPhraseFrom arg-pas de véritable équivalent ; utiliser SSLPassPhraseDialog
SSL_SessionDir dir-pas de véritable équivalent ; utiliser SSLSessionCache
SSL_Require expr-pas de véritable équivalent ; utiliser SSLRequire
SSL_CertFileType arg-fonctionnalité non supportée
SSL_KeyFileType arg-fonctionnalité non supportée
SSL_X509VerifyPolicy arg-fonctionnalité non supportée
SSL_LogX509Attributes arg-fonctionnalité non supportée
Compatibilité avec Stronghold 2.x :
StrongholdAccelerator engineSSLCryptoDevice enginerenommée
StrongholdKey dir-sans objet
StrongholdLicenseFile dir-sans objet
SSLFlag flagSSLEngine flagrenommée
SSLSessionLockFile fileSSLMutex filerenommée
SSLCipherList specSSLCipherSuite specrenommée
RequireSSLSSLRequireSSLrenommée
SSLErrorFile file-fonctionnalité non supportée
SSLRoot dir-fonctionnalité non supportée
SSL_CertificateLogDir dir-fonctionnalité non supportée
AuthCertDir dir-fonctionnalité non supportée
SSL_Group name-fonctionnalité non supportée
SSLProxyMachineCertPath dirSSLProxyMachineCertificatePath dirrenommée
SSLProxyMachineCertFile fileSSLProxyMachineCertificateFile filerenommée
SSLProxyCipherList specSSLProxyCipherSpec specrenommée
top

Variables d'environnement

La correspondance entre les noms des variables d'environnement utilisés par les solutions SSL plus anciennes et les noms utilisés par mod_ssl est fournie dans le Tableau 2.

Tableau 2: Dérivation des variables d'environnement

Ancienne variableVariable mod_sslCommentaires
SSL_PROTOCOL_VERSIONSSL_PROTOCOLrenommée
SSLEAY_VERSIONSSL_VERSION_LIBRARYrenommée
HTTPS_SECRETKEYSIZESSL_CIPHER_USEKEYSIZErenommée
HTTPS_KEYSIZESSL_CIPHER_ALGKEYSIZErenommée
HTTPS_CIPHERSSL_CIPHERrenommée
HTTPS_EXPORTSSL_CIPHER_EXPORTrenommée
SSL_SERVER_KEY_SIZESSL_CIPHER_ALGKEYSIZErenommée
SSL_SERVER_CERTIFICATESSL_SERVER_CERTrenommée
SSL_SERVER_CERT_STARTSSL_SERVER_V_STARTrenommée
SSL_SERVER_CERT_ENDSSL_SERVER_V_ENDrenommée
SSL_SERVER_CERT_SERIALSSL_SERVER_M_SERIALrenommée
SSL_SERVER_SIGNATURE_ALGORITHMSSL_SERVER_A_SIGrenommée
SSL_SERVER_DNSSL_SERVER_S_DNrenommée
SSL_SERVER_CNSSL_SERVER_S_DN_CNrenommée
SSL_SERVER_EMAILSSL_SERVER_S_DN_Emailrenommée
SSL_SERVER_OSSL_SERVER_S_DN_Orenommée
SSL_SERVER_OUSSL_SERVER_S_DN_OUrenommée
SSL_SERVER_CSSL_SERVER_S_DN_Crenommée
SSL_SERVER_SPSSL_SERVER_S_DN_SPrenommée
SSL_SERVER_LSSL_SERVER_S_DN_Lrenommée
SSL_SERVER_IDNSSL_SERVER_I_DNrenommée
SSL_SERVER_ICNSSL_SERVER_I_DN_CNrenommée
SSL_SERVER_IEMAILSSL_SERVER_I_DN_Emailrenommée
SSL_SERVER_IOSSL_SERVER_I_DN_Orenommée
SSL_SERVER_IOUSSL_SERVER_I_DN_OUrenommée
SSL_SERVER_ICSSL_SERVER_I_DN_Crenommée
SSL_SERVER_ISPSSL_SERVER_I_DN_SPrenommée
SSL_SERVER_ILSSL_SERVER_I_DN_Lrenommée
SSL_CLIENT_CERTIFICATESSL_CLIENT_CERTrenommée
SSL_CLIENT_CERT_STARTSSL_CLIENT_V_STARTrenommée
SSL_CLIENT_CERT_ENDSSL_CLIENT_V_ENDrenommée
SSL_CLIENT_CERT_SERIALSSL_CLIENT_M_SERIALrenommée
SSL_CLIENT_SIGNATURE_ALGORITHMSSL_CLIENT_A_SIGrenommée
SSL_CLIENT_DNSSL_CLIENT_S_DNrenommée
SSL_CLIENT_CNSSL_CLIENT_S_DN_CNrenommée
SSL_CLIENT_EMAILSSL_CLIENT_S_DN_Emailrenommée
SSL_CLIENT_OSSL_CLIENT_S_DN_Orenommée
SSL_CLIENT_OUSSL_CLIENT_S_DN_OUrenommée
SSL_CLIENT_CSSL_CLIENT_S_DN_Crenommée
SSL_CLIENT_SPSSL_CLIENT_S_DN_SPrenommée
SSL_CLIENT_LSSL_CLIENT_S_DN_Lrenommée
SSL_CLIENT_IDNSSL_CLIENT_I_DNrenommée
SSL_CLIENT_ICNSSL_CLIENT_I_DN_CNrenommée
SSL_CLIENT_IEMAILSSL_CLIENT_I_DN_Emailrenommée
SSL_CLIENT_IOSSL_CLIENT_I_DN_Orenommée
SSL_CLIENT_IOUSSL_CLIENT_I_DN_OUrenommée
SSL_CLIENT_ICSSL_CLIENT_I_DN_Crenommée
SSL_CLIENT_ISPSSL_CLIENT_I_DN_SPrenommée
SSL_CLIENT_ILSSL_CLIENT_I_DN_Lrenommée
SSL_EXPORTSSL_CIPHER_EXPORTrenommée
SSL_KEYSIZESSL_CIPHER_ALGKEYSIZErenommée
SSL_SECKEYSIZESSL_CIPHER_USEKEYSIZErenommée
SSL_SSLEAY_VERSIONSSL_VERSION_LIBRARYrenommée
SSL_STRONG_CRYPTO-Non supportée par mod_ssl
SSL_SERVER_KEY_EXP-Non supportée par mod_ssl
SSL_SERVER_KEY_ALGORITHM-Non supportée par mod_ssl
SSL_SERVER_KEY_SIZE-Non supportée par mod_ssl
SSL_SERVER_SESSIONDIR-Non supportée par mod_ssl
SSL_SERVER_CERTIFICATELOGDIR-Non supportée par mod_ssl
SSL_SERVER_CERTFILE-Non supportée par mod_ssl
SSL_SERVER_KEYFILE-Non supportée par mod_ssl
SSL_SERVER_KEYFILETYPE-Non supportée par mod_ssl
SSL_CLIENT_KEY_EXP-Non supportée par mod_ssl
SSL_CLIENT_KEY_ALGORITHM-Non supportée par mod_ssl
SSL_CLIENT_KEY_SIZE-Non supportée par mod_ssl
top

Fonctions de personnalisation des journaux

Quand mod_ssl est activé, le Format de journal courant (Custom Log Format) du module mod_log_config possède des fonctions supplémentaires comme indiqué dans le chapitre de référence. En plus de la fonction de format étendu ``%{varname}x'' que l'on peut utiliser pour extraire le contenu d'une variable fournie par n'importe quel module, la fonction de format cryptographique ``%{name}c'' a été ajoutée à des fins de compatibilité ascendante. Les appels de fonctions actuellement implémentés sont énumérés dans le Tableau 3.

Table 3: Fonctions cryptographiques du format de journal courant

Appel de fonctionDescription
%...{version}c Version du protocole SSL
%...{cipher}c Chiffrement SSL
%...{subjectdn}c Nom distinctif du sujet du certificat du client
%...{issuerdn}c Nom distinctif de l'émetteur du certificat du client
%...{errcode}c Erreur lors de la vérification du certificat (numérique)
%...{errstr}c Erreur lors de la vérification du certificat (chaîne de caractères)