Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile
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 cool


«black-out» du Net français

http://www.laquadrature.net/HADOPI

Hors ligne

#4 Le 05/10/2005, à 12:45

bris

Re : [Tuto] Apache2 et SSL auto-signé

pour moi çà a marché nickel!!! big_smile
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 big_smile )

Enfin, je redis vraiment bravo a kitty pour ce tuto big_smile


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. roll

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... wink ) /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 smile

Kitty a écrit :

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"?

Kitty a écrit :

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... wink ) /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+ big_smile


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 ! wink

Hors ligne

#8 Le 08/10/2005, à 18:38

lpf

Re : [Tuto] Apache2 et SSL auto-signé

Kitty a écrit :

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 wink

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 wink

@ +
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 big_smile,
Désolé þour le laps de temps qui est passé, me revoilà!

Kitty a écrit :

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?

Kitty a écrit :

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 ! wink

ouf big_smile
A plus tard smile


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... smile
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...

Kitty a écrit :

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 ?? hmm
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... big_smile
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 ! wink

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 lol lol lol
A+ wink


un vaut mieu que deux ! CQFD

Hors ligne

#16 Le 21/11/2005, à 00:03

ghost

Re : [Tuto] Apache2 et SSL auto-signé

Kitty a écrit :

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 smile

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