IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Mise en place OpenSSL difficile sur Wampserver


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Mise en place OpenSSL difficile sur Wampserver
    Bonjour,

    Comme tous les novices en matière de sécurité, je peine, malgré les tutoriaux et les diverses discussions du forum, à faire fonctionner le mode ssl sur wampserver.

    Voici l'erreur sous Opéra:
    Erreur!
    Impossible de se connecter au serveur distant

    Vous tentez d'accèder à l'adresse https://localhost/, actuellement injoignable. Assurez-vous que l'adresse web (URL) est écrite correctement puis tentez de recharger la page.

    Connexion sécurisée: erreur fatale (552)

    https://localhost/

    Opera n'a pas été capable de se connecter au serveur. Le serveur utilise peut être le protocle SSL 2, qui n'est pas supporté et n'est pas assez sécurisé. Le propriétaire du site devrait mettre le site à jour vers TLS 1.0 ou mieux.
    Assurez-vous que votre connexion est activée et vérifiez si d'autres applications utilisent la même connexion.
    La même sous Firefox:
    Échec de la connexion sécurisée

    Une erreur est survenue pendant une connexion à localhost.

    SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée.

    (Code d'erreur : ssl_error_rx_record_too_long)

    * La page que vous essayez de consulter ne peut pas être affichée car l'authenticité des données reçues
    ne peut être vérifiée.

    * Veuillez contacter les propriétaires du site Web pour les en informer.
    Vous pouvez également utiliser la commande dans le menu d'aide pour signaler un site non fonctionnel.
    Googlechrome et IE ne donnent pas d'indication mais refusent la connexion.

    Contenu de apache_error.log:
    [Fri Jul 24 12:22:00 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
    [Fri Jul 24 12:22:00 2009] [notice] Apache/2.0.63 (Win32) mod_ssl/2.0.63 OpenSSL/0.9.8k PHP/4.4.9 configured -- resuming normal operations
    [Fri Jul 24 12:22:00 2009] [notice] Server built: Jan 17 2008 22:58:29
    [Fri Jul 24 12:22:00 2009] [notice] Parent: Created child process 4884
    [Fri Jul 24 12:22:00 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
    [Fri Jul 24 12:22:01 2009] [notice] Child 4884: Child process is running
    [Fri Jul 24 12:22:01 2009] [notice] Child 4884: Acquired the start mutex.
    [Fri Jul 24 12:22:01 2009] [notice] Child 4884: Starting 250 worker threads.
    Je fonctionne avec Wampserver 2.0 (OpenSSL intégré), Apache 2.0.63, Php 4.4.9.

    Voici les étapes de la mise en place du ssl (fichier bat):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    openssl genrsa -des3 -out server.key 1024
    copy server.key server.key.org
    openssl rsa -in server.key.org -out server.key
    openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt -config "C:\Program Files\wamp\bin\apache\apache2.0.63\conf\openssl.cnf"
    md "C:\Program Files\wamp\bin\apache\apache2.0.63\conf\ssl.key"
    md "C:\Program Files\wamp\bin\apache\apache2.0.63\conf\ssl.crt"
    copy server.key "C:\Program Files\wamp\bin\apache\apache2.0.63\conf\ssl.key\server.key"
    copy server.key "C:\Program Files\wamp\bin\apache\apache2.0.63\conf\ssl.crt\server.crt"
    Contenu de httpd.conf (fragments):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Listen 127.0.0.1:80
    Listen 127.0.0.1:443
    LoadModule ssl_module modules/mod_ssl.so
    <IfModule mod_ssl.c>
        Include conf/ssl.conf
    </IfModule>
    Contenu de ssl.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    <IfDefine SSL>
    Listen 443
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl
    SSLPassPhraseDialog  builtin
    SSLSessionCache         dbm:logs/ssl_scache
    SSLSessionCacheTimeout  300
    SSLMutex default
    <VirtualHost _default_:443>
    DocumentRoot "C:/Program Files/wamp/www"
    ServerName localhost:443
    ServerAdmin admin@localhost
    ErrorLog logs/sslerror_log
    TransferLog logs/sslaccess_log
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile conf/ssl.crt/server.crt
    SSLCertificateKeyFile conf/ssl.key/server.key
    <FilesMatch "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "C:/Program Files/wamp/www">
        SSLOptions +StdEnvVars
    </Directory>
    SetEnvIf User-Agent ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
    CustomLog logs/ssl_request_log \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    </VirtualHost>                                  
    </IfDefine>

    Et voilà... tant que je teste http://localhost/, tout va bien, mais à https://localhost/, cela me renvoie les erreurs précitées !

    Je précise que dans le php.ini, j'ai bien décommenté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extension=php_openssl.dll
    alors qu'ai-je fait de travers ?!!!



    Merci d'avance !

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Un pare-feu activé, peut-être ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Merci pour ta réponse !

    A priori, non... mais je vais mener l'enquête !

    A ta réponse, je déduis que rien dans la procédure ne te semble erroné, et que le contenu des fichiers conf semble cohérent. Me trompé-je ?

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Oui, tout semble correct. Ton navigateur passe par un proxy ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Non, pas de proxy.

    J'ai testé sur 2 PC, même config pour wampserver sur les deux.
    Le premier PC, sous XP Pro, est en réseau avec une passerelle pour Internet, Firewall Windows activé ou non, l'interdiction à https://localhost/ persiste.
    Le deuxième, sous Vista familiale premium, n'est pas en réseau, dispose d'un pare-feu Mcafee qui autorise un controle total à apache.exe et le pare-feu Windows est désactivé.

    J'ai sensiblement modifié les fichiers conf pour voir. J'ai supprimé ce qui me semble être une redondance entre httpd.conf et ssl.conf :
    et
    Dans ssl.conf, j'ai aussi changé (pour voir):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <FilesMatch "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <FilesMatch "\.(cgi|shtml|html|php?)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    Et j'ai aussi passé, toujours dans ssl.conf, SSLSessionCache à "none":
    Mais rien ne change. En tout cas, je te remercie de prendre le temps de m'accompagner dans mes balbutiements !

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Le plus sûr c'est de mettre Listen 443, comme ça Apache écoute sur toutes les interfaces réseau, pas seulement 127.0.0.1, ce qui empêche les accès à distance. Donc mets simplement ce Listen 443, redémarrage Apache et teste de nouveau. Si ça ne marche toujours pas, tu peux toujours tenter un test telnet local : sur la machine qui héberge Wamp, tu ouvres un interpréteur de commande (menu Démarrer > Exécuter... > cmd) et tu tapes si la fenêtre se rafraîchit et devient noir, c'est OK, Apache écoute comme il faut et il faut alors exploiter la piste navigateur/proxy/firewall. Tu peux aussi taper et voir si le port 443 (ou HTTPS) apparaît sur une ligne avec "LISTEN" dans la dernière colonne.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Ok, j'ai fait la modif dans le fichier conf.

    Résultat, pas de Listening sur le port 443 et Telnet ne peut pas se connecter sur localhost via le port 443.

    Mais il y arrive bien sur le port 80, et il y a bien un listening sur 127.0.0.1:80

    Peut-on reprendre depuis le début et faire une check-list de ce qu'il faut pour que cela fonctionne ?

    1. Activer le module ssl_mod pour Apache Ok (en faut-il un autre ?)
    2. Activer l'extension php_openssl Ok (faut-il autre chose ?)
    3. Avoir un certificat: 2 fichiers, server.crt et server.key, dans les sous-répertoires attendus tel que prévu dans ssl.conf Ok
    4. Vérifier le contenu des fichiers de configuration (cf ci-dessous)


    Vérification php.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extension=php_openssl.dll
    Ok pas de ';' devant (Y a-t-il d'autres extensions requises ?)

    Vérification httpd.conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule ssl_module modules/mod_ssl.so
    Ok pas de '#' devant et présence du fichier dans le sous-répertoire attendu (voir le fichier ssl.conf)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <IfModule mod_ssl.c>
        Include conf/ssl.conf
    </IfModule>
    Cela nous renvoie au fichier suivant mais je note au passage, qu'il n'y a de fichier mod_ssl.c nul part.

    Vérification ssl.conf (lignes non mises en commentaire dans l'ordre où elles apparaissent)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    <IfDefine SSL>
    Listen 443
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl
    SSLPassPhraseDialog  builtin
    SSLSessionCache         dbm:logs/ssl_scache
    SSLSessionCacheTimeout  300
    SSLMutex default
     
    <VirtualHost _default_:443>
    DocumentRoot "C:/Program Files/wamp/www"
    ServerName localhost:443
    ServerAdmin admin@localhost
    ErrorLog logs/sslerror_log
    TransferLog logs/sslaccess_log
     
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile conf/ssl.crt/server.crt
    SSLCertificateKeyFile conf/ssl.key/server.key
     
    <FilesMatch "\.(cgi|shtml|phtml|html|php?)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
     
    <Directory "C:/Program Files/wamp/www/">
        SSLOptions +StdEnvVars
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
     
    SetEnvIf User-Agent ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
     
    </VirtualHost>                                  
    </IfDefine>
    Te semble-t-il y manquer quelque chose ? Où avoir quelque chose en trop ?

    Pour ma part, je vais tester la piste de la condition qui permet l'inclusion du fichier ssl.conf mais l'absence de Listening sur le port 443 lors de l'exécution de la commande netstat -a me laisse à penser que la ligne n'est pas interprétée. De plus, il n'a aucun journal d'erreur ssl tel que nommés dans le ssl.conf (seule le fichier d'erreur apache existe).

    Je vais donc chercher de ce côté, mais si toi, ou un autre, a une suggestion, elle sera bienvenue !

    Et encore merci.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    En intégrant la ligne:
    Dans le fichier httpd.conf, les commandes dos netstat -a et telnet localhost 443 me retournent un résultat positif, ce qui semble confirmer que la même ligne dans le fichier ssl.conf n'est pas interprétée.

    Par contre en copiant l'intégralité du fichier ssl.conf dans le fichier httpd.conf, même si le port 443 est toujours écouté, je n'ai pas, malgré tout, accès à https://localhost/

    Il est tard, les idées ne sont plus claires, mais si l'un de vous, à tête reposée, peut m'orienter, j'en prendrais connaissance demain...

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Les idées étant plus claires, voici le résultat d'un autre test.

    En conservant l'écoute du port 443 dans le fichier ssl.conf mais en mettant en commentaire les lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #<IfDefine SSL>
    ...
    Listen 443
    ...
    #</IfDefine>
    J'obtiens un résultat positif avec les commandes DOS netstat -a et telnet localhost 443 ce qui induit que cette fois, la ligne est bien interprétée, sans toutefois pouvoir afficher localhost en https.

    Pour la piste du firewall, j'ai ouvert le port 443 (alors que le port 80 ne l'est pas sans me causer aucun problème), mais rien n'y fait. Apache est un programme qui a un accès total sur le système au regard de la configuration des programmes autorisés (dont il fait parti).

    Voilà l'état d'avancement de mes recherches. Si quelqu'un a une idée...

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Déjà, si le telnet accroche, c'est bon signe. Je n'ai pas Wamp sous la main, donc je ne peux pas vérifier, mais y aurait-il ailleurs dans la conf un <IfDefine SSL> ? Ce truc devrait être activé en précisant un certain paramètre à Apache au démarrage. Si ce paramètre n'est pas passé, c'est possible qu'il faille indiquer un truc (cocher une case quelque part) à Wampserver pour activer SSL. Je vérifie ça lundi.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Merci !

  12. #12
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Alors, je n'ai pas du tout de <IfDefine SSL> dans ma conf. A la place, j'ai ce fichier :
    extra/httpd-ssl.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    #
    # This is the Apache server configuration file providing SSL support.
    # It contains the configuration directives to instruct the server how to
    # serve pages over an https connection. For detailing information about these 
    # directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>
    # 
    # Do NOT simply read the instructions in here without understanding
    # what they do.  They're here only as hints or reminders.  If you are unsure
    # consult the online docs. You have been warned.  
    #
     
    #
    # Pseudo Random Number Generator (PRNG):
    # Configure one or more sources to seed the PRNG of the SSL library.
    # The seed data should be of good random quality.
    # WARNING! On some platforms /dev/random blocks if not enough entropy
    # is available. This means you then cannot use the /dev/random device
    # because it would lead to very long connection times (as long as
    # it requires to make more entropy available). But usually those
    # platforms additionally provide a /dev/urandom device which doesn't
    # block. So, if available, use this one instead. Read the mod_ssl User
    # Manual for more details.
    #
    #SSLRandomSeed startup file:/dev/random  512
    #SSLRandomSeed startup file:/dev/urandom 512
    #SSLRandomSeed connect file:/dev/random  512
    #SSLRandomSeed connect file:/dev/urandom 512
     
     
    #
    # When we also provide SSL we have to listen to the 
    # standard HTTP port (see above) and to the HTTPS port
    #
    # Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
    #       Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
    #
    Listen 443
     
    ##
    ##  SSL Global Context
    ##
    ##  All SSL configuration in this context applies both to
    ##  the main server and all SSL-enabled virtual hosts.
    ##
     
    #
    #   Some MIME-types for downloading Certificates and CRLs
    #
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl
     
    #   Pass Phrase Dialog:
    #   Configure the pass phrase gathering process.
    #   The filtering dialog program (`builtin' is a internal
    #   terminal dialog) has to provide the pass phrase on stdout.
    #SSLPassPhraseDialog  builtin
    SSLPassPhraseDialog "exec:C:/wamp/bin/apache/apache2.2.8/conf/ssl/passphrase.bat"
     
    #   Inter-Process Session Cache:
    #   Configure the SSL Session Cache: First the mechanism 
    #   to use and second the expiring timeout (in seconds).
    #SSLSessionCache         "dbm:C:/wamp/bin/apache/apache2.2.8/logs/ssl_scache"
    SSLSessionCache        "shmcb:C:/wamp/bin/apache/apache2.2.8/logs/ssl_scache(512000)"
    SSLSessionCacheTimeout  300
     
    #   Semaphore:
    #   Configure the path to the mutual exclusion semaphore the
    #   SSL engine uses internally for inter-process synchronization. 
    SSLMutex default
     
    ##
    ## SSL Virtual Host Context
    ##
     
    <VirtualHost _default_:443>
     
    #   General setup for the virtual host
    DocumentRoot "C:/wamp/bin/apache/apache2.2.8/htdocs"
    ServerName localhost:443
    ServerAdmin admin@localhost
    ErrorLog "C:/wamp/bin/apache/apache2.2.8/logs/error.log"
    TransferLog "C:/wamp/bin/apache/apache2.2.8/logs/access.log"
     
    #   SSL Engine Switch:
    #   Enable/Disable SSL for this virtual host.
    SSLEngine on
     
    #   SSL Cipher Suite:
    #   List the ciphers that the client is permitted to negotiate.
    #   See the mod_ssl documentation for a complete list.
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
     
    #   Server Certificate:
    #   Point SSLCertificateFile at a PEM encoded certificate.  If
    #   the certificate is encrypted, then you will be prompted for a
    #   pass phrase.  Note that a kill -HUP will prompt again.  Keep
    #   in mind that if you have both an RSA and a DSA certificate you
    #   can configure both in parallel (to also allow the use of DSA
    #   ciphers, etc.)
    #SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.crt"
    #SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server-dsa.crt"
    SSLCertificateFile "C:/wamp/bin/apache/apache2.2.8/conf/ssl/server.crt"
     
    #   Server Private Key:
    #   If the key is not combined with the certificate, use this
    #   directive to point at the key file.  Keep in mind that if
    #   you've both a RSA and a DSA private key you can configure
    #   both in parallel (to also allow the use of DSA ciphers, etc.)
    #SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.key"
    #SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server-dsa.key"
    SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.2.8/conf/ssl/monsiteweb.key"
     
    #   Server Certificate Chain:
    #   Point SSLCertificateChainFile at a file containing the
    #   concatenation of PEM encoded CA certificates which form the
    #   certificate chain for the server certificate. Alternatively
    #   the referenced file can be the same as SSLCertificateFile
    #   when the CA certificates are directly appended to the server
    #   certificate for convinience.
    #SSLCertificateChainFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server-ca.crt"
     
    #   Certificate Authority (CA):
    #   Set the CA certificate verification path where to find CA
    #   certificates for client authentication or alternatively one
    #   huge file containing all of them (file must be PEM encoded)
    #   Note: Inside SSLCACertificatePath you need hash symlinks
    #         to point to the certificate files. Use the provided
    #         Makefile to update the hash symlinks after changes.
    #SSLCACertificatePath "C:/Program Files/Apache Software Foundation/Apache2.2/conf/ssl.crt"
    #SSLCACertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/ssl.crt/ca-bundle.crt"
    SSLCACertificateFile "C:/wamp/bin/apache/apache2.2.8/conf/ssl/verisign_test.crt"
     
    #   Certificate Revocation Lists (CRL):
    #   Set the CA revocation path where to find CA CRLs for client
    #   authentication or alternatively one huge file containing all
    #   of them (file must be PEM encoded)
    #   Note: Inside SSLCARevocationPath you need hash symlinks
    #         to point to the certificate files. Use the provided
    #         Makefile to update the hash symlinks after changes.
    #SSLCARevocationPath "C:/Program Files/Apache Software Foundation/Apache2.2/conf/ssl.crl"
    #SSLCARevocationFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/ssl.crl/ca-bundle.crl"
     
    #   Client Authentication (Type):
    #   Client certificate verification type and depth.  Types are
    #   none, optional, require and optional_no_ca.  Depth is a
    #   number which specifies how deeply to verify the certificate
    #   issuer chain before deciding the certificate is not valid.
    #SSLVerifyClient require
    #SSLVerifyDepth  10
     
    #   Access Control:
    #   With SSLRequire you can do per-directory access control based
    #   on arbitrary complex boolean expressions containing server
    #   variable checks and other lookup directives.  The syntax is a
    #   mixture between C and Perl.  See the mod_ssl documentation
    #   for more details.
    #<Location />
    #SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
    #            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
    #            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
    #            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
    #            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
    #           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
    #</Location>
     
    #   SSL Engine Options:
    #   Set various options for the SSL engine.
    #   o FakeBasicAuth:
    #     Translate the client X.509 into a Basic Authorisation.  This means that
    #     the standard Auth/DBMAuth methods can be used for access control.  The
    #     user name is the `one line' version of the client's X.509 certificate.
    #     Note that no password is obtained from the user. Every entry in the user
    #     file needs this password: `xxj31ZMTZzkVA'.
    #   o ExportCertData:
    #     This exports two additional environment variables: SSL_CLIENT_CERT and
    #     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
    #     server (always existing) and the client (only existing when client
    #     authentication is used). This can be used to import the certificates
    #     into CGI scripts.
    #   o StdEnvVars:
    #     This exports the standard SSL/TLS related `SSL_*' environment variables.
    #     Per default this exportation is switched off for performance reasons,
    #     because the extraction step is an expensive operation and is usually
    #     useless for serving static content. So one usually enables the
    #     exportation for CGI and SSI requests only.
    #   o StrictRequire:
    #     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
    #     under a "Satisfy any" situation, i.e. when it applies access is denied
    #     and no other module can change it.
    #   o OptRenegotiate:
    #     This enables optimized SSL connection renegotiation handling when SSL
    #     directives are used in per-directory context. 
    #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "C:/wamp/bin/apache/apache2.2.8/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>
     
    #   SSL Protocol Adjustments:
    #   The safe and default but still SSL/TLS standard compliant shutdown
    #   approach is that mod_ssl sends the close notify alert but doesn't wait for
    #   the close notify alert from client. When you need a different shutdown
    #   approach you can use one of the following variables:
    #   o ssl-unclean-shutdown:
    #     This forces an unclean shutdown when the connection is closed, i.e. no
    #     SSL close notify alert is send or allowed to received.  This violates
    #     the SSL/TLS standard but is needed for some brain-dead browsers. Use
    #     this when you receive I/O errors because of the standard approach where
    #     mod_ssl sends the close notify alert.
    #   o ssl-accurate-shutdown:
    #     This forces an accurate shutdown when the connection is closed, i.e. a
    #     SSL close notify alert is send and mod_ssl waits for the close notify
    #     alert of the client. This is 100% SSL/TLS standard compliant, but in
    #     practice often causes hanging connections with brain-dead browsers. Use
    #     this only for browsers where you know that their SSL implementation
    #     works correctly. 
    #   Notice: Most problems of broken clients are also related to the HTTP
    #   keep-alive facility, so you usually additionally want to disable
    #   keep-alive for those clients, too. Use variable "nokeepalive" for this.
    #   Similarly, one has to force some clients to use HTTP/1.0 to workaround
    #   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
    #   "force-response-1.0" for this.
    BrowserMatch ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
     
    #   Per-Server Logging:
    #   The home of a custom SSL log file. Use this when you want a
    #   compact non-error SSL logfile on a virtual host basis.
    CustomLog "C:/wamp/bin/apache/apache2.2.8/logs/ssl_request.log" \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
     
    </VirtualHost>
    qui est bien sûr chargé par Apache (httpd.conf) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Include conf/extra/httpd-ssl.conf
    Pour les certificats, je n'ai pas du tout fait comme toi, j'ai créé un certificate request avec OpenSSL et je suis allé demander un certificat de test chez Verisign. J'ai donc installé ce certificat de test et non pas un certificat autosigné. Du coup, j'ai des doutes sur fait qu'on puisse réutiliser la clé privée du serveur comme certificat serveur (la dernière ligne de commande que tu donnes dans ton premier post).

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Merci pour cette précision.

    J'ai le même genre de config sur la version 2.2.11 d'Apache, où j'ai le même problème qu'avec la v2.0.63.

    J'ai vérifié la similitude entre nos deux fichiers de configuration (extra/httpd-ssl.conf), et en dehors de la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #SSLPassPhraseDialog  builtin
    SSLPassPhraseDialog "exec:C:/wamp/bin/apache/apache2.2.8/conf/ssl/passphrase.bat"
    Nos configurations sont similaires entre ta version 2.2.8 et ma version 2.2.11.

    Cela induit que ton diagnostique concernant l'invalidité du certificat autosigné me semble cohérente.

    Je vais voir de ce côté.

  14. #14
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Fais une recherche sur "verisign" sur le forum : il y a un post récent sur lequel j'ai répondu et qui m'a servi de base pour générer le certificat, tu devrais y trouver la procédure à suivre. Si tu veux un certificat autosigné, il faut demander à l'ami le moteur de recherche bien connu, leader de son marché, il saura te dégoter l'info.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. Probleme à la mise en place openssl
    Par the_cat dans le forum Sécurité
    Réponses: 7
    Dernier message: 27/06/2016, 14h27
  2. Mise en place de cURL sur WampServer
    Par FabaCoeur dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/01/2010, 00h16
  3. mise en place de statistique sur client serveur
    Par king_neo2001 dans le forum Développement
    Réponses: 3
    Dernier message: 14/06/2007, 13h18
  4. Mise en place de sondage sur Access 2007
    Par Maxence HUBICHE dans le forum Sondages et Débats
    Réponses: 0
    Dernier message: 19/07/2006, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo