Czy możliwe jest posiadanie certyfikatu SSL dla adresu IP, a nie nazwy domeny?


281

Chcę, aby moja strona używała adresów URL takich jak http://192.0.2.2/...i https://192.0.2.2/...do treści statycznych, aby uniknąć niepotrzebnych plików cookie w żądaniu ORAZ uniknąć dodatkowego żądania DNS.

Czy istnieje jakiś sposób na uzyskanie certyfikatu SSL w tym celu?


3
To pytanie może być interesujące: możesz, ale adres IP powinien znajdować się we wpisie SAN typu adresu IP, a nie w CN podmiotowej nazwy wyróżniającej.
— Bruno,

14
LetsEncrypt tego nie robi. „” „” xxxx to adres IP. Urząd certyfikacji Let's Encrypt nie wyda certyfikatów dla nagiego adresu IP. ”„ ””
— kommradHomer

1
C / A Browser Forum zapewnia jeden zestaw zasad wydawania. Oczywiście następuje przeglądarka. CA / B nie zezwala już na adresy IP. Innym zestawem zasad wydawania jest IETF. PKI IETF nazywa się PKIX. PKIX zezwala na adresy IP. Po PKIX następuje większość [darmowych?] Programów, takich jak cURL i Wget. Nie mogę do końca ustalić, czy certyfikat dotyczy wersji 1.1.1.1 . Powinno być zabronione zgodnie z zasadami CA / B. Może CA / B zmieniły swoje zasady.
— jww

Odpowiedzi:


169

Zgodnie z tą odpowiedzią jest to możliwe, ale rzadko używane.

Jeśli chodzi o to, jak go zdobyć: chciałbym po prostu spróbować zamówić go u wybranego przez ciebie dostawcy i wprowadzić adres IP zamiast domeny podczas procesu zamawiania.

Jednak prowadzenie witryny pod adresem IP w celu uniknięcia wyszukiwania DNS brzmi okropnie jak niepotrzebna mikrooptymalizacja. Zaoszczędzisz co najwyżej kilka milisekund, czyli na wizytę , ponieważ wyniki DNS są buforowane na wielu poziomach.

Nie sądzę, aby twój pomysł miał sens z punktu widzenia optymalizacji.


9
AFAIK, 1 raz na minutę (pamięć podręczna DNS DNS przeglądarki Firefox) i 1 raz na 30 minut dla IE. Różni się to od TTL rekordów DNS. Ponadto zajmuje mi to około 20 ms, w zależności od domeny i szybkości serwerów NS (które należy rozwiązać najpierw :)) Chcę również uniknąć moich długich plików cookie (moje uwierzytelnianie + pliki cookie Google Analytics) dla każdego statycznego żądania. Dlatego warto korzystać z adresu IP zamiast kupować osobną domenę. BTW, stackoverflow, basecamphq używają oddzielnej domeny dla zawartości statycznej. Użycie IP zamiast tego spowoduje również usunięcie niepotrzebnych żądań DNS.
— Evgenyt,

12
Absolutnie rozumiem twoje zdanie na temat ciasteczek, masz całkowitą rację. Ale przejście na SSL IP w celu zaoszczędzenia kilku ms wyszukiwania DNS wydaje mi się bardziej kłopotliwe niż warte. Ponadto możesz mieć problemy z zabraniem ze sobą adresu IP, jeśli kiedykolwiek będziesz musiał zmienić dostawcę - prawdopodobnie nie jest to możliwe. Przeniesienie domeny jest o wiele łatwiejsze i powinno być możliwe przeniesienie certyfikatu za jej pomocą w połowie drogi.
— Pekka

2
Narzędzie Google Page Speed ​​zawsze sugeruje: „Podaj następujące zasoby JavaScript z tego samego hosta, co główny dokument (xxxx.com), lub jeśli to możliwe, odrocz ładowanie tych zasobów”. Nie oceniam narzędzia Page Speed ​​jako biblii, ale w każdym razie oznacza to, że nie wymyśliłem optymalizacji DNS. Po prostu staram się, aby moja lista kontrolna prędkości strony była zielona tam, gdzie to możliwe.
— Evgenyt,

11
@Evgenyt: Nie sądzę, że dzieje się tak z powodu wyszukiwania DNS, które, jak wspomniano, jest buforowane na tak wielu poziomach, że nie może to stanowić problemu z wydajnością. Bardziej prawdopodobne jest umożliwienie przeglądarkom przesyłania potoków. Utrzymywanie połączenia z hostem otwartym, unikając w ten sposób konfiguracji dodatkowych połączeń.
— vdstw

5
Zgadzam się z odpowiedzią. Znaleźliśmy również problem z taką konfiguracją. Okazało się, że przeglądarka Chrome (39.0.2171.93) w systemie Android (4.4,5.0; działa w wersji 4.0.4) nie odtwarza plików audio przez HTTPS, jeśli adres IP jest używany jako cel certyfikatu. Użyliśmy takiej konfiguracji w naszym środowisku testowym, ale zaczniemy używać nazw domen.
— ENargit

58

Krótka odpowiedź brzmi „tak”, o ile jest to publiczny adres IP.

Wydawanie certyfikatów na zastrzeżone adresy IP jest niedozwolone, a wszystkie certyfikaty wcześniej wydane na zastrzeżone adresy IP zostały unieważnione z dniem 1 października 2016 r.

Według forum CA Browser mogą wystąpić problemy ze zgodnością certyfikatów dla adresów IP, chyba że adres IP znajduje się zarówno w polach, jak commonNamei subjectAltName. Wynika to z wcześniejszych implementacji SSL, które nie są dostosowane do RFC 5280, w szczególności systemu operacyjnego Windows wcześniejszego niż Windows 10.


Źródła:

  1. Wskazówki dotyczące adresów IP na certyfikatach Forum przeglądarki CA
  2. Wymagania podstawowe 1.4.1 CA Browser Forum
  3. (Niedługo będzie) nazwa zwyczajowa unmitigatedrisk.com
  4. RFC 5280 IETF

Uwaga: we wcześniejszej wersji tej odpowiedzi stwierdzono, że wszystkie certyfikaty adresów IP zostaną unieważnione 1 października 2016 r. Dziękujemy Navin za wskazanie błędu.


5
Nieprawda, globalsign nadal wydaje certyfikaty dla adresów IP. Forum urzędów certyfikacji / przeglądarki nie lubi widzieć prywatnych adresów IP w certyfikatach, ale nie ma nic przeciwko publicznym adresom IP.
— Navin

1
Wygląda na to, że moje informacje mogą być nieaktualne. Przyjrzę się temu dokładniej, a następnie poprawię, jeśli masz rację.
— regdoug

Nieprawda, spojrzenie na 1.1.1.1 one uzyskać cert SSL dla IP w 2019 roku i obowiązuje do 2021 z DigiCert
— brązu człowieka

@bronzeman, który jest publicznym adresem IP, więc tak, możesz uzyskać dla niego certyfikat. Jedynymi adresami, które nie mogą zostać wydane, są en.wikipedia.org/wiki/Reserved_IP_addresses
— regdoug

@DustWolf, zgodnie z RFC 5280, „Gdy rozszerzenie subjectAltName zawiera iPAddress, adres MUSI być zapisany w ciągu oktetów w„ kolejności bajtów sieciowych ”, jak określono w [RFC791]. ... Dla wersji IP 4 ... ciąg oktetów MUSI zawierać dokładnie cztery oktety. ” Krótko mówiąc, nie możesz użyć podsieci w polu subjectAltName
— regdoug

31

Chyba odpowiedź brzmi: tak. Sprawdź na przykład ten link .

Wydawanie certyfikatu SSL na publiczny adres IP

Certyfikat SSL jest zazwyczaj wydawany w pełni kwalifikowanej nazwie domeny (FQDN), takiej jak „ https://www.domain.com ”. Jednak niektóre organizacje potrzebują certyfikatu SSL wydanego na publiczny adres IP. Ta opcja umożliwia określenie publicznego adresu IP jako nazwy pospolitej w żądaniu podpisania certyfikatu (CSR). Wydany certyfikat można następnie wykorzystać do zabezpieczenia połączeń bezpośrednio z publicznym adresem IP (np . Https://123.456.78.99 .).


5
Czy to działa również ze statycznym prywatnym adresem IP? Jak dla sieci LAN?
— Pan Bonjour

@Klaus Byskov Pedersen Czy możesz podać mi zasoby, jak to zrobić?
— reyhane

2
@ShivSingh Wszelkie źródła? Nie sądzę, aby jakikolwiek znany urząd certyfikacji wystawiłby certyfikat na prywatny adres IP.
— Franklin Yu,


3

Forum przeglądarki C / A ustala, co jest i nie jest ważne w certyfikacie, a co CA powinien odrzucić.

Zgodnie z dokumentem dotyczącym podstawowych wymagań w zakresie wydawania i zarządzania publicznie zaufanymi certyfikatami urzędy certyfikacji nie mogą od 2015 r. Wydawać certyfikatów, w których pola nazwa zwyczajowa lub nazwa alternatywna zawierają zastrzeżone IP lub nazwę wewnętrzną, gdzie zastrzeżone adresy IP to IP które IANA wymieniła jako zastrzeżone - w tym wszystkie adresy IP NAT - a nazwy wewnętrzne to wszelkie nazwy, które nie są rozpoznawane w publicznym DNS.

MOŻNA użyć publicznych adresów IP (a dokument wymagań podstawowych określa, jakie rodzaje kontroli musi przeprowadzić urząd certyfikacji, aby upewnić się, że wnioskodawca jest właścicielem adresu IP).


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.