un certificat ssl pour chaque vhost
bonjour a tous, je me permets de vous contacter car j'ai un probleme sur une architecture. j'ai plusieurs vhosts sur ma machine debian sarge. en tant que bon paranoiaque, plusieurs d'entre eux sont accessibles depuis l'internet, et sont placés sur du https. seulement pour assurer l'authentification que l'on dialogue bien avec le bon vhost, j'aimerais que chacun de ces vhosts soit accessible avec un certifcat propre. mon architecture est la suivante: la machine serveur avec ses vhosts un routeur mon probleme est que mon routeur ne peut rediriger vers une adresse ip ou un hote different en fonction de l'adresse demandée. au jour d'aujourd'hui, il se charge simplement de renvoyer les trames sur le port 443 vers mon serveur, la differenciation des noms de machine etant effectuée au niveau de la configuration des vhosts. pour mon probleme de certificats, plusieurs options s'offrent a moi: - realiser un proxy ssl. de telle sorte, je n'aurais qu'un seul certificat a gerer. le gros probleme de cette methode, est que je ne veux pas que les utilisateurs aient a demander une url du genre: https://site/path/ mais seulement https://un_site/ - realiser un aliasing d'adresse ip sur les interfaces du serveur. cette methode me semblait la meilleure, mais je ne veux pas ouvrir d'autres ports sur mon firewall. d'ou ma question: est ce que je vais pouvoir definir des certificats propres a chacun de mes vhosts accessibles sans pour autant etre obligé de passer par une ouverture de ports? j'espère avoir été assez clair dans la description de mon probleme, merci d'avance pour votre aide bien cordialement, Matthieu
Re: un certificat ssl pour chaque vhost
Matthieu a écrit : j'aimerais que chacun de ces vhosts soit accessible avec un certifcat propre. Ils doivent alors avoir une IP publique chacun ! c'est 1 certificat par IP en IPv4 (je crois que l'on peut faire autrement en IPv6). d'ou ma question: est ce que je vais pouvoir definir des certificats propres a chacun de mes vhosts accessibles sans pour autant etre obligé de passer par une ouverture de ports? ?? Ce n'est pas une question de port. Les clients arrivent tous sur IP:443 Daniel -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: un certificat ssl pour chaque vhost
bonsoir, je crois que j'ai du mal m'exprimer. ma machine n'a pas d'interface publique. Daniel Caillibaud wrote: Matthieu a écrit : j'aimerais que chacun de ces vhosts soit accessible avec un certifcat propre. Ils doivent alors avoir une IP publique chacun ! c'est 1 certificat par IP en IPv4 (je crois que l'on peut faire autrement en IPv6). heu, il y a quelque chose que je comprends pas bien. pourquoi le certificat est lié a une adresse publique? ca serait pas plutot une ip quelque soit sa nature ? d'ou mon idée de realiser un ip aliasing... d'ou ma question: est ce que je vais pouvoir definir des certificats propres a chacun de mes vhosts accessibles sans pour autant etre obligé de passer par une ouverture de ports? ?? Ce n'est pas une question de port. Les clients arrivent tous sur IP:443 heu, et si je definis un host sur un port different, tu es en train de me dire que je ne pourrais pas lui assigner de certificat? Daniel bien cordialement MatthieuLe 07/01/06, Daniel Caillibaud <[EMAIL PROTECTED]> a écrit : Matthieu a écrit :> j'aimerais que chacun de ces vhosts soit accessible avec un> certifcat propre.Ils doivent alors avoir une IP publique chacun !c'est 1 certificat par IP en IPv4 (je crois que l'on peut faire autrement en IPv6).> d'ou ma question: est ce que je vais pouvoir definir des certificats> propres a chacun de mes vhosts accessibles sans pour autant etre obligé> de passer par une ouverture de ports? ??Ce n'est pas une question de port.Les clients arrivent tous sur IP:443Daniel--Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrenchPensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"To UNSUBSCRIBE, email to [EMAIL PROTECTED]with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: un certificat ssl pour chaque vhost
Matthieu a écrit : > bonjour a tous, Bonjour, > > je me permets de vous contacter car j'ai un probleme sur une architecture. > j'ai plusieurs vhosts sur ma machine debian sarge. en tant que bon > paranoiaque, plusieurs d'entre eux sont accessibles depuis l'internet, > et sont placés sur du https. > seulement pour assurer l'authentification que l'on dialogue bien avec > le bon vhost, j'aimerais que chacun de ces vhosts soit accessible avec > un certifcat propre. > mon architecture est la suivante: > la machine serveur avec ses vhosts > un routeur > > mon probleme est que mon routeur ne peut rediriger vers une adresse ip > ou un hote different en fonction de l'adresse demandée. > au jour d'aujourd'hui, il se charge simplement de renvoyer les trames > sur le port 443 vers mon serveur, la differenciation des noms de > machine etant effectuée au niveau de la configuration des vhosts. > > pour mon probleme de certificats, plusieurs options s'offrent a moi: > - realiser un proxy ssl. de telle sorte, je n'aurais qu'un seul > certificat a gerer. le gros probleme de cette methode, est que je ne > veux pas que les utilisateurs aient a demander une url du genre: > https://site/path/ mais seulement https://un_site/ > - realiser un aliasing d'adresse ip sur les interfaces du serveur. > cette methode me semblait la meilleure, mais je ne veux pas ouvrir > d'autres ports sur mon firewall. > > d'ou ma question: est ce que je vais pouvoir definir des certificats > propres a chacun de mes vhosts accessibles sans pour autant etre > obligé de passer par une ouverture de ports? > j'espère avoir été assez clair dans la description de mon probleme, > merci d'avance pour votre aide > bien cordialement, Il est tout a fait possible de definir un certificat different pour chaque vhost, c'est meme le mode de fonctionnement normal car un certificat est generalement lié a une URL et non a une adresse IP. Si tes vhosts sont deja configurés, tu n'as qu'a definir le certificat pour chaque vhost avec les directives SSLCertificateFile, SSLCertificateKeyFile, ... directement dans la definition du vhost. A+ > > Matthieu > -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: un certificat ssl pour chaque vhost
Salut, Marc PERRUDIN a écrit : Il est tout a fait possible de definir un certificat different pour chaque vhost, c'est meme le mode de fonctionnement normal car un certificat est generalement lié a une URL et non a une adresse IP. Côté navigateur, oui. Mais côté serveur, la session SSL (qui utilise le certificat) étant établie avant l'envoi de la requête HTTP (qui contientle hostname), je vois mal comment un certificat pourrait être lié à un vhost défini uniquement par le hostname. -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: un certificat ssl pour chaque vhost
Bonjour,A ma connaissance, un certificat SSL est lié à une adresse IP (v4), sur un serveur web.il n'est pas possible de préciser plusieurs certificats sur un même serveur (1 par vhost), qui soient liés à la même adresse IPv4. D'ailleurs, si tu as essayé, apache a du te générer une erreur.Pour y remédier donc, et comme tu es derrière un routeur, et que ton serveur est en adressage privé, tu peux essayer de déclarer une IP secondaire sur ton interface (cas où tu as une seule interface) et lier chaque vhost à une IP différente. puis configurer le routeur aussi..voilà, j'espère que ça t'aide. Jay --Pascal Hambourg <[EMAIL PROTECTED]> a écrit : Salut,Marc PERRUDIN a écrit :> > Il est tout a fait possible de definir un certificat different pour> chaque vhost, c'est meme le mode de fonctionnement normal car un> certificat est generalement lié a une URL et non a une adresse IP.Côté navigateur, oui. Mais côté serveur, la session SSL (qui utilise le certificat) étant établie avant l'envoi de la requête HTTP (qui contientle hostname), je vois mal comment un certificat pourrait être lié à un vhost défini uniquement par le hostname.-- Pensez à lire la FAQ de la liste avant de poser une question :http://wiki.debian.net/?DebianFrenchPensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"To UNSUBSCRIBE, email to [EMAIL PROTECTED]with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international. Téléchargez la version beta.
Re: un certificat ssl pour chaque vhost
Jay Ar a écrit : A ma connaissance, un certificat SSL est lié à une adresse IP (v4), sur un serveur web. En fait je me demande si un certificat est intrinsèquement lié à une adresse IP (pourquoi v4 et pas v6 d'ailleurs ?) ou si l'adresse IP constitue juste un moyen parmi d'autre pour le serveur de remonter au certificat à utiliser. il n'est pas possible de préciser plusieurs certificats sur un même serveur (1 par vhost), qui soient liés à la même adresse IPv4. Alternativement, serait-il envisageable que le port destination puisse servir à désigner le certificat à employer, avec un serveur qui écouterait sur plusieurs ports et associerait un certificat distinct à chacun d'eux ? D'ailleurs, si tu as essayé, apache a du te générer une erreur. Ah mais je n'ai rien essayé du tout moi. Il y a erreur sur la personne ! Pour y remédier donc, et comme tu es derrière un routeur, et que ton serveur est en adressage privé [...] Ah, non, pas du tout ! Je n'ai pas de serveur en adressage privé. voilà, j'espère que ça t'aide. C'est très aimable de ta part mais je n'avais pas besoin d'aide. :-) -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: un certificat ssl pour chaque vhost
> bonjour a tous, bonjour > d'ou ma question: est ce que je vais pouvoir definir des certificats > propres a chacun de mes vhosts accessibles sans pour autant etre obligé > de passer par une ouverture de ports? non, ce n'est pas possible, il n'y a qu'un certificat pas adresse ip. tu peux éventuellement créer un certificat du genre *.domain.tld ou tous tes sous domaines du domaien en question ont un certificat valide mais c'est tout. si cela était possible d'ailleur, il existerai des offre de serveur mutualisé porposant le ssl, hors cela n'héxiste pas > bien cordialement, Cordialement, > Matthieu Yoann -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: un certificat ssl pour chaque vhost
Tenez je suis tombé là dessus et j'ai pensé à votre demande concernant le multi SSLLe lien: http://lea-linux.org/cached/index/Trucs:Petit_Apache_et_des_virtualhosts_SSL_par_milliers.htmlJ'espère que j'ai bien compris la question !!!@ +++ Le 23/01/06, Jay Ar < [EMAIL PROTECTED]> a écrit :Bonjour,A ma connaissance, un certificat SSL est lié à une adresse IP (v4), sur un serveur web. il n'est pas possible de préciser plusieurs certificats sur un même serveur (1 par vhost), qui soient liés à la même adresse IPv4. D'ailleurs, si tu as essayé, apache a du te générer une erreur.Pour y remédier donc, et comme tu es derrière un routeur, et que ton serveur est en adressage privé, tu peux essayer de déclarer une IP secondaire sur ton interface (cas où tu as une seule interface) et lier chaque vhost à une IP différente. puis configurer le routeur aussi.. voilà, j'espère que ça t'aide. Jay --Pascal Hambourg <[EMAIL PROTECTED] > a écrit : Salut,Marc PERRUDIN a écrit :> > Il est tout a fait possible de definir un certificat different pour> chaque vhost, c'est meme le mode de fonctionnement normal car un> certificat est generalement lié a une URL et non a une adresse IP.Côté navigateur, oui. Mais côté serveur, la session SSL (qui utilise le certificat) étant établie avant l'envoi de la requête HTTP (qui contientle hostname), je vois mal comment un certificat pourrait être lié à un vhost défini uniquement par le hostname. -- Pensez à lire la FAQ de la liste avant de poser une question :http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"To UNSUBSCRIBE, email to [EMAIL PROTECTED]with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international. Téléchargez la version beta.
Re: un certificat ssl pour chaque vhost
On Mon, Jan 23, 2006 at 12:04:17PM +0100, Jay Ar wrote: > Bonjour, > > A ma connaissance, un certificat SSL est lié à une adresse IP (v4), > sur un serveur web. C'est faux. Le certificat est lié à un COMMON NAME, c'est-à-dire à un enregistrement CN qui en plus peut être générique (exemple *.toto.com). > il n'est pas possible de préciser plusieurs certificats sur un même > serveur (1 par vhost), qui soient liés à la même adresse IPv4. D'ailleurs, > si tu as essayé, apache a du te générer une erreur. Si, c'est possible. Je le fais chez moi. Mais comme dit deux mails plus haut, la connexion ssl est établie avec apache *avant* que le nom d'hôte demandée soit envoyé. Donc une première connexion s'établie forcément avec comme paramètre le certificat de la connexion par défaut au port 443 (et donc le navigateur râle deux fois : une fois parce que le certificat est inconnu, ce qui peut se résoudre si les gens acceptent le certificat, une fois parce que le certificat ne correspond pas au nom d'hôte demandé, et ça, on n'y peut rien, à mois d'avoir fait un certificat générique pour tous ses sites web). Ensuite, j'utilise les paramètres suivants dans le site par défaut: RewriteEngine On RewriteCond %{HTTP_HOST} ^.*sitedeux\.org$ RewriteRule ^/(.*)$ https://www.sitedeux.org:8080/$1 [R,L] RewriteCond %{HTTP_HOST} ^.*sitetrois\.org$ RewriteRule ^/(.*)$ https://www.sitetrois.org:8081/$1 [R,L] Donc, après avoir établi la connexion SSL (navigateur demandant d'accepter le certificat pour siteun et navigateur râlant que siteun est différent de sitedeux), la communication en HTTP se fait et le navigateur est redirigé vers le port 8080. Sur ce port écoute apache en HTTPS avec le certificat de sitedeux (et sur le port 8081 avec le certificat de sitetrois), si bien que là, le navigateur redemande si on veut bien accepter le certificat (de sitedeux, cette fois-ci), et donne le bon résultat. Évidemment, pour les liens qu'on donne, il est préférable de donner directement l'adresse avec le lien en :8080 (https://www.sitedeux.org:8080/bidule), comme ça, il n'y a pas la phase stupide où on doit accepter un certificat ne correspondant pas à sitedeux, accepter de continuer quand même, puis accepter le certificat de sitedeux. Mais le dispositif indiqué plus haut permet que quelqu'un qui tape https://www.sitedeux.org/ finisse au bon endroit s'il persévère (qui est https://www.sitedeux.org:8080/). J'oubliais: le routeur doit évidemment rediriger aussi de l'extérieur les ports 8080 et 8081 vers les ports 8080 et 8081. > Pour y remédier donc, et comme tu es derrière un routeur, et que ton > serveur est en adressage privé, tu peux essayer de déclarer une IP > secondaire sur ton interface (cas où tu as une seule interface) et lier > chaque vhost à une IP différente. puis configurer le routeur aussi.. Il n'y a pas de nécessité de faire ça: il suffit de changer les ports utilisés sur la même adresse IP. De plus, vu de derrière le routeur, il n'y a qu'une seule adresse IP, donc le routeur ne redirigera le port 443 de l'adresse IP externe que vers un unique couple (adresse IP,port). Comme l'enseigne tout bon cours de réseau. -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: un certificat ssl pour chaque vhost
Jean-Christophe Dubacq a écrit : il n'est pas possible de préciser plusieurs certificats sur un même serveur (1 par vhost), qui soient liés à la même adresse IPv4. D'ailleurs, si tu as essayé, apache a du te générer une erreur. Si, c'est possible. Je le fais chez moi. Mais comme dit deux mails plus haut, la connexion ssl est établie avec apache *avant* que le nom d'hôte demandée soit envoyé. Donc une première connexion s'établie forcément avec comme paramètre le certificat de la connexion par défaut au port 443 (et donc le navigateur râle deux fois : une fois parce que le certificat est inconnu, ce qui peut se résoudre si les gens acceptent le certificat, une fois parce que le certificat ne correspond pas au nom d'hôte demandé, et ça, on n'y peut rien, à mois d'avoir fait un certificat générique pour tous ses sites web). [...] Donc, après avoir établi la connexion SSL (navigateur demandant d'accepter le certificat pour siteun et navigateur râlant que siteun est différent de sitedeux), la communication en HTTP se fait et le navigateur est redirigé vers le port 8080. Sur ce port écoute apache en HTTPS avec le certificat de sitedeux (et sur le port 8081 avec le certificat de sitetrois), si bien que là, le navigateur redemande si on veut bien accepter le certificat (de sitedeux, cette fois-ci), et donne le bon résultat. Ça confirme mon intuition sur l'utilisation possible des ports comme élément discriminant pour le choix du certificat par le serveur. Par contre, je trouve deux inconvénients à ta méthode : 1) Ce n'est pas une bonne idée d'habituer les gens à accepter des certificats ne correspondant pas avec le site demandé. Ça donne de mauvaises habitudes qui ne vont pas dans le sens de la sécurité. 2) L'utilisation de ports non standards peut empêcher l'accès à ceux qui passent par un proxy HTTP n'autorisant la méthode CONNECT que vers le port 443. -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: un certificat ssl pour chaque vhost
On Fri, Jan 27, 2006 at 12:51:38AM +0100, Pascal Hambourg wrote: > Ça confirme mon intuition sur l'utilisation possible des ports comme > élément discriminant pour le choix du certificat par le serveur. Par > contre, je trouve deux inconvénients à ta méthode : > > 1) Ce n'est pas une bonne idée d'habituer les gens à accepter des > certificats ne correspondant pas avec le site demandé. Ça donne de > mauvaises habitudes qui ne vont pas dans le sens de la sécurité. Dans les liens d'un site, on peut mettre toujours le numéro de port, ce qui permet de ne pas passer par la mauvaise étape sauf si les gens tapent directement le nom du site et l'oublient. > 2) L'utilisation de ports non standards peut empêcher l'accès à ceux qui > passent par un proxy HTTP n'autorisant la méthode CONNECT que vers le > port 443. Ça, c'est un vrai problème. J'ai choisi d'ailleurs le port 8080 à cause de ça (souvent aussi autorisé). Mais quand on a une seule adresse IP, on en a qu'une... -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]