Pages : 1
#1 Le 25/07/2005, à 10:36
- Kitty
[Tuto] Apache2 et SSL auto-signé
Bonjour,
Voici un petit tutoriel pour faire fonctionner le https (http sécurisé) avec apache2 et un certificat auto-signé (valable pour du développement / test)
Pré-requis :
- Apache2 installé
- le service /etc/init.d/networking fonctionne
- l'interface lo est "up"
Etapes :
- activer le module ssl :
sudo a2enmod ssl
- créer le certificat SSL auto-signé :
sudo apache2-ssl-certificate
Répondre aux différentes questions. Cela va créer le certificat /etc/apache/ssl/apache.pem
- modifier le VirtualHost default pour qu'il ne soit utilisé que sur le port 80 (http) :
sudo vi /etc/apache2/sites-available/default
Modifer les lignes suivantes :
NameVirtualHost *
<VirtualHost *>
Par
NameVirtualHost localhost:80
<VirtualHost localhost:80>
- copier le VirtualHost default pour préparer celui utilisé pour le SSL :
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
- modifier le VirtualHost ssl pour qu'il soit utilisé en SSL sur le port 443 (https):
sudo vi /etc/apache2/sites-available/ssl
Modifer les lignes suivantes :
NameVirtualHost localhost:80
<VirtualHost localhost:80>
Par
NameVirtualHost localhost:443
<VirtualHost localhost:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
- activer le VirtualHost ssl :
sudo ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/000-default-ssl
- ajouter le port 443 dans les ports d'écoute d'Apache2 :
sudo vi /etc/apache2/ports.conf
ajouter la ligne :
Listen 443
- redémarrer Apache 2 :
sudo /etc/init.d/apache2 restart
Ouvrir votre naviguateur web préféré, et aller à l'URL : https://localhost/
Certains naviguateurs vous préviennent que le certificat SSL utilisé est auto-signé. Passer l'avertissement, et cela devrait fonctionner.
PS : j'ai tapé ce tutoriel de tête, n'étant pas sur ma machine. N'hésitez à me remonter les éventuelles coquilles que je puisse corriger.
Hors ligne
#2 Le 05/10/2005, à 11:56
- bris
Re : [Tuto] Apache2 et SSL auto-signé
Salut kitty et bravo pour ton tuto qui mériterait sa place dans le wiki
Avant de commencer, comment savoir si :
- le service /etc/init.d/networking fonctionne
- l'interface lo est "up"
D'autre part, à la question : server name lors de la creation du certificat : que doit-on répondre, moi j'ai mis localhost ???
Merci d'avance!!!
Dernière modification par bris (Le 05/10/2005, à 12:28)
un vaut mieu que deux ! CQFD
Hors ligne
#3 Le 05/10/2005, à 11:59
- Kagou
Re : [Tuto] Apache2 et SSL auto-signé
Très interressant, merci
Hors ligne
#4 Le 05/10/2005, à 12:45
- bris
Re : [Tuto] Apache2 et SSL auto-signé
pour moi çà a marché nickel!!!
Juste un petit détail qui me chipotte :
https://localhost fonctionne parfaitement mais pas https://IP_du_linux (j'arrive donc pas à me connecter à partir d'un autre ordo du réseau local)
D'autre part est-ce normal que http://localhost et http://IP_du_linux soient encore disponibles?
Merci d'avance pour les réponses (et celle de mon premier message aussi )
Enfin, je redis vraiment bravo a kitty pour ce tuto
un vaut mieu que deux ! CQFD
Hors ligne
#5 Le 05/10/2005, à 13:07
- Kitty
Re : [Tuto] Apache2 et SSL auto-signé
Oups, désolé, je n'avais pas vu tes questions précédentes.
Bon, j'essaie de répondre à tout.
comment savoir si le service /etc/init.d/networking fonctionne
sudo /etc/init.d/networking status
comment savoir si l'interface lo est "up"
ifconfig (et regarder si l'interface lo apparaît)
Ces deux précautions sont quasiment superflues, car par défaut.
impossible d'accéder à https://IP_du_linux depuis un autre poste
Heu, je ne sais pas exactement car je n'ai pas testé. Je pense que ce n'est pas normal.
Deux pistes :
- le firewall qui bloque les connexions entrantes. (pour configurer ton firewall, tu peux utiliser firestarter par exemple)
- mettre l'adresse IP à la place de localhost dans la configuration.
Si tu as la réponse, ça m'intéresse !
http://localhost est toujours accessible
Normal, car on a laissé le VirtualHost default fonctionner, et on en a créé un autre pour le SSL. Chaque port (80 et 443) a son VirtualHost.
Si tu veux supprimer le http, supprime (ou plutôt déplace... ) /etc/apache2/sites-available/default
Dernière modification par Kitty (Le 05/10/2005, à 13:08)
Hors ligne
#6 Le 05/10/2005, à 16:05
- bris
Re : [Tuto] Apache2 et SSL auto-signé
Salut kitty et merci pour tes réponses claires
impossible d'accéder à https://IP_du_linux depuis un autre poste
Heu, je ne sais pas exactement car je n'ai pas testé. Je pense que ce n'est pas normal.
Deux pistes :
- le firewall qui bloque les connexions entrantes. (pour configurer ton firewall, tu peux utiliser firestarter par exemple)
- mettre l'adresse IP à la place de localhost dans la configuration.
Si tu as la réponse, ça m'intéresse !
petite précision : impossible d'accéder https://IP_du_linux depuis mon linux non plus mais https://localhost fonctionne... Qu'entends-tu par "mettre l'adresse IP à la place de localhost dans la configuration"?
http://localhost est toujours accessible
Normal, car on a laissé le VirtualHost default fonctionner, et on en a créé un autre pour le SSL. Chaque port (80 et 443) a son VirtualHost.
Si tu veux supprimer le http, supprime (ou plutôt déplace... ) /etc/apache2/sites-available/default
Je suppose que il est quand meme préférable de conserver les deux (pour la mise en place d'un site de commerce électronique par exemple pour les payements en https et en http pour le catalogue)?
A+
un vaut mieu que deux ! CQFD
Hors ligne
#7 Le 06/10/2005, à 14:28
- Kitty
Re : [Tuto] Apache2 et SSL auto-signé
Qu'entends-tu par "mettre l'adresse IP à la place de localhost dans la configuration"?
Dans les fichiers de configuration, à chaque fois qu'on écrit localhost, écrire l'adresse IP du serveur à la place. (Un serveur a le plus souvent une @IP fixe)
Je suppose que il est quand meme préférable de conserver les deux (pour la mise en place d'un site de commerce électronique par exemple pour les payements en https et en http pour le catalogue)?
Tout à fait !
Hors ligne
#8 Le 08/10/2005, à 18:38
- lpf
Re : [Tuto] Apache2 et SSL auto-signé
un certificat auto-signé (valable pour du développement / test)
Bonjour,
étant un maxi newbie question serveur... pourquoi l'auto signé n'est pas valable en production ?
sinon une autre question :
tout le monde parle d'apache mais est-ce que qqn connait lighttpd ?
http://www.lighttpd.net/
si qqn peut nous faire un tuto ubuntu + lighttpd + ssl, je suis preneur
Hors ligne
#9 Le 09/10/2005, à 05:54
- Julian
Re : [Tuto] Apache2 et SSL auto-signé
Salut,
Petite précision svp pour un débutant en serveur:
On est pas obligé d'installer apache-ssl?
Parce que dans la précipitation et les explications des différents sites, j'ai installé ce "apache-ssl", et ça a foutu le bordel dans mes configurations. En fait, j'ai compris (au bout de quelques heures de galère...) que Apache2 et Apache-ssl étaient 2 système différents et non pas une extension. J'étais par exemple obligé de stopper apache2 qui occupait le port 443 pour qu'apache-ssl puisse l'utiliser et inversement.
Je dis une grosse bourde là ou pas?
Si par exemple demain j'installe un serveur avec Debian dessus (parfois on a pas le choix), je peux suivre ton tuto, où je devrais plutôt m'orienté vers les nombreuses explications du net pour debian. Entre nous je préferai ton tuto.
Même question que lpf, au sujet de la production? Ca tient pas la route?
Bref, il est très tard, je suis un peu paumé sur ce coup là, peut être que demain à tête reposée quelqu'un de sympa pourra éclairé ma lanterne à ce sujet
@ +
Julian
Dernière modification par Julian (Le 09/10/2005, à 05:55)
julian@jabber.fr
Hors ligne
#10 Le 10/10/2005, à 16:56
- bris
Re : [Tuto] Apache2 et SSL auto-signé
Salut kitty ,
Désolé þour le laps de temps qui est passé, me revoilà!
Qu'entends-tu par "mettre l'adresse IP à la place de localhost dans la configuration"?
Dans les fichiers de configuration, à chaque fois qu'on écrit localhost, écrire l'adresse IP du serveur à la place. (Un serveur a le plus souvent une @IP fixe)
Oui mais quel(s) fihier(s) de config?
Je suppose que il est quand meme préférable de conserver les deux (pour la mise en place d'un site de commerce électronique par exemple pour les payements en https et en http pour le catalogue)?
Tout à fait !
ouf
A plus tard
un vaut mieu que deux ! CQFD
Hors ligne
#11 Le 12/10/2005, à 16:59
- Kitty
Re : [Tuto] Apache2 et SSL auto-signé
@ lpf
pourquoi l'auto signé n'est pas valable en production ?
Pour des raisons de sécurité : un certificat auto-signé ne permet pas l'authentification tri-partie. Un serveur pirate peut donc se placer entre ton serveur et le client (attaque "man-in-the-middle").
@ Julian
On est pas obligé d'installer apache-ssl?
Apache-ssl est pour la version 1 d'apache.
Pour ma part, j'ai installé apache2
apache-ssl n'est pas pour apache2...
Si par exemple demain j'installe un serveur avec Debian dessus (parfois on a pas le choix), je peux suivre ton tuto, où je devrais plutôt m'orienté vers les nombreuses explications du net pour debia
Mon tuto est un récapitulatif en français dans le texte de nombreuses explications pour debian que j'ai lues sur le net...
Je pense qu'Ubuntu et Debian sont identiques à ce niveau là.
@ bris
Oui mais quel(s) fihier(s) de config?
/etc/apache2/sites-available/ssl
Dernière modification par Kitty (Le 12/10/2005, à 17:04)
Hors ligne
#12 Le 13/10/2005, à 10:44
- bris
Re : [Tuto] Apache2 et SSL auto-signé
Salut Kitty et merci pour ta disponiblité et tes réponses...
Pour ma part, j'ai installé apache2
apache-ssl n'est pas pour apache2...
Alors qu'est-ce que c'est 2.0.53 OpenSSL ??
A+:)
un vaut mieu que deux ! CQFD
Hors ligne
#13 Le 13/10/2005, à 10:49
- Kitty
Re : [Tuto] Apache2 et SSL auto-signé
Oups...
Peut-être...
J'ai pas installé le paquet, pensant ce que j'ai expliqué plus haut.
Si tu as une explication plus "scientifique" que la mienne, je suis preneur !
Hors ligne
#14 Le 13/10/2005, à 13:04
- Julian
Re : [Tuto] Apache2 et SSL auto-signé
Salut,
Merci pour vos réponses.
Je suis aussi preneur pour d'autres explications techniques.
julian@jabber.fr
Hors ligne
#15 Le 13/10/2005, à 13:31
- bris
Re : [Tuto] Apache2 et SSL auto-signé
désolé, je n'ai fait que noté un truc que j'ai dans ma configue, pour les explications plus "scientifiques", je laisse la place aux vrais spécialistes, je ne suis qu'une larve de programmateur/administrateur
A+
un vaut mieu que deux ! CQFD
Hors ligne
#16 Le 21/11/2005, à 00:03
- ghost
Re : [Tuto] Apache2 et SSL auto-signé
impossible d'accéder à https://IP_du_linux depuis un autre poste
Heu, je ne sais pas exactement car je n'ai pas testé. Je pense que ce n'est pas normal.
Deux pistes :
- le firewall qui bloque les connexions entrantes. (pour configurer ton firewall, tu peux utiliser firestarter par exemple)
- mettre l'adresse IP à la place de localhost dans la configuration.
Si tu as la réponse, ça m'intéresse !
P'tite rectification, dans les fichiers :
/etc/apache2/sites-available/ssl
et
/etc/apache2/sites-available/default
en debut de fichier tu détermine l'adresse d'ecoute de ton serveur WEB (en SSL ou Normal) donc si tu met localhost:80, bah tu limite l'ecoute au port local, en gros, tu ne peut consulter ton serveur web qu'en local.
le plus simple et de remplacer les localhost:80 par *:80 qui permet de laisser ton serveur web joignable par tout le monde, en local ou distant.
Ainsi pour reprendre le tuto :
il faut remplacer :
NameVirtualHost *
<VirtualHost *>
par ( dans /etc/apache2/sites-available/default )
NameVirtualHost *:80
<VirtualHost *:80>
et dans le fichier /etc/apache2/sites-available/ssl par
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
si j'ai pas été clair, hésité pas à demander ^^
Dernière modification par ghost (Le 21/11/2005, à 00:05)
Hors ligne
#17 Le 23/01/2009, à 17:47
- cam360
Re : [Tuto] Apache2 et SSL auto-signé
Bonjour,
merci pour ces infos,
j'ai réussi à générer ce certificat, seulement quand on regarde le détail du certif (lorsqu'on accède au site web), on a un message qui indique que ce certif n'a pas été validé par une CA (autorité certification).
j'ai converti ce certificat (PEM) en DER (utilisation d'openssl pour la conversion) afin de le faire certifier par l'autorité de certif microsoft (via "Soumettre une demande").
Mais lorsque je soumets la demande, microsoft me retourne le message suivant : "données non valides"
est-il possible de faire certifier un certificat généré depuis ubuntu par la CA microsoft ?
merci d'avance
#18 Le 26/05/2012, à 12:13
- dancom
Re : [Tuto] Apache2 et SSL auto-signé
Salut
J'ai fait tout ça et ça marché. Le problème, c'est que le https est aussi accessible sur tous les autres sous-domaines et l'ip publique.
Y'a pas moyen de limiter https à un seul sous-domaine puis interdire sur les autres sous-domaine et le ip publique?
Ubuntu server 12.04.1
Hors ligne
Pages : 1