Question activer ssl sur wamp avec startssl sur un site live


J'essaie d'activer SSL sur mon site Web J'utilise wamp pour un site en direct, j'ai lu beaucoup de didacticiels sur la façon d'activer SSL, mais je n'ai pas pu en trouver pour utiliser les certificats de startssl.com

chaque module qui doit être activé je crois est activé, j'ai même actuellement

Include conf/extra/httpd-ssl.conf

un commentaire dans mon httpd.conf, mais ont commenté chaque ligne dans mon httpd-ssl.conf pour le bien de mon site en cours d'exécution.

J'ai parcouru chaque ligne individuellement dans mon httpd-ssl et les lignes commentées 1 par 1 de vérification et je ne semble pas avoir de problèmes jusqu'à ce que je commente la ligne d'hôtes virtuel (oui j'ai fait cette sauvegarde et redémarrer mon serveur à chaque fois)

Je n'ai aucune idée de ce qui se passe ici cependant, j'ai les 4 fichiers que j'ai sauvés de startssl, le CRT est pour mon site ... alors j'espère que quelqu'un ici peut être en mesure d'aider. ci-dessous est mon httpd-ssl.conf

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog  builtin
SLSessionCache         "dbm:Z:/wamp/logs/ssl_scache"
SSLSessionCache        "shmcb:Z:/wamp/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

Listen 443

AddType application/x-x509-ca-cert .crt  
AddType application/x-pkcs7-crl    .crl  
SSLPassPhraseDialog  builtin  
SSLSessionCache        "shmcb:Z:/wamp/bin/apache/Apache2.2.11/logs/ssl_scache(512000)"  
SSLSessionCacheTimeout  300  
SSLMutex default  

NameVirtualHost *:443  

<VirtualHost *:443>  
ServerName "dirtrif.com"  
DocumentRoot "Z:/wamp/www/"  

SSLEngine on  
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCACertificatePath "Z:/wamp/OpenSSL/certs/"
SSLCACertificateFile "Z:/wamp/OpenSSL/certs/public.crt"
SSLCACertificateFile "Z:/wamp/OpenSSL/certs/ca.pem"
SSLCertificateKeyFile "Z:/wamp/OpenSSL/certs/ssl.key"
SSLCertificateChainFile "Z:/wamp/OpenSSL/certs/sub.class1.server.ca.pem"
</VirtualHost>

Je voudrais également noter: je lance apache 2.4.4 et j'ai déjà écrit les fichiers dans apache avec le téléchargement openSSL de http://slproweb.com/products/Win32OpenSSL.html (parce que j'ai lu quelque part pour le faire lol)

également mon site est en fait un site en direct de mon pc, j'ai le port 80 ouvert, et le port 443 est la même configuration que 80, mettez quelques raisons canyouseeme.org ne voit pas le port 443 = /


4
2018-05-13 11:40


origine




Réponses:


Comment configurer WAMPServer pour utiliser HTTPS SSL

* Ce n'est pas un processus trivial. Nous espérons que ce tutoriel vous permettra d’acquérir SSL. Cependant, le fait de le configurer correctement une fois qu’il fonctionne est TOTALEMENT D’AVEC.

Lecture supplémentaire pour tous ceux qui voyagent sur cette route

D'accord,

J'ai basé ce tutoriel sur la création d'un site appelé www.wamphelpers.dev. Ainsi, partout où vous voyez ce nom, changez-le en nom de site que vous essayez de sécuriser.

J'ai commencé par créer un site non sécurisé, dans \ wamp \ www \ wamphelpers

ajouté un hôte virtuel pour ce site, dans httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/wamphelpers"
    ServerName wamphelpers.dev
    ServerAlias www.wamphelpers.dev
    <Directory  "c:/wamp/www/wamphelpers">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

Ajout de son nom à C: \ windows \ system32 \ drivers \ etc \ hosts

127.0.0.1 wamphelpers.dev www.wamphelpers.dev
::1       wamphelpers.dev www.wamphelpers.dev

Maintenant, redémarrez le dnscache comme suit à partir d'une fenêtre de commande lancée en utilisant «Exécuter en tant qu'administrateur»

net stop dnscache
net start dnscache

Puis créé un script simple dans \ wamp \ www \ wamphelpers \ index.php

<?php
    echo 'Hello, this is the WAMPHELPERS.DEV site homepage';
?>

Maintenant, redémarrez Apache et assurez-vous que votre simple site non sécurisé fonctionne before continuing


Le toolkit openssl. Les fichiers openssl.exe, ssleay32.dll et libeay32.dll sont livrés avec le dossier C: \ wamp \ bin \ apache \ apachex.y.z \ bin et se trouvent dans ce dossier. Cela devrait être tout ce dont vous avez besoin pour créer votre certificat auto-signé!

TOUTEFOIS: Celles-ci ne fonctionnaient pas pour moi sur aucune des versions d'Apache que j'avais installées. J'ai toujours eu ce message d'erreur.

error message

Où le nombre ordinal a changé en fonction du dossier de la version d'Apache dans laquelle j'étais.

Si vous obtenez cette erreur, ne vous inquiétez pas, c'est ce que vous devez faire.

installer la dernière version du TOOLKIT OPENSSL

Cela peut être obtenu d'ici

Choisissez la version la plus récente de «Win32 OpenSSLv xxx Light», car c'est tout ce dont vous avez besoin.

Cela va télécharger un fichier .exe que vous pouvez exécuter pour installer ce toolkit.

Il vous posera la question suivante, je vous suggère de répondre comme ça pour ne pas finir par installer quelque chose dans C: \ windows \ system32. Après tout, il s’agit d’une boîte à outils qui change assez souvent. Mieux vaut garder ces choses séparées et ne pas les rendre globales.

openssl install suggestion

Une fois celle-ci installée (dans le dossier que vous avez spécifié lors de l'installation), vous devez être prêt à lancer le processus de génération des clés et des certificats!


Générer des clés et des certificats.

ÉTAPE 1: générer une clé privée RSA

Nous devons d'abord créer nous-mêmes un certificat. Le processus normal (payé) consiste à créer votre certificat, puis à le transmettre à une autorité de signature. C'est la raison pour laquelle il faut faire preuve de diligence raisonnable pour vérifier que vous êtes bien et que le site sur lequel vous utiliserez le certificat est réel et légitime.

La boîte à outils openssl est utilisée pour générer une clé privée RSA et une demande de signature de certificat (CSR) à utiliser pour notre certificat. La première étape consiste à créer votre clé privée RSA. Cette clé est une clé RSA 1024 bits qui est chiffrée à l'aide de Triple-DES et stockée dans un format PEM afin d'être lisible en texte ASCII.

Ouvrez une fenêtre de commande (boîte Dos) en utilisant [b] Exécuter en tant qu'administrateur [/ b] Changer de répertoire où vous avez installé OpenSSL Toolkit ci-dessus.    Dans mon cas c'est

CD c:\apps\OpenSSL-Win32\bin

Créez un dossier pour la sortie à placer (pour garder le dossier bin bien rangé) J'ai utilisé le site Web

md website

Maintenant, entrez cette commande:

openssl genrsa -out website\server.key 2048

Cela devrait avoir créé un fichier dans le dossier du site Web appelé privkey.pem, sans une clé de phrase de passe, vérifiez qu'il existe.

Étape 2: générer un CSR (demande de signature de certificat)

Lors de la génération du CSR, vous serez invité à fournir plusieurs informations. Ce sont les attributs X.509 du certificat. L'une des invites sera "Nom commun (par exemple, le nom de domaine complet du serveur ou VOTRE nom) []:". Il est important que ce champ soit rempli avec le nom de domaine complet du serveur à protéger par SSL. Donc, si le site Web à protéger sera https://www.wamphelpers.dev, puis entrez www.wampheplers.dev à cette invite

Ne rien entrer dans la question: Un mot de passe de challenge []:] Appuyez simplement sur Entrée. Si vous saisissez une phrase secrète ici lorsque vous lancez Apache avec SSL configuré, Apache ne démarre pas et affiche le message d'erreur suivant: -

[erreur] Init: la méthode intégrée SSLPassPhraseDialog n'est pas prise en charge sur Win32

Fondamentalement, si vous entrez une phrase secrète, Apache est censé vous lancer un défi pour cette phrase secrète à chaque démarrage. Cela ne va évidemment pas vous rendre la vie plus facile, mais principalement sur Windows, cela ne fonctionne pas vraiment et le fera provoquer le blocage d'Apache lorsqu'il tente de demander la phrase secrète, avec l'erreur ci-dessus.

La commande pour générer le CSR est la suivante:

openssl req -new -key website\server.key -out website\server.csr


Example question and answers:
Country Name (2 letter code) [AU]:GB
State or Province Name (full name) [Some-State]: Hampshire
Locality Name (eg, city) []: Portsmouth
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Wamp Helpers Ltd
Organizational Unit Name (eg, section) []: Information Technology
Common Name (e.g. server FQDN or YOUR name) []: www.wamphelpers.dev
Email Address []: me@wamphelpers.dev

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ( leave blank just hit the enter key )
An optional company name []: ( leave blank just hit the enter key )

Étape 3: Génération d'un certificat auto-signé

À ce stade, vous devrez générer un certificat auto-signé car vous ne prévoyez pas de faire signer votre certificat par une autorité de certification ou vous souhaitez tester votre nouvelle implémentation SSL lorsque l'autorité de certification signe votre certificat.

PRE - AVERTISSEMENT Ce certificat générera une erreur dans le navigateur client à l'effet que l'autorité de certification de signature est inconnue et n'est pas fiable. Cela est inévitable, car nous signons le certificat nous-mêmes, mais le réseau de confiance ne sait évidemment pas qui nous sommes. Voir l'exemple plus loin dans ce document montrant comment indiquer à votre navigateur que vous faites confiance à ce certificat

openssl x509 -req -days 365 -in website\server.csr -signkey website\server.key -out website\server.crt


Example output:
Loading 'screen' into random state - done
Signature ok
subject=/C=GB/ST=Hampshire/L=Portsmouth/O=WampHelpers Ltd/OU=Information Technology/CN=www.wamphelpers.dev/emailAddress=riggsfolly@wamphelpers.dev
Getting Private key

Étape 4: Installation de la clé privée et du certificat

Créez ces 2 répertoires sous la version d'Apache que vous utilisez.

md c:\wamp\bin\apache\apachex.y.z\conf\ssl.key
md c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt

Et copiez le fichier que nous venons de générer comme suit:

copy website\server.crt c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt
copy website\server.key c:\wamp\bin\apache\apachex.y.z\conf\ssl.key

Étape 5: Configurer Apache pour activer SSL

Editez le fichier httpd.conf, vérifiez que cette ligne n'est pas commentée

LoadModule ssl_module modules/mod_ssl.so

Supprimer également le commentaire '#' de cette ligne

Include conf/extra/httpd-ssl.conf

Puis déplacez cette ligne après ce bloc .... comme si

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

Étape 6: Configurer PHP pour activer SSL

Modifiez votre php.ini (utilisez les menus de wampmanager pour éditer le bon)

Supprimer le commentaire ';' de cette ligne

extension=php_openssl.dll

Étape 7: Configurez vos sites sécurisés Virtual Host

Ouais pour tous vous Virtual Host nay sayers, maintenant vous ne pouvez pas éviter le processus.

modifier \wamp\bin\apache\apachex.y.z\conf\httpd-ssl.conf

Ce fichier est publié par Apache et contient un emplacement de fichier par défaut. Nous pouvons laisser la majeure partie de ce fichier tel quel, mais nous devons configurer l'hôte virtuel ici pour qu'il corresponde à l'emplacement de notre site et à quelques autres choses:

trouver ces lignes

DocumentRoot "c:/Apache2/htdocs"
ServerName www.example.com:443
ServerAdmin admin@example.com
ErrorLog "c:/Apache2/logs/error.log"
TransferLog "c:/Apache2/logs/access.log"

et les changer pour

DocumentRoot "c:/wamp/www/wamphelpers"
ServerName wamphelpers.dev:443
ErrorLog "c:/wamp/logs/ssl_error.log"
TransferLog "c:/wamp/logs/ssl_access.log"

Trouver

SSLCertificateFile "c:/Apache2/conf/server.crt"

et changer pour

SSLCertificateFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.crt/server.crt"

Trouver

SSLCertificateKeyFile "c:/Apache2/conf/server.key"

et changer pour

SSLCertificateKeyFile "c:/wamp/bin/apache/apache2.2.26/conf/ssl.key/server.key"

Trouver

<Directory "c:/Apache2/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

et changer pour

<Directory "c:/wamp/www/wamphelpers">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 localhost ::1
</Directory>

Trouver

SSLSessionCache        "shmcb:c:/Apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

et le changer pour

SSLSessionCache        "shmcb:c:/wamp/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

Trouver

CustomLog "c:/Apache24/logs/ssl_request.log" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

et changer pour

CustomLog "c:/wamp/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

Fondamentalement, parcourez le fichier conf et toute commande qui n'est pas commentée, mais contient une référence à un fichier ou à un dossier. devrait être changé pour faire référence à la structure de dossiers WAMPServer et non "C: / Apache2 ...."

Maintenant, assurez-vous que tous les fichiers que nous avons modifiés sont enregistrés et redémarrez Apache en utilisant les menus de wampmanager.

Premier test que le site non protégé fonctionne toujours.

Ensuite, essayez d’utiliser votre nouveau site protégé en ajoutant «https: //» au début du nom de domaine. c'est à dire. https://www.wamphelpers.dev sans les citations simples bien sûr.

Si Apache ne redémarre pas vous avez probablement écrit quelque chose de mal. Testez les configs ainsi: -

Ouvrir une fenêtre de commande

cd \wamp\bin\apache\apachex.y.z\bin
httpd -t

Cela va analyser tous les fichiers de configuration et vous donner un nom de fichier et un numéro de ligne où une erreur a été trouvée.

Corrigez-le et réessayez.

Le premier accès à votre site générera une page de message comme celle-ci. Cela utilise FireFox, d'autres seront légèrement différents, mais le concept est le même.

enter image description here

C'est parce que votre certificat n'est pas signé par une autorité de confiance, DONT PANIC, cela est censé se produire.

Cliquez sur "Je comprends le risque" et cela vous montrera un bouton disant "Ajouter une exception" Appuyez sur le bouton Ajouter une exception, après avoir vérifié que les détails du site des certificats vous appartiennent bien, et vous ne verrez plus ce message sauf si vous effacez la liste des exceptions.

GRANDE NOTE Depuis Apache v2.2.12 et OpenSSL v0.9.8j, il est désormais possible de sécuriser plus d’un site par instance Apache. Ce tutoriel ne couvre pas ce processus. Voir ici pour plus de détails:

Ici

et ici

et ici

Et comme je l'ai dit en haut, vous devez maintenant effectuer des recherches sur toutes les options disponibles dans la configuration SSL et faire en sorte que les choses fonctionnent comme vous le souhaitez plutôt que d'utiliser la valeur par défaut.


9
2018-06-27 11:55



+1 Cela fonctionne aussi très bien sur les serveurs WAMP (32 bits et 64 bits)! - Suriyaa