Certificato SSL per un indirizzo IP pubblico?


10

Ho appena provato ad acquistare un Comodo Positive SSL ma è stato rifiutato perché non supporta un indirizzo IP pubblico, ma invece supporta solo un nome di dominio.

Qualcuno conosce un provider di certificati SSL che supporta un indirizzo IP pubblico anziché un nome di dominio?

La mia azienda ha un server dedicato ospitato con una società di web hosting, che viene utilizzato per l'esecuzione di un bugtracker per più progetti (per più client). Dal momento che è utilizzato solo per un bugtracker, non abbiamo bisogno di un nome di dominio (i nostri clienti accedono digitando l'IP pubblico nel loro browser).


2
Vorrei impostare un nome di dominio in modo che non sia necessario ricordare l'indirizzo IP quando ci si trova in una posizione in cui non è stato aggiunto un segnalibro. Inoltre, quando cambi IP sarà trasparente.
Mark Wagner,

Risposte:


16

Penso che tu possa farlo, ma non nel modo in cui stai provando a farlo.

Un certificato SSL è un'istruzione che lega una chiave di crittografia pubblica a una struttura X.500 che include un elemento CN o Common Name; un certificato firmato è uno di quelli in cui l'associazione è verificata in modo verificabile da un'autorità di certificazione di terze parti, utilizzando una chiave pubblica già nota agli utenti finali (quella pila di certificati dell'autorità di certificazione (CA) che risiede all'interno del browser).

Quando si visita un sito Web protetto da SSL con un browser, la CN firmata viene resa nota al browser. Ciò che il browser sceglie di fare con esso dipende dal browser. I browser di cui sono a conoscenza lo confrontano con il nome host richiesto ed errore se è diverso (o se tale associazione certificata non regge all'analisi, ad esempio il certificato di firma non è noto al browser o l'associazione è fuori- aggiornato, ma questo è un problema diverso). Non c'è nulla che, in linea di principio, ti impedisce di ottenere un certificato firmato pubblicamente in cui la CN è un indirizzo IP non un FQDN (nome di dominio completo) [1], ma ciò non farà magicamente confrontare il CN con l'IP indirizzo, anziché con il nome host richiesto .

Ho il sospetto che il modo più semplice per risolvere il tuo problema sia quello di avviare la tua CA, cosa facile da fare, e ci sono molti tutorial pubblici su; uno è qui . Una volta che gli utenti finali hanno importato la tua CA nei loro browser, tutti i certificati che conterai saranno accettati come autorevoli.

Potresti quindi avere un secondo problema in quanto desideri eseguire molti siti NameVirtualHost su un singolo indirizzo IP. Questo è stato storicamente insuperabile, poiché (diversamente da TLS) la negoziazione SSL avviene prima di qualsiasi altra cosa su una connessione; vale a dire, la CN incorporata nel certificato viene resa nota e utilizzata dal client prima che il client sia in grado di dire a quale host stanno cercando di connettersi.

Recentemente, sembra che sia stata introdotta un'estensione del protocollo chiamata SNI (Server Name Indication), che consente a client e server di indicare che vorrebbero fare alcune cose sul nome host prima che il certificato SSL sia presentato, consentendo quello giusto di un set di certificati che devono essere forniti dal server. Apparentemente questo richiede apache 2.2.10, una versione sufficientemente recente di OpenSSL e ( soprattutto ) supporto lato client.

Quindi, se dovessi fare quello che stai cercando di fare, guarderei conio il mio certificato CA, dicendo ai miei utenti finali che devono usare browser che supportano SNI e importare il mio certificato radice CA, e tagliare e firma i miei certificati SSL per ogni sito bugtrack.

[1] OK, potresti non aver trovato nessuno che lo farà, ma questo è un dettaglio di implementazione. Quello che sto cercando di mostrare qui è che anche se lo facessi, non risolverebbe il tuo problema.


4
Per un'applicazione specifica, perché no? Se è coniato dal fornitore dell'applicazione e non ti fidi di lui, sei comunque fregato rispetto a questa applicazione, poiché ha la chiave SSL privata e può decifrare le cose a prescindere. e se ciò li preoccupa così tanto, può semplicemente tagliare i certificati autofirmati per ciascuno dei suoi siti buqtrack e possono importarli in base alle necessità.
MadHatter,

2
@Tom - se non ti fidi della persona che ti offre il certificato nell'esempio sopra, allora perché dovresti anche fare affari con loro? Se il certificato SSL viene emesso o meno da / con il supporto di / una CA nota è l'ultima delle tue preoccupazioni sulla fiducia WRT se stai affidando i dati a un'app "online".
Rob Moir,

2
Presumo che il timore sia che, dato che non sembra esserci alcun modo per installare una CA come autorevole solo per determinati domini, una volta installato il mio CA root, posso certificare i siti di banking online con la stessa facilità con cui ho la mia applicazione di tracciamento dei bug. Se riesco ad avvelenare la loro cache DNS, posso quindi eseguire un attacco man-in-the-middle al loro banking online. Se questo li preoccupa davvero e non vogliono usare un browser personalizzato per questo progetto, allora, come ho detto sopra, potrei tagliare un certificato autofirmato per ogni singolo bugtracker, che i client potrebbero installare secondo necessità.
MadHatter,

1
Tom, in realtà sono d'accordo con quel motivo per voler usare un certificato "fidato". In effetti sono d'accordo al 100%. Tuttavia, non è stato così che è stato trovato il tuo commento originale.
Rob Moir,

1
Nome di dominio fiammeggiante? La mia lingua madre non è l'inglese, quindi puoi spiegarlo? Inoltre, il mio capo preferisce utilizzare un IP pubblico, forse non vuole che il sito venga trovato dal motore di ricerca (i motori di ricerca possono trovare il sito anche se non ha un nome di dominio?)
motore seriale

10

Esiste un'Autorità di certificazione radice che conosco che è precompilata con tutti i principali browser e rilascia certificati SSL su indirizzi IP pubblici: dai un'occhiata a GlobalSign . Hanno letto le informazioni RIPE per convalidare la richiesta di certificato, quindi potresti voler prima verificare che la voce RIPE sia emessa con il nome corretto.

Per quanto riguarda il feedback, questa voce ha ottenuto:

, è preferibile acquistare un nome di dominio ed emettere un certificato SSL su quella CN. È anche meno costoso dell'opzione GlobalSign sopra.

Ma ci sono casi in cui i certificati SSL con un IP pubblico come CN sono utili. Molti provider e governi di Internet bloccano i siti indesiderati in base all'infrastruttura DNS. Se stai offrendo un tipo di sito che potrebbe essere bloccato, ad esempio per motivi politici, è una buona opzione avere questo sito accessibile tramite il suo indirizzo IP pubblico. Allo stesso tempo, si sarà voglia di traffico cifrare per quegli utenti e non si desidera che gli utenti non-tech di passare attraverso il fastidio di clic attraverso avvisi di eccezione la sicurezza del proprio browser (perché il CN del certificato non corrisponde quello effettivo inserito). Far loro installare la tua CA principale è ancora più una seccatura e non realistico.


In particolare, "un server dedicato ospitato con una società di web hosting" difficilmente avrà un proprio RIP, ma piuttosto la rete circostante avrà una voce RIPE (sulla società di hosting)
Hagen von Eitzen

1

Vai avanti e acquista il nome di dominio. Sono economici, non essere più economici di così. Ne hai solo bisogno. Forse hai anche impostato bugtracker.yourcompany.com.

Quindi per ogni bugtracker, imposta un sottodominio per quel nome. Ottieni un certificato SSL per ciascuno di questi sottodomini. Dato che sembri particolarmente avverso ai costi, la società con cui vuoi fare affari si chiama StartSSL.

http://www.startssl.com/

Il motivo per cui vuoi usarli è perché (oltre ad essere attendibili dai principali browser) i loro certificati non costano un braccio e una gamba. Il tipo di cert più elementare è davvero, onestamente, senza merda. Verificano la tua identità, quindi ti consentono di emetterne tutti quelli di cui hai bisogno. Se desideri certificati più elaborati (che normalmente costano diverse centinaia di dollari), stai cercando circa $ 50 per 2 anni per supportare SSL per più domini su un singolo IP.

Sono super economici per quello che ottieni. Rilasciano certificati reali, considerati attendibili dai browser dei tuoi clienti, e non prove di 90 giorni come altri luoghi.


1
Non credo di capirlo neanche io. Un certificato SSL rilasciato correttamente è un token identificativo da solo; l'autorità di certificazione non fornisce alcun servizio dopo l'emissione. Il mio sito è protetto su un certificato RapidSSL, ma se fallisse domani il mio certificato sarebbe altrettanto efficace come lo è ora.
MadHatter,

2
Quanti dei tuoi clienti eseguiranno un controllo completo in background sul tuo provider SSL? Avrebbero davvero dovuto scavare prima di rendersi conto che stavano facendo affari con una società che faceva affari con una società israeliana. Come ha affermato MadHatter, l'instabilità politica ha ben poco a che fare con la validità o meno del certificato. Una volta emesso, è valido fino alla scadenza, punto e basta. Ma è bello se vuoi pagare qualche altro ridicolo registrar per qualcosa che non è tecnicamente complicato. I certificati SSL sono una delle truffe più ridicole di sempre.
Paul McMillan,

2
Ehi, basta solo un cliente per scaricarlo. Scusa, non sono molto chiaro dall'inizio. Il mio paese non consente ai suoi cittadini di fare affari con Israele. È tutto.
motore seriale

1
Sì, sarebbe stata una cosa più utile da dire. I certificati SSL sono inutilmente costosi, ma sulla scala del fare affari, il costo è quasi nulla.
Paul McMillan,

2
"Una volta emesso, è valido fino alla scadenza, punto". A meno che non contenga informazioni sulla revoca, venga revocato e il client impone il controllo della revoca. E una CA che subisce probabilmente sarebbe costretta a revocare tutte le loro dichiarazioni. Dico solo
Ryan Bolger il
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.