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.
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 directive | Directive mod_ssl | Commentaires |
---|---|---|
Compatibilité entre Apache-SSL 1.x et mod_ssl 2.0.x : | ||
SSLEnable | SSLEngine on | plus compacte |
SSLDisable | SSLEngine off | plus compacte |
SSLLogFile
file |
| Utilisez plutôt la directive
de niveau module LogLevel . |
SSLRequiredCiphers spec | SSLCipherSuite spec | renommée |
SSLRequireCipher c1 ... | SSLRequire %{SSL_CIPHER} in {" c1",
...} | plus générale |
SSLBanCipher c1 ... | SSLRequire not (%{SSL_CIPHER} in {" c1",
...}) | plus générale |
SSLFakeBasicAuth | SSLOptions +FakeBasicAuth | rassemblées |
SSLCacheServerPath dir | - | fonctionnalité supprimée |
SSLCacheServerPort integer | - | fonctionnalité supprimée |
Compatibilité avec Apache-SSL 1.x : | ||
SSLExportClientCertificates | SSLOptions +ExportCertData | rassemblées |
SSLCacheServerRunDir dir | - | fonctionnalité non supportée |
Compatibilité avec Sioux 1.x : | ||
SSL_CertFile file | SSLCertificateFile file | renommée |
SSL_KeyFile file | SSLCertificateKeyFile file | renommée |
SSL_CipherSuite arg | SSLCipherSuite arg | renommée |
SSL_X509VerifyDir arg | SSLCACertificatePath arg | renommée |
SSL_Log
file | - | Utilisez plutôt la directive
de niveau module LogLevel |
SSL_Connect flag | SSLEngine flag | renommée |
SSL_ClientAuth arg | SSLVerifyClient arg | renommée |
SSL_X509VerifyDepth arg | SSLVerifyDepth arg | renommé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 engine | SSLCryptoDevice engine | renommée |
StrongholdKey dir | - | sans objet |
StrongholdLicenseFile dir | - | sans objet |
SSLFlag flag | SSLEngine flag | renommée |
SSLSessionLockFile file | SSLMutex file | renommée |
SSLCipherList spec | SSLCipherSuite spec | renommée |
RequireSSL | SSLRequireSSL | renommé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 dir | SSLProxyMachineCertificatePath dir | renommée |
SSLProxyMachineCertFile file | SSLProxyMachineCertificateFile file | renommée |
SSLProxyCipherList spec | SSLProxyCipherSpec spec | renommée |
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 variable | Variable mod_ssl | Commentaires |
---|---|---|
SSL_PROTOCOL_VERSION | SSL_PROTOCOL | renommée |
SSLEAY_VERSION | SSL_VERSION_LIBRARY | renommée |
HTTPS_SECRETKEYSIZE | SSL_CIPHER_USEKEYSIZE | renommée |
HTTPS_KEYSIZE | SSL_CIPHER_ALGKEYSIZE | renommée |
HTTPS_CIPHER | SSL_CIPHER | renommée |
HTTPS_EXPORT | SSL_CIPHER_EXPORT | renommée |
SSL_SERVER_KEY_SIZE | SSL_CIPHER_ALGKEYSIZE | renommée |
SSL_SERVER_CERTIFICATE | SSL_SERVER_CERT | renommée |
SSL_SERVER_CERT_START | SSL_SERVER_V_START | renommée |
SSL_SERVER_CERT_END | SSL_SERVER_V_END | renommée |
SSL_SERVER_CERT_SERIAL | SSL_SERVER_M_SERIAL | renommée |
SSL_SERVER_SIGNATURE_ALGORITHM | SSL_SERVER_A_SIG | renommée |
SSL_SERVER_DN | SSL_SERVER_S_DN | renommée |
SSL_SERVER_CN | SSL_SERVER_S_DN_CN | renommée |
SSL_SERVER_EMAIL | SSL_SERVER_S_DN_Email | renommée |
SSL_SERVER_O | SSL_SERVER_S_DN_O | renommée |
SSL_SERVER_OU | SSL_SERVER_S_DN_OU | renommée |
SSL_SERVER_C | SSL_SERVER_S_DN_C | renommée |
SSL_SERVER_SP | SSL_SERVER_S_DN_SP | renommée |
SSL_SERVER_L | SSL_SERVER_S_DN_L | renommée |
SSL_SERVER_IDN | SSL_SERVER_I_DN | renommée |
SSL_SERVER_ICN | SSL_SERVER_I_DN_CN | renommée |
SSL_SERVER_IEMAIL | SSL_SERVER_I_DN_Email | renommée |
SSL_SERVER_IO | SSL_SERVER_I_DN_O | renommée |
SSL_SERVER_IOU | SSL_SERVER_I_DN_OU | renommée |
SSL_SERVER_IC | SSL_SERVER_I_DN_C | renommée |
SSL_SERVER_ISP | SSL_SERVER_I_DN_SP | renommée |
SSL_SERVER_IL | SSL_SERVER_I_DN_L | renommée |
SSL_CLIENT_CERTIFICATE | SSL_CLIENT_CERT | renommée |
SSL_CLIENT_CERT_START | SSL_CLIENT_V_START | renommée |
SSL_CLIENT_CERT_END | SSL_CLIENT_V_END | renommée |
SSL_CLIENT_CERT_SERIAL | SSL_CLIENT_M_SERIAL | renommée |
SSL_CLIENT_SIGNATURE_ALGORITHM | SSL_CLIENT_A_SIG | renommée |
SSL_CLIENT_DN | SSL_CLIENT_S_DN | renommée |
SSL_CLIENT_CN | SSL_CLIENT_S_DN_CN | renommée |
SSL_CLIENT_EMAIL | SSL_CLIENT_S_DN_Email | renommée |
SSL_CLIENT_O | SSL_CLIENT_S_DN_O | renommée |
SSL_CLIENT_OU | SSL_CLIENT_S_DN_OU | renommée |
SSL_CLIENT_C | SSL_CLIENT_S_DN_C | renommée |
SSL_CLIENT_SP | SSL_CLIENT_S_DN_SP | renommée |
SSL_CLIENT_L | SSL_CLIENT_S_DN_L | renommée |
SSL_CLIENT_IDN | SSL_CLIENT_I_DN | renommée |
SSL_CLIENT_ICN | SSL_CLIENT_I_DN_CN | renommée |
SSL_CLIENT_IEMAIL | SSL_CLIENT_I_DN_Email | renommée |
SSL_CLIENT_IO | SSL_CLIENT_I_DN_O | renommée |
SSL_CLIENT_IOU | SSL_CLIENT_I_DN_OU | renommée |
SSL_CLIENT_IC | SSL_CLIENT_I_DN_C | renommée |
SSL_CLIENT_ISP | SSL_CLIENT_I_DN_SP | renommée |
SSL_CLIENT_IL | SSL_CLIENT_I_DN_L | renommée |
SSL_EXPORT | SSL_CIPHER_EXPORT | renommée |
SSL_KEYSIZE | SSL_CIPHER_ALGKEYSIZE | renommée |
SSL_SECKEYSIZE | SSL_CIPHER_USEKEYSIZE | renommée |
SSL_SSLEAY_VERSION | SSL_VERSION_LIBRARY | renommé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 |
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 fonction | Description |
---|---|
%...{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) |