Чи можливо мати сертифікат SSL для IP-адреси, а не доменного імені?


282

Я хочу, щоб мій сайт використовував такі URL-адреси, як http://192.0.2.2/...і https://192.0.2.2/...для статичного вмісту, щоб уникнути зайвих файлів cookie у запиті І уникати додаткового запиту DNS.

Чи є спосіб отримати SSL cert для цієї мети?


3
Це питання може зацікавити: ви можете, але IP-адреса повинна бути введена в SAN типів IP-адреси, а не в CN суб'єкта DN.
Бруно

14
LetsEncrypt не робить цього. "" "" xxxx - IP-адреса. Орган сертифікатів Let Encrypt не видаватиме сертифікати на голу IP-адресу. "" "
kommradHomer

1
C / Browser Forum пропонує один набір політик видачі. Очевидно, за ним слідують браузери. CA / B більше не дозволяє IP-адреси. Інший набір політик видачі підтримує IETF. PKI IETF називається PKIX. PKIX дозволяє IP-адреси. PKIX супроводжується більшістю [вільного?] Програмного забезпечення, наприклад, CURL та Wget. Я не можу зовсім розібратися в серті для 1.1.1.1 . Це повинно бути заборонено відповідно до політики CA / B. Можливо, CA / B змінили свою політику.
jww

Відповіді:


170

Відповідно до цієї відповіді , це можливо, але рідко використовується.

Щодо того, як його отримати: я б схильний просто спробувати замовити його у постачальника, який ви обрали, і ввести IP-адресу замість домену під час замовлення.

Однак запуск сайту за IP-адресою, щоб уникнути пошуку DNS, виглядає жахливо, як непотрібна мікрооптимізація для мене. Ви заощадите кілька мілісекунд у кращому випадку, і це за візит , оскільки результати DNS кешуються на кількох рівнях.

Я не думаю, що ваша ідея має сенс з точки зору оптимізації.


9
AFAIK, 1 раз на хвилину (кеш-пам'ять DNS Firefox) та 1 раз на 30 хвилин для IE. Це відрізняється від TTL записів DNS. Крім того, це займає приблизно 20 мс для мене, залежно від домену та швидкості NS-серверів (які також потрібно вирішити спочатку :)) Я також хочу уникати своїх тривалих файлів cookie (мої auth + файли cookie Google Analytics) для кожного статичного запиту. Тож використання ІР замість придбання окремого домену добре. BTW, stackoverflow, basecamphq використовують окремий домен для статичного вмісту. Використання IP-адреси також видалить непотрібні запити DNS.
Євгеніт

12
Я абсолютно бачу вашу думку з печивом, ви абсолютно праві. Але для переходу на SSL IP для збереження кількох мс пошуку DNS звучить для мене більше клопоту, ніж варто. Крім того, у вас можуть виникнути проблеми з прийняттям вашого IP-адреси, якщо вам доведеться колись змінити свого постачальника - це, мабуть, неможливо. Переміщення домену набагато простіше, і слід перемістити сертифікат за допомогою нього наполовину легко.
Pekka

2
Інструмент "Швидкість сторінки" завжди пропонує "Показувати наступні ресурси JavaScript з того самого хоста, що і основний документ (xxxx.com), або відкладати завантаження цих ресурсів, якщо можливо". Я не оцінюю інструмент Page Speed ​​Speed ​​як біблію, але все одно це означає, що оптимізація DNS не була придумана мною. Я просто намагаюся зробити мій перелік сторінки швидкості зеленим, де це можливо.
Євгеніт

11
@Evgenyt: Я не думаю, що це через пошук DNS, який, як зазначено, кешований на стільки рівнях, що це не може бути проблемою продуктивності. Швидше за все, це дозволяє браузерам надавати свої запити. Тримайте з'єднання з хостом відкритим, таким чином уникаючи налаштування додаткових з'єднань.
vdstw

5
Я згоден з відповіддю. Також ми знайшли проблему з такою конфігурацією. Виявилось, браузер Chrome (39.0.2171.93) на ОС Android (4.4,5.0; працює на 4.0,4) не відтворює аудіофайли через HTTPS, якщо IP адреса використовується як ціль сертифіката. Ми використовували таку конфігурацію для тестового середовища, але почнемо використовувати доменні імена.
ENargit

58

Коротка відповідь - так, якщо це загальнодоступна IP-адреса.

Видача сертифікатів на зарезервовані IP-адреси не дозволяється, і всі сертифікати, раніше видані на зарезервовані IP-адреси, були відкликані станом на 1 жовтня 2016 року.

За даними форуму браузера CA, можуть виникнути проблеми сумісності із сертифікатами для IP-адрес, якщо IP-адреса не в обох полях commonNameта subjectAltName. Це пов’язано зі застарілими реалізаціями SSL, які не узгоджуються з RFC 5280, зокрема, ОС Windows до Windows 10.


Джерела:

  1. Керівництво щодо IP-адрес на форумі веб-переглядачів сертифікатів
  2. Базові вимоги 1.4.1 Форум браузера CA
  3. Загальна назва unmitigatedrisk.com (не скоро)
  4. RFC 5280 IETF

Примітка: в попередній версії цієї відповіді було зазначено, що 1 серпня 2016 року всі сертифікати IP-адреси будуть відкликані. Дякую Navin за вказівку на помилку.


5
Неправда, глобальний знак все ще видає сертифікати для IP-адрес. Орган з сертифікатів / браузерний форум не любить бачити приватні IP-адреси в certs, але не має нічого проти публічних IP-адрес.
Навін

1
Схоже, моя інформація може застаріти. Я детальніше розгляну його, а потім відредагую його, якщо ви маєте рацію.
регдуг

Неправда, подивіться на 1.1.1.1 Вони отримують сертифікат SSL для ip у 2019 році та дійсний до 2021 року від DigiCert
бронзової людини

@bronzeman, що є загальнодоступною IP-адресою, так, так, ви можете отримати сертифікат на нього. Єдині адреси, на які не може бути видано сертифікат, - en.wikipedia.org/wiki/Reserved_IP_addresses
regdoug

@DustWolf, за RFC 5280, "Коли розширення subjectAltName містить iPAddress, адресу ОБОВ'ЯЗКОВО зберігати в рядку октет у" порядку байтів мережі ", як зазначено в [RFC791]. ... Для IP версії 4 ..., рядок октет ПОВИНЕН містити рівно чотири октети. " Словом, ви не можете використовувати підмережу в полі subjectAltName
regdoug

31

Я думаю, відповідь - так. Наприклад, перевірте це посилання .

Видача SSL-сертифіката на публічну IP-адресу

Сертифікат SSL зазвичай видається повністю кваліфікованому доменному імені (FQDN), наприклад " https://www.domain.com ". Однак деяким організаціям потрібен сертифікат SSL, виданий на загальнодоступну IP-адресу. Цей параметр дозволяє вказати загальнодоступну IP-адресу як загальну назву у Вашому запиті на підпис сертифіката (CSR). Потім виданий сертифікат може використовуватися для захисту з'єднань безпосередньо із загальнодоступною IP-адресою (наприклад, https://123.456.78.99 .).


5
Чи працює це занадто зі статичним приватним IP? Як для локальної мережі?
Містер Бонжур

@Klaus Byskov Pedersen Чи не могли б ви надати мені ресурс, як це зробити?
reyhane

2
@ShivSingh Будь-яке джерело? Я не думаю, що жоден відомий КА видав би сертифікат на приватну IP-адресу.
Франклін Ю

22

Так. Cloudflare використовує його для домашньої сторінки інструкцій DNS: https://1.1.1.1


8
Це не зовсім те, що здається. Якщо ви оглядаєте cert, Common Nameполе є cloudflare-dns.comі 1.1.1.1вказане лише під Certificate Subject Alt Name.
бітірант

3
@bitinerant Загальне ім'я буде ігноровано, якщо присутнє ім'я Alterntive Subject . Насправді загальна назва застаріла, і лише SAN є дійсно актуальним.
Йогу

3

Форум браузера C / A встановлює, що є, а що недійсно в сертифікаті, а те, що ЦО слід відхилити.

Відповідно до їх базових вимог щодо видачі та управління сертифікатами, що публічно довіряються , сертифікати з 2015 року не повинні видавати посвідчення, де загальне ім’я або загальні поля альтернативних імен містять зарезервований IP або внутрішнє ім’я, де зарезервовані IP-адреси - це IP-адреси що IANA вказала як зарезервоване - що включає всі NAT IP - і внутрішні назви - це будь-які імена, які не вирішуються на загальнодоступній DNS.

Можливо використовувати загальнодоступні IP-адреси (і док. Вимог до документа вказує, які види перевірок повинен здійснювати АС, щоб переконатися, що заявник володіє IP-адресою).


0

Це повністю залежить від Органу сертифікації, який видає сертифікат.

Що стосується Let’s Encrypt CA, вони не будуть видавати сертифікат TLS на загальнодоступну IP-адресу. https://community.letsencrypt.org/t/certificate-for-public-ip-without-domain-name/6082

Щоб знати ваш авторитетний сертифікат, ви можете виконати наступну команду та шукати запис, позначений нижче.

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

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.