È possibile avere un certificato SSL per l'indirizzo IP, non per il nome di dominio?


282

Voglio che il mio sito utilizzi URL simili http://192.0.2.2/...e https://192.0.2.2/...per contenuti statici per evitare cookie non necessari nella richiesta ed evitare richieste DNS aggiuntive.

Esiste un modo per ottenere il certificato SSL per questo scopo?


3
Questa domanda può essere interessante: puoi ma l'indirizzo IP dovrebbe essere in una voce SAN del tipo di indirizzo IP, non nella NC del DN Oggetto.
Bruno,

14
LetsEncrypt non lo fa. "" "" xxxx è un indirizzo IP. L'autorità di certificazione Let's Encrypt non emetterà certificati per un indirizzo IP nudo. "" "
kommradHomer

1
C / A Browser Forum fornisce una serie di criteri di emissione. Ovviamente, è seguito da browser. CA / B non consente più gli indirizzi IP. Un altro insieme di politiche di emissione è gestito dall'IETF. La PKI della IETF si chiama PKIX. PKIX consente gli indirizzi IP. PKIX è seguito dalla maggior parte dei software [gratuiti?], Come cURL e Wget. Non riesco proprio a capire il certificato per 1.1.1.1 . Dovrebbe essere vietato secondo le politiche CA / B. Forse CA / B ha cambiato le sue politiche.
jww

Risposte:


170

Secondo questa risposta , è possibile, ma usato raramente.

Per quanto riguarda come ottenerlo: tenderei semplicemente a provare a ordinarne uno con il provider di tua scelta e inserire l'indirizzo IP anziché un dominio durante il processo di ordinazione.

Tuttavia, la gestione di un sito su un indirizzo IP per evitare la ricerca DNS suona terribilmente come inutile micro-ottimizzazione per me. Risparmierete alcuni millisecondi al massimo, vale a dire per visita , poiché i risultati DNS vengono memorizzati nella cache su più livelli.

Non credo che la tua idea abbia senso dal punto di vista dell'ottimizzazione.


9
AFAIK, 1 volta al minuto (cache DNS di Firefox) e 1 volta ogni 30 minuti per IE. Ciò differisce dal TTL dei record DNS. Inoltre ci vogliono circa 20ms per me, a seconda del dominio e della velocità con cui i server NS (che devono essere risolti prima :)) Voglio anche evitare i miei cookie lunghi (la mia autorizzazione + i cookie di Google Analytics) per ogni richiesta statica. Quindi usare IP invece di acquistare un dominio separato è buono. A proposito, stackoverflow, basecamphq utilizzano un dominio separato per il contenuto statico. L'uso dell'IP rimuoverà anche le richieste DNS non necessarie.
Evgenyt,

12
Vedo assolutamente il tuo punto con i cookie, hai perfettamente ragione. Ma passare a un IP SSL per salvare i pochi ms di ricerca DNS mi sembra più seccante di quanto valga la pena. Inoltre, potresti avere problemi a portare il tuo IP con te se dovessi cambiare il tuo provider - probabilmente non è possibile. Lo spostamento di un dominio è molto più semplice e dovrebbe essere possibile spostare facilmente un certificato a metà.
Pekka,

2
Lo strumento Velocità pagina di Google suggerisce sempre di "pubblicare le seguenti risorse JavaScript dallo stesso host del documento principale (xxxx.com) o, se possibile, posticipare il caricamento di tali risorse". Non sto valutando lo strumento Page Speed ​​come bibbia, ma ciò significa che l'ottimizzazione DNS non è stata inventata da me. Sto solo cercando di rendere la mia lista di controllo della velocità della pagina verde, ove possibile.
Evgenyt,

11
@Evgenyt: Non penso che sia a causa della ricerca DNS, che come detto è memorizzata nella cache su così tanti livelli che non può essere un problema di prestazioni. È più probabile che consenta ai browser di eseguire il pipeline delle loro richieste. Mantenere aperta la connessione all'host, evitando così l'installazione di connessioni aggiuntive.
vdstw,

5
Sono d'accordo con la risposta. Inoltre, abbiamo riscontrato un problema con tale configurazione. Si è scoperto che il browser Chrome (39.0.2171.93) sul sistema operativo Android (4.4.5.0; funziona su 4.0,4) non riproduce i file audio tramite HTTPS se l'indirizzo IP viene utilizzato come destinazione del certificato. Usavamo tale configurazione per il nostro ambiente di test, ma inizieremo a usare i nomi di dominio.
ENargit

58

La risposta breve è sì, purché sia ​​un indirizzo IP pubblico.

L'emissione di certificati a indirizzi IP riservati non è consentita e tutti i certificati precedentemente emessi a indirizzi IP riservati sono stati revocati dal 1 ° ottobre 2016.

Secondo il forum di CA Browser, potrebbero esserci problemi di compatibilità con i certificati per gli indirizzi IP a meno che l'indirizzo IP non sia nei campi commonNamee subjectAltName. Ciò è dovuto alle implementazioni SSL legacy che non sono allineate con RFC 5280, in particolare il sistema operativo Windows precedente a Windows 10.


fonti:

  1. Guida sugli indirizzi IP nei certificati CA Browser Forum
  2. Requisiti di base 1.4.1 CA Browser Forum
  3. Il (presto) nome non comune unmitigatedrisk.com
  4. RFC 5280 IETF

Nota: una versione precedente di questa risposta affermava che tutti i certificati di indirizzi IP sarebbero stati revocati il ​​1 ° ottobre 2016. Grazie a Navin per aver segnalato l'errore.


5
Non è vero, globalsign emette ancora certificati per gli IP. Al forum dell'autorità di certificazione / browser non piace vedere gli IP privati ​​in certificati ma non ha nulla contro gli IP pubblici.
Navin,

1
Sembra che le mie informazioni potrebbero non essere aggiornate. Lo esaminerò di più e poi lo modificherò se hai ragione.
regdoug,

Non è vero, guarda 1.1.1.1 Ricevono un certificato SSL per ip nel 2019 e valido fino al 2021 da DigiCert
uomo di bronzo

@bronzeman che è un indirizzo IP pubblico, quindi sì, puoi ottenere un certificato per questo. Gli unici indirizzi ai quali non è possibile rilasciare un certificato sono en.wikipedia.org/wiki/Reserved_IP_addresses
regdoug

@DustWolf, per RFC 5280, "Quando l'estensione subjectAltName contiene un iPAddress, l'indirizzo DEVE essere memorizzato nella stringa di ottetti in" ordine byte di rete ", come specificato in [RFC791]. ... Per IP versione 4 ..., la stringa di ottetti DEVE contenere esattamente quattro ottetti. " In breve, non è possibile utilizzare una sottorete nel campo
subjectAltName

31

La risposta credo sia sì. Controlla questo link per esempio.

Emissione di un certificato SSL a un indirizzo IP pubblico

Un certificato SSL viene in genere emesso a un nome di dominio completo (FQDN) come " https://www.domain.com ". Tuttavia, alcune organizzazioni necessitano di un certificato SSL rilasciato a un indirizzo IP pubblico. Questa opzione consente di specificare un indirizzo IP pubblico come nome comune nella richiesta di firma del certificato (CSR). Il certificato emesso può quindi essere utilizzato per proteggere le connessioni direttamente con l'indirizzo IP pubblico (ad es . Https://123.456.78.99 .).


5
Funziona anche con IP privato statico? Ti piace una LAN?
Bonjour,

@Klaus Byskov Pedersen Potresti fornirmi una risorsa su come farlo?
Reyhane

2
@ShivSingh Qualche fonte? Non credo che nessuna CA famosa rilascia il certificato a un indirizzo IP privato.
Franklin Yu,


3

Il forum C / A Browser imposta ciò che è e non è valido in un certificato e quali CA devono rifiutare.

In base ai requisiti di base per l'emissione e la gestione del documento Certificati di fiducia pubblica , dal 2015 le CA non devono emettere certificati in cui il nome comune o i campi di nomi alternativi comuni contengono un IP riservato o un nome interno, dove gli indirizzi IP riservati sono IP che IANA ha elencato come riservato - che include tutti gli IP NAT - e i nomi interni sono nomi che non si risolvono sul DNS pubblico.

È possibile utilizzare indirizzi IP pubblici (e il documento sui requisiti di base specifica quali tipi di controlli deve essere eseguito da un'autorità di certificazione per garantire che il richiedente possieda l'IP).


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.