Merci Stéphane,

je vais vérifier si mon CA accepte l'option Subject Alternative Name lors la
certification.

Le 4 décembre 2008 22:11, Stephane Bortzmeyer <[EMAIL PROTECTED]> a écrit
:

> On Wed, Dec 03, 2008 at 06:16:38PM +0100,
>  François TOURDE <[EMAIL PROTECTED]> wrote
>  a message of 26 lines which said:
>
> > Si si, c'est faisable. Je sais plus où j'avais vu de la doc
> > là-dessus,
>
> Ici :-)
>
>
> Authentifier des serveurs Internet avec X.509 lorsqu'ils ont la même
> adresse IP
>
> http://www.bortzmeyer.org/auth-x509-plusieurs-noms.html
>
> Première rédaction de cet article le 4 Décembre 2008
>
> ----------------------------
>
>
> On lit souvent qu'il n'est pas possible d'avoir plusieurs serveurs
> Internet sur la même adresse IP lorsqu'ils sont authentifiés par un
> certificat X.509. Il faudrait donc donner une adresse IP à chacun.
> Cette affirmation a des origines réalistes mais est sans doute trop
> stricte aujourd'hui.
>
> Dans un protocole comme HTTPS, le nom du serveur est transmis une fois
> la session TLS établie. Il est donc a priori trop tard à ce moment pour
> choisir un autre certificat. D'où le mème « Un seul certificat par
> adresse IP ». En fait, il est possible d'avoir une seule adresse IP et
> néanmoins un certificat différent par "Virtual Host" Apache, même si
> les méthodes existantes ont quelques limites.
>
> Il existe trois méthodes pour HTTPS (toutes ne sont pas forcément
> applicables aux autres protocoles) :
> * La commande HTTP STARTTLS (RFC 2817) qui permet de transmettre le nom
> du serveur avant la négociation TLS.
> * L'extension X.509 "Subject Alternative Name" (RFC 2459) qui permet de
> mettre plusieurs noms dans un certificat. Le client sera alors content
> si un des noms correspond.
> * L'extension X.509 "Server Name Indication" (SNI) (RFC 4366) qui
> permet au client d'indiquer le nom du serveur dans la négociation TLS.
>
> Chacune a ses forces et ses faiblesses et des domaines où elle est
> meilleure que les autres.
>
> La première, STARTTLS, normalisée dans le RFC 2817, est bien décrite
> par Pierre Beyssac dans « HTTP et TLS, la RFC méconnue...
> (http://signal.eu.org/blog/2007/09/07/http-et-tls-la-rfc-meconnue/) ».
> Très répandue avec des protocoles comme IMAP ou SMTP, elle a un gros
> inconvénient pour HTTP : il n'est pas possible d'indiquer dans l'URL
> que TLS est obligatoire. Un attaquant sur le chemin, ou bien un serveur
> mal configuré, et on retombe sur du HTTP non protégé.
>
> Mise en &#339;uvre dans Apache depuis la version 2.2, elle n'est présent
> dans aucun grand navigateur, pour les raisons expliquées par Mozilla
> dans la bogue #276813
> (https://bugzilla.mozilla.org/show_bug.cgi?id=276813).
>
> Une deuxième méthode est le certificat contenant plusieurs noms. Elle
> est possible grâce à l'extension X.509 "Subject Alternative Name",
> normalisée dans le RFC 2459. Elle est décrite en détail dans mon
> article « Plusieurs noms dans un certificat X.509
> (http://www.bortzmeyer.org/plusieurs-noms-dans-certificat.html) » ou
> bien dans celui de Franck Davy, « Apache : Hôtes virtuels et SSL
> (mod_ssl)
> (http://www.hsc.fr/ressources/breves/ssl_virtualhosts.html.fr) ». En
> anglais, on peut lire « "Information about setting up the ApacheServer
> to serve multiple HTTPS sites using one IP address
> (http://wiki.cacert.org/wiki/CSRGenerator?action=show&redirect=VhostsApa
> che)" ».
>
> Elle fonctionne avec openssl (aussi bien pour générer le certificat que
> pour le vérifier) mais il faut que la CA qui signe l'accepte et
> j'ignore si les grosses CA ayant pignon sur rue le font ou pas. C'est
> la méthode qui semble la plus déployée et donc celle qui apporte le
> moins de surprises (CAcert a fait des tests détailles
> d'interopérabilité
> (http://wiki.cacert.org/wiki/VhostTaskForce#InteroperabilityTest) sur
> les variants de cette méthode).
>
> La troisième méthode repose sur une extension du protocole TLS et non
> pas du format X.509. Cette extension, "Server Name Indication" (SNI),
> est l'une de celles décrites dans le RFC 4366. Elle envoie le nom du
> serveur lors de la négociation TLS. Elle est bien expliquée dans
> l'article de Pierre Beyssac « Adieu RFC 2817, bonjour RFC 3546
> (http://signal.eu.org/blog/2008/11/25/adieu-rfc-2817-bonjour-rfc-3546/)
> ».
>
> SNI ("Server Name Indication") ne marche pas avec le module Apache
> mod_ssl, il faut utiliser mod_gnutls. Il y a un certificat par "Virtual
> Host" et elle ne gère donc pas le cas où un "Virtual Host" a plusieurs
> noms, avec la directive ServerAlias.
>
> Les serveurs HTTP gérés par le département de recherche & développement
> de l'AFNIC sont un exemple de déploiement de deux de ces techniques. Le
> serveur, un Apache, utilise mod_gnutls, avec un certificat par "Virtual
> Host", et peut donc tirer profit de la troisième méthode, SNI. Au cas
> où le client ne gère pas l'extension SNI, le certificat par défaut
> (celui qui est utilisé dans la directive <VirtualHost _default_:443>)
> est un certificat avec plusieurs noms.
>
> Merci à Pierre Beyssac, Mario Victor-Oscar et Yves Rutschle pour des
> informations stimulantes et utiles.
>
> --
> Lisez la FAQ de la liste avant de poser une question :
> http://wiki.debian.org/DebFrFrenchLists
> Vous pouvez aussi ajouter 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]
>
>

Répondre à