|
View:
New views
12 Messages
—
Rating Filter:
Alert me
|
|
|
Hôtes virtuels Apache + SSLBonjour à toutes et tous, Je cherche à proposer du HTTPS pour tous les hôtes virtuels que j'héberge. L'idée d'un certificat multidomaine m'embête un peu à cause de son manque de souplesse (il faut refaire un certificat pour chaque ajout ou suppression d'hôte virtuel), et je suis donc parti dans l'idée de créer un certificat pour chaque hôte virtuel, et de faire en sorte qu'Apache utilise le bon certificat selon les besoins. J'ai donc peuplé /etc/ssl/ et /etc/ssl/private/ en suivant à la lettre la FAQ (<http://www.openbsd.org/faq/fr/faq10.html#HTTPS>). D'après ce que j'ai compris (et après quelques tests), il faut impérativement utiliser des hôtes virtuels déterminés par adresse IP (IP-based vhost), et j'ai donc créé des alias pour l'unique interface réseau dont le serveur web est équipé, toujours en suivant la FAQ (<http://www.openbsd.org/faq/fr/faq6.html#Setup.aliases>). # ifconfig -A [...] fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:06:29:2e:ab:3d priority: 0 groups: egress media: Ethernet autoselect (100baseTX full-duplex) status: active inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255 inet6 fe80::206:29ff:fe2e:ab3d%fxp0 prefixlen 64 scopeid 0x1 inet 192.168.1.2 netmask 0xffffffff broadcast 192.168.1.2 inet 192.168.1.3 netmask 0xffffffff broadcast 192.168.1.3 inet 192.168.1.4 netmask 0xffffffff broadcast 192.168.1.4 Jusqu'ici, j'ai toujours fonctionné avec des vhosts déterminés par nom d'hôte ; tous mes vhosts ont toujours ressemblé à ceci : <VirtualHost *:80> ServerName www.mouet-mouet.net ServerAlias mouet-mouet.net ServerAdmin maxime@... ServerSignature Off DocumentRoot "/var/www/www.mouet-mouet.net" ErrorLog logs/www.mouet-mouet.net/error_log CustomLog logs/www.mouet-mouet.net/access_log combined <Directory "/var/www/www.mouet-mouet.net"> Options FollowSymLinks AllowOverride all Order allow,deny Allow from all </Directory> </VirtualHost> Le reste de la configuration est exactement la configuration par défaut de l'Apache d'OpenBSD (je n'ai touché à rien, ni aux directives Listen et Bind Address, ni à quoi que ce soit d'autre). J'ai lutté une bonne partie de la nuit pour créer des hôtes virtuels déterminés par adresse IP, mais rien n'a fonctionné, même sans SSL. Comment faire ? :) (Petite précision : je dispose d'un PF placé juste devant le serveur. S'il faut faire mumuse avec relayd(8) pour atteindre mon objectif, c'est tout-à-fait possible, mais il faudrait alors m'indiquer un point de départ...) Cordialement, Maxime -- Maxime DERCHE GnuPG public key ID : 0x9A85C4C0 (fingerprint : 0FDC 16AF 5A5B 1908 786C 2B85 2D3C C83E 9A85 C4C0) http://www.mouet-mouet.net/maxime/blog/index.php |
|
|
Re: Hôtes virtuels Apache + SSL[...]
> Jusqu'ici, j'ai toujours fonctionné avec des vhosts déterminés par nom > d'hôte ; tous mes vhosts ont toujours ressemblé à ceci : > > <VirtualHost *:80> > > ServerName www.mouet-mouet.net > ServerAlias mouet-mouet.net > ServerAdmin maxime@... > ServerSignature Off > DocumentRoot "/var/www/www.mouet-mouet.net" > > ErrorLog logs/www.mouet-mouet.net/error_log > CustomLog logs/www.mouet-mouet.net/access_log combined > > <Directory "/var/www/www.mouet-mouet.net"> > Options FollowSymLinks > AllowOverride all > Order allow,deny > Allow from all > </Directory> > > </VirtualHost> > > > J'ai lutté une bonne partie de la nuit pour créer des hôtes virtuels > déterminés par adresse IP, mais rien n'a fonctionné, même sans SSL. > > Comment faire ? :) Bonjour, (Avertissement: je n'ai jamais fait ça exactement, mais voici comment je procéderais.) Pourquoi ne pas créer tes vhosts avec des noms comme d'habitude et donner une adresse différente à chacun au niveau du DNS? Après, il faut que tu configures Apache pour qu'il utilise un certificat par IP (et non par vhost, même si c'est à ça que ça va revenir). Amicalement, N. ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Hôtes virtuels Apache + SSLMaxime DERCHE a écrit :
> Bonjour à toutes et tous, Bonjour, [...] > D'après ce que j'ai compris (et après quelques tests), il faut > impérativement utiliser des hôtes virtuels déterminés par adresse IP > (IP-based vhost), et j'ai donc créé des alias pour l'unique interface > réseau dont le serveur web est équipé, toujours en suivant la FAQ > (<http://www.openbsd.org/faq/fr/faq6.html#Setup.aliases>). > > # ifconfig -A > [...] > fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:06:29:2e:ab:3d > priority: 0 > groups: egress > media: Ethernet autoselect (100baseTX full-duplex) > status: active > inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255 > inet6 fe80::206:29ff:fe2e:ab3d%fxp0 prefixlen 64 scopeid 0x1 > inet 192.168.1.2 netmask 0xffffffff broadcast 192.168.1.2 > inet 192.168.1.3 netmask 0xffffffff broadcast 192.168.1.3 > inet 192.168.1.4 netmask 0xffffffff broadcast 192.168.1.4 > > > Jusqu'ici, j'ai toujours fonctionné avec des vhosts déterminés par nom > d'hôte ; tous mes vhosts ont toujours ressemblé à ceci : Je ne sais pas comment tu configures ton adressage mais le protocole SSL a une limitation de taille : il te faut une adresse IP publique par certificat SSL. Dans ce que tu montres, tu sembles créer une IP RFC1918 (privée) par vhost : même si Apache accepte la configuration, tu aura toujours un avertissement disant que le certificat n'est pas valide (et un second si le certificat n'est pas dans la chaîne de confiance). Il faudrait donc que ton pf fasse du NAT 1:1. A moins, bien sûr que tu y accèdes exclusivement en interne mais là, je ne vois plus l'intérêt du SSL. Bonne journée, Julien ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Hôtes virtuels Apache + SSLRe, On Mon, 14 Sep 2009 08:32:43 +0200 Julien Escario <escario@...> wrote: > Je ne sais pas comment tu configures ton adressage mais le protocole > SSL a une limitation de taille : il te faut une adresse IP publique > par certificat SSL. > > Dans ce que tu montres, tu sembles créer une IP RFC1918 (privée) par > vhost : même si Apache accepte la configuration, tu aura toujours un > avertissement disant que le certificat n'est pas valide (et un second > si le certificat n'est pas dans la chaîne de confiance). > Il faudrait donc que ton pf fasse du NAT 1:1. Je ne dispose que d'une seule et unique adresse IP publique, détenue par l'interface du routeur qui est reliée à ma Freebox. Cela signifierait-il qu'il est strictement impossible de procéder autrement qu'avec un certificat multi-domaine ? > A moins, bien sûr que tu y accèdes exclusivement en interne mais là, > je ne vois plus l'intérêt du SSL. Non, le but est bien entendu de proposer un accès SSL depuis l'extérieur... Cordialement, Maxime -- Maxime DERCHE GnuPG public key ID : 0x9A85C4C0 (fingerprint : 0FDC 16AF 5A5B 1908 786C 2B85 2D3C C83E 9A85 C4C0) http://www.mouet-mouet.net/maxime/blog/index.php |
|
|
Re: Hôtes virtuels Apache + SSLRe,
On Mon, 14 Sep 2009 07:14:12 +0200 Nicolas Bernard <nbernard-openbsd-france-misc-0db344c2cee665147c3f8eb57c6fe87ce7c5b0d1@...> wrote: > Bonjour, > > (Avertissement: je n'ai jamais fait ça exactement, mais voici comment > je procéderais.) > > Pourquoi ne pas créer tes vhosts avec des noms comme d'habitude et > donner une adresse différente à chacun au niveau du DNS? Je ne dispose que d'une seule et unique adresse IP publique (Freebox + NAT), sur laquelle pointent tous mes enregistrement DNS... Cordialement, Maxime -- Maxime DERCHE GnuPG public key ID : 0x9A85C4C0 (fingerprint : 0FDC 16AF 5A5B 1908 786C 2B85 2D3C C83E 9A85 C4C0) http://www.mouet-mouet.net/maxime/blog/index.php |
|
|
Re: Hôtes virtuels Apache + SSLMaxime DERCHE a écrit :
> > Je ne dispose que d'une seule et unique adresse IP publique, détenue > par l'interface du routeur qui est reliée à ma Freebox. > > Cela signifierait-il qu'il est strictement impossible de procéder > autrement qu'avec un certificat multi-domaine ? > Tu as regardé du côté de mod_gnutls ? Si vraiment tu as besoin de faire du multi-domaine... Denis ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Hôtes virtuels Apache + SSL2009/9/14 Maxime DERCHE <maxime@...>:
> Re, > > On Mon, 14 Sep 2009 07:14:12 +0200 > Nicolas Bernard > <nbernard-openbsd-france-misc-0db344c2cee665147c3f8eb57c6fe87ce7c5b0d1@...> > wrote: > >> Bonjour, >> >> (Avertissement: je n'ai jamais fait ça exactement, mais voici comment >> je procéderais.) >> >> Pourquoi ne pas créer tes vhosts avec des noms comme d'habitude et >> donner une adresse différente à chacun au niveau du DNS? > > Je ne dispose que d'une seule et unique adresse IP publique (Freebox + > NAT), sur laquelle pointent tous mes enregistrement DNS... La solution propre serait d'utiliser apache 2.2 depuis les ports, qui supporte le SNI (Server Name Indication). Tu pourras alors configurer un certificat par virtual host. Tous les navigateurs modernes gèrent cette option donc tout devrait rouler. -- Mattieu Baptiste "/earth is 102% full ... please delete anyone you can." ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Hôtes virtuels Apache + SSLRe,
On Mon, 14 Sep 2009 19:50:43 +0200 Denis Fondras <openbsd@...> wrote: > Tu as regardé du côté de mod_gnutls ? > Si vraiment tu as besoin de faire du multi-domaine... Bof, j'aimerais autant rester avec ce qui est en base, et mod_gnutls (que je ne connaissais pas du tout, merci de l'avoir porté à mon attention) a besoin d'Apache2 pour fonctionner... N'y aurait-il pas moyen de lier chaque vhost à une adresse IP privée (alias de l'unique adresse IP du serveur web) et d'utiliser un programme (relayd(8) ?) qui redirigerait les connexions d'un vhost vers la bonne adresse IP (un peu comme ce qui est indiqué sur [1] mais sans l'aspect balance de charge) ? Je veux dire, cela a-t-il une chance de fonctionner ? :) [1] : <https://calomel.org/relayd.html> Cordialement, Maxime -- Maxime DERCHE GnuPG public key ID : 0x9A85C4C0 (fingerprint : 0FDC 16AF 5A5B 1908 786C 2B85 2D3C C83E 9A85 C4C0) http://www.mouet-mouet.net/maxime/blog/index.php |
|
|
Re: Hôtes virtuels Apache + SSLMaxime DERCHE a écrit :
> Re, > > On Mon, 14 Sep 2009 19:50:43 +0200 > Denis Fondras <openbsd@...> wrote: > >> Tu as regardé du côté de mod_gnutls ? >> Si vraiment tu as besoin de faire du multi-domaine... > > Bof, j'aimerais autant rester avec ce qui est en base, et mod_gnutls > (que je ne connaissais pas du tout, merci de l'avoir porté à mon > attention) a besoin d'Apache2 pour fonctionner... > > N'y aurait-il pas moyen de lier chaque vhost à une adresse IP privée > (alias de l'unique adresse IP du serveur web) et d'utiliser un > programme (relayd(8) ?) qui redirigerait les connexions d'un vhost vers > la bonne adresse IP (un peu comme ce qui est indiqué sur [1] mais sans > l'aspect balance de charge) ? Je veux dire, cela a-t-il une chance de > fonctionner ? :) > > [1] : <https://calomel.org/relayd.html> > > > Cordialement, > Maxime > différents par serveurs virtuels. Ce n'est : - Pas standard - Pas compatible avec tous les FW - Pas mémorisable par l'utilisateur standard Mais ca marche avec 1 seule @IP. ... Mes 2 cents. ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Hôtes virtuels Apache + SSL2009/9/14 Maxime DERCHE <maxime@...>:
> Re, > > On Mon, 14 Sep 2009 19:50:43 +0200 > Denis Fondras <openbsd@...> wrote: > >> Tu as regardé du côté de mod_gnutls ? >> Si vraiment tu as besoin de faire du multi-domaine... > > Bof, j'aimerais autant rester avec ce qui est en base, et mod_gnutls > (que je ne connaissais pas du tout, merci de l'avoir porté à mon > attention) a besoin d'Apache2 pour fonctionner... > > N'y aurait-il pas moyen de lier chaque vhost à une adresse IP privée > (alias de l'unique adresse IP du serveur web) et d'utiliser un > programme (relayd(8) ?) qui redirigerait les connexions d'un vhost vers > la bonne adresse IP (un peu comme ce qui est indiqué sur [1] mais sans > l'aspect balance de charge) ? Je veux dire, cela a-t-il une chance de > fonctionner ? :) Ça ne fait que déplacer le problème. La question est comment relayd fait pour savoir quel certificat présenter au client. De la même manière qu'apache doit avoir un moyen de savoir quel certificat présenter au client. Hors, au niveau TLS, au moment où la connexion SSL se fait, apache (ou relayd) ne peut pas savoir quel certificat présenter, puisque la connexion se fait toujours a destination de la même IP. C'est pour cela que le SNI existe et est supporté à partir d'apache 2.2 : cela permet au navigateur, au moment de l'établissement de la connexion SSL, d'indiquer sur quel virtualhost on veut se connecter. > > [1] : <https://calomel.org/relayd.html> > > > Cordialement, > Maxime > > -- > Maxime DERCHE > GnuPG public key ID : 0x9A85C4C0 > (fingerprint : 0FDC 16AF 5A5B 1908 786C 2B85 2D3C C83E 9A85 C4C0) > http://www.mouet-mouet.net/maxime/blog/index.php > -- Mattieu Baptiste "/earth is 102% full ... please delete anyone you can." ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Hôtes virtuels Apache + SSLBonjour, On Mon, 14 Sep 2009 20:12:29 +0200 Mattieu Baptiste <mattieu.b@...> wrote: > La solution propre serait d'utiliser apache 2.2 depuis les ports, qui > supporte le SNI (Server Name Indication). > Tu pourras alors configurer un certificat par virtual host. *Merci.* Après recompilation d'OpenSSL, de la totalité de /sbin/ (j'ignore si cela était réellement nécessaire, mais j'ai suivi le patch 001 pour 4.5), d'Apache2 et de PHP5 (core et extensions), tout fonctionne, c'est merveilleux. Par contre, cela ne fonctionne pas par défaut quand on compile le port, car OpenSSL n'est pas compilé avec la bonne option. Il faut aller dans /usr/src/lib/libssl/src/Makefile ajouter option enable-tlsext [1] dans les options de compilation, puis recompiler OpenSSL (j'ai suivi les directives du patch 001 d'OpenBSD 4.5 [2] qui préconise de recompiler tout /usr/src/sbin/), et recompiler Apache2 pour qu'il prenne en compte l'option ajoutée à OpenSSL. Par contre après tout fonctionne immédiatement : les vhosts HTTPS sont automatiquement reconnus, exactement comme pour les vhosts HTTP. Que du bonheur. Merci encore. :) [1] : http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI [2] : ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.5/common/001_openssl.patch > Tous les navigateurs modernes gèrent cette option donc tout devrait > rouler. Apparemment c'est encore plutôt récent, mais on ne s'attend pas à ce qu'un visiteur utilisant IE6 soit intéressé par l'usage de HTTPS quand il visite mouet-mouet.net... Cordialement, Maxime -- Maxime DERCHE GnuPG public key ID : 0x9A85C4C0 (fingerprint : 0FDC 16AF 5A5B 1908 786C 2B85 2D3C C83E 9A85 C4C0) http://www.mouet-mouet.net/maxime/blog/index.php |
|
|
Re: Hôtes virtuels Apache + SSLBonjour, tu pourrai nous faire une petit procedure ? merci d'avance. Ghislain. > Message du 16/09/09 07:33 > De : "Maxime DERCHE" > A : misc@... > Copie à : > Objet : Re: [obsdfr-misc] Hôtes virtuels Apache + SSL > > > Bonjour, > > On Mon, 14 Sep 2009 20:12:29 +0200 > Mattieu Baptiste wrote: > > > La solution propre serait d'utiliser apache 2.2 depuis les ports, qui > > supporte le SNI (Server Name Indication). > > Tu pourras alors configurer un certificat par virtual host. > > *Merci.* > > Après recompilation d'OpenSSL, de la totalité de /sbin/ (j'ignore si > cela était réellement nécessaire, mais j'ai suivi le patch 001 pour > 4.5), d'Apache2 et de PHP5 (core et extensions), tout fonctionne, c'est > merveilleux. > > Par contre, cela ne fonctionne pas par défaut quand on compile le port, > car OpenSSL n'est pas compilé avec la bonne option. > Il faut aller dans /usr/src/lib/libssl/src/Makefile ajouter option > enable-tlsext [1] dans les options de compilation, puis recompiler > OpenSSL (j'ai suivi les directives du patch 001 d'OpenBSD 4.5 [2] qui > préconise de recompiler tout /usr/src/sbin/), et recompiler Apache2 pour > qu'il prenne en compte l'option ajoutée à OpenSSL. > > > Par contre après tout fonctionne immédiatement : les vhosts HTTPS sont > automatiquement reconnus, exactement comme pour les vhosts HTTP. Que du > bonheur. > > Merci encore. :) > > [1] : http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI > [2] : > ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.5/common/001_openssl.patch > > > > Tous les navigateurs modernes gèrent cette option donc tout devrait > > rouler. > > Apparemment c'est encore plutôt récent, mais on ne s'attend pas à ce > qu'un visiteur utilisant IE6 soit intéressé par l'usage de HTTPS quand > il visite mouet-mouet.net... > > > Cordialement, > Maxime > > -- > Maxime DERCHE > GnuPG public key ID : 0x9A85C4C0 > (fingerprint : 0FDC 16AF 5A5B 1908 786C 2B85 2D3C C83E 9A85 C4C0) > http://www.mouet-mouet.net/maxime/blog/index.php > > > [ (pas de nom de fichier) (0.2 Ko) ] |
| Free embeddable forum powered by Nabble | Forum Help |