Est-il possible d'avoir un certificat SSL pour l'adresse IP, pas le nom de domaine?

282

Je veux que mon site utilise des URL comme http://192.0.2.2/...et https://192.0.2.2/...pour le contenu statique afin d'éviter les cookies inutiles dans les requêtes ET d'éviter les requêtes DNS supplémentaires.

Existe-t-il un moyen d'obtenir un certificat SSL à cet effet?

Evgenyt
la source
3
Cette question peut être intéressante: vous pouvez mais l'adresse IP doit être dans une entrée SAN de type adresse IP, pas dans le CN du DN sujet.
Bruno
14
LetsEncrypt ne le fait pas. "" "" xxxx est une adresse IP. L'autorité de certification Let's Encrypt
n'émettra
1
C / A Browser Forum fournit un ensemble de politiques d'émission. Évidemment, il est suivi par les navigateurs. CA / B n'autorise plus les adresses IP. Un autre ensemble de politiques d'émission est maintenu par l'IETF. L'ICP de l'IETF s'appelle PKIX. PKIX autorise les adresses IP. PKIX est suivi par la plupart des logiciels [gratuits?], Comme cURL et Wget. Je n'arrive pas à comprendre le certificat pour 1.1.1.1 . Cela devrait être interdit selon les politiques CA / B. Peut-être que CA / B a changé ses politiques.
2019

Réponses:

170

Selon cette réponse , c'est possible, mais rarement utilisé.

Quant à savoir comment l'obtenir: j'aurais tendance à simplement essayer d'en commander un auprès du fournisseur de votre choix et à saisir l'adresse IP au lieu d'un domaine lors du processus de commande.

Cependant, exécuter un site sur une adresse IP pour éviter la recherche DNS ressemble pour moi à une micro-optimisation inutile. Vous économiserez au mieux quelques millisecondes, et c'est par visite , car les résultats DNS sont mis en cache à plusieurs niveaux.

Je ne pense pas que votre idée soit logique d'un point de vue d'optimisation.

Pekka
la source
9
AFAIK, 1 fois par minute (cache DNS Firefox) et 1 fois par 30 minutes pour IE. Cela diffère du TTL des enregistrements DNS. De plus, cela prend environ 20 ms pour moi, en fonction du domaine et de la rapidité des serveurs NS (qui doivent également être résolus en premier :)) Je souhaite également éviter mes longs cookies (mes cookies d'authentification + Google Analytics) pour chaque demande statique. Il est donc bon d'utiliser IP au lieu d'acheter un domaine séparé. BTW, stackoverflow, basecamphq utilisent un domaine séparé pour le contenu statique. L'utilisation d'IP à la place supprimera également les demandes DNS inutiles.
Evgenyt
12
Je vois absolument votre point avec les cookies, vous avez tout à fait raison. Mais passer à une IP SSL pour économiser les quelques ms de recherche DNS me semble plus compliqué que cela ne vaut. De plus, vous pourriez avoir des problèmes avec votre IP si vous deviez changer de fournisseur - ce n'est probablement pas possible. Le déplacement d'un domaine est beaucoup plus facile et il devrait être possible de déplacer facilement un certificat avec lui à mi-chemin.
Pekka
2
L'outil Page Speed ​​de Google suggère toujours de "Servir les ressources JavaScript suivantes à partir du même hôte que le document principal (xxxx.com), ou de reporter le chargement de ces ressources si possible". Je ne classe pas l'outil Page Speed ​​comme bible, mais de toute façon cela signifie que l'optimisation DNS n'a pas été inventée par moi. J'essaie simplement de rendre ma liste de contrôle de vitesse de page verte dans la mesure du possible.
Evgenyt
11
@Evgenyt: Je ne pense pas que ce soit à cause de la recherche DNS, qui, comme indiqué, est mise en cache à tellement de niveaux que cela ne peut pas être un problème de performances. Il est plus probable que cela permette aux navigateurs de canaliser leurs demandes. Garder la connexion à l'hôte ouverte, évitant ainsi la configuration de connexions supplémentaires.
vdstw
5
Je suis d'accord avec la réponse. De plus, nous avons trouvé un problème avec une telle configuration. Il s'est avéré que le navigateur Chrome (39.0.2171.93) sur Android OS (4.4,5.0; fonctionne sur 4.0,4) ne lit pas les fichiers audio via HTTPS si l'adresse IP est utilisée comme cible de certificat. Nous avions l'habitude d'utiliser une telle configuration pour notre environnement de test, mais nous commencerons à utiliser des noms de domaine.
ENargit
58

La réponse courte est oui, tant qu'il s'agit d'une adresse IP publique.

L'émission de certificats vers des adresses IP réservées n'est pas autorisée, et tous les certificats précédemment émis vers des adresses IP réservées ont été révoqués à compter du 1er octobre 2016.

Selon le forum CA Browser, il peut y avoir des problèmes de compatibilité avec les certificats pour les adresses IP, sauf si l'adresse IP se trouve à la fois dans les champs commonNameet subjectAltName. Cela est dû aux implémentations SSL héritées qui ne sont pas alignées avec RFC 5280, notamment, Windows OS avant Windows 10.


Sources:

  1. Conseils sur les adresses IP dans les certificats CA Browser Forum
  2. Exigences de base 1.4.1 Forum du navigateur CA
  3. Le (bientôt en passe) nom pas si commun unmitigatedrisk.com
  4. RFC 5280 IETF

Remarque: une version antérieure de cette réponse indiquait que tous les certificats d'adresse IP seraient révoqués le 1er octobre 2016. Merci à Navin d'avoir signalé l'erreur.

regdoug
la source
5
Ce n'est pas vrai, globalsign émet toujours des certificats pour les IP. Le forum de l'autorité de certification / navigateur n'aime pas voir les adresses IP privées dans les certificats, mais n'a rien contre les adresses IP publiques.
Navin
1
Il semble que mes informations soient obsolètes. Je vais m'y intéresser davantage et ensuite le modifier si vous avez raison.
regdoug
Pas vrai, regardez 1.1.1.1 Ils obtiennent un certificat SSL pour ip en 2019 et valide jusqu'en 2021 de DigiCert
bronze man
@bronzeman qui est une adresse IP publique donc, oui, vous pouvez obtenir un certificat pour cela. Les seules adresses auxquelles un certificat ne peut pas être délivré sont en.wikipedia.org/wiki/Reserved_IP_addresses
regdoug
@DustWolf, par RFC 5280, "Lorsque l'extension subjectAltName contient une iPAddress, l'adresse DOIT être stockée dans la chaîne d'octets dans" l'ordre des octets réseau ", comme spécifié dans [RFC791]. ... Pour IP version 4 ..., la chaîne d'octets DOIT contenir exactement quatre octets. " En bref, vous ne pouvez pas utiliser un sous-réseau dans le champ subjectAltName
regdoug
31

Je pense que la réponse est oui. Vérifiez ce lien par exemple.

Délivrance d'un certificat SSL à une adresse IP publique

Un certificat SSL est généralement délivré à un nom de domaine complet (FQDN) tel que " https://www.domain.com ". Cependant, certaines organisations ont besoin d'un certificat SSL délivré à une adresse IP publique. Cette option vous permet de spécifier une adresse IP publique comme nom commun dans votre demande de signature de certificat (CSR). Le certificat émis peut ensuite être utilisé pour sécuriser les connexions directement avec l'adresse IP publique (par exemple, https://123.456.78.99 .).

Klaus Byskov Pedersen
la source
5
Cela fonctionne-t-il aussi avec une adresse IP privée statique? Comme pour un LAN?
M. Bonjour
@Klaus Byskov Pedersen Pourriez-vous s'il vous plaît me fournir une ressource sur la façon de procéder?
reyhane
2
@ShivSingh Une source? Je ne pense pas qu'une autorité de certification connue émettrait un certificat à une adresse IP privée.
Franklin Yu
22

Oui. Cloudflare l'utilise pour sa page d'accueil d'instructions DNS: https://1.1.1.1

mehulmpt
la source
8
Ce n'est pas tout à fait ce qu'il semble. Si vous inspectez le certificat, le Common Namechamp est cloudflare-dns.comet 1.1.1.1est uniquement répertorié sous Certificate Subject Alt Name.
bitinerant
3
@bitinerant le nom commun sera ignoré si un autre nom de sujet est présent . En fait, le nom commun est obsolète et seul le SAN est vraiment pertinent.
Yogu
3

Le forum du navigateur C / A définit ce qui est et n'est pas valide dans un certificat, et ce que les autorités de certification doivent rejeter.

Conformément à leurs exigences de base pour l'émission et la gestion des certificats de confiance publique , les autorités de certification doivent, depuis 2015, ne pas émettre de certificats lorsque le nom commun ou les champs de noms alternatifs communs contiennent une adresse IP réservée ou un nom interne, où les adresses IP réservées sont des adresses IP. que l'IANA a répertorié comme réservé - qui comprend toutes les adresses IP NAT - et les noms internes sont tous les noms qui ne sont pas résolus sur le DNS public.

Les adresses IP publiques PEUVENT être utilisées (et le document des exigences de base spécifie les types de vérifications qu'une autorité de certification doit effectuer pour s'assurer que le demandeur possède l'IP).

Chris Becke
la source
0

Cela dépend entièrement de l'autorité de certification qui délivre un certificat.

En ce qui concerne Let's Encrypt CA, ils n'émettront pas de certificat TLS sur l'adresse IP publique. https://community.letsencrypt.org/t/certificate-for-public-ip-without-domain-name/6082

Pour connaître votre autorité de certification, vous pouvez exécuter la commande suivante et rechercher une entrée marquée ci-dessous.

curl -v -u <username>:<password> "https://IPaddress/.."

entrez la description de l'image ici

Shahid Hussain
la source