Share via


Indicazione del nome del server IIS 8.0 (SNI): scalabilità SSL

di Shaun Eagan

Compatibilità

Versione Note
IIS 8,0 Indicazione nome server è stata introdotta in IIS 8.0.
IIS 7,5 Indicazione nome server non supportata in IIS 7.5.
IIS 7.0 Indicazione nome server non supportata in IIS 7.0.

Problema

Man mano che sono online più siti di e-commerce e più aziende archiviano e condividono documenti sensibili, la possibilità di ospitare e ridimensionare siti sicuri è sempre più importante. Prima di Windows Server 2012, si sono verificati alcuni problemi quando si tratta di ospitare siti sicuri:

  • Scalabilità SSL: in un ambiente multi-tenant, ad esempio un hosting condiviso, esiste una limitazione del numero di siti sicuri che possono essere ospitati in Windows Server, con conseguente bassa densità del sito.
  • Scarsità IPv4: poiché l'endpoint di rete può essere identificato solo con l'associazione IP:Porta, in cui i tenant richiedono di usare la porta SSL standard 443, l'hosting di un sito sicuro spesso significa offrire un indirizzo IP dedicato per ogni tenant.

Soluzione

In Windows Server 2012 IIS supporta l'indicazione del nome server (SNI), che è un'estensione TLS per includere un dominio virtuale come parte della negoziazione SSL. Ciò significa in modo efficace che il nome di dominio virtuale o un nome host può ora essere usato per identificare l'endpoint di rete. Inoltre, è stato creato un archivio WebHosting altamente scalabile per integrare SNI. Il risultato è che la densità del sito sicura è molto più elevata in Windows Server 2012 e si ottiene con un solo indirizzo IP.

Si noti che per poter usare questa funzionalità, i browser client devono supportare SNI. La maggior parte dei browser moderni supporta SNI; Tuttavia, Internet Explorer (di qualsiasi versione) in Windows XP non supporta SNI.

Istruzioni dettagliate

Prerequisiti:

  • IIS 8.0 è installato in Windows Server 2012.

    • Sia l'archivio certificati WebHosting che SNI fanno parte dell'installazione predefinita di IIS. Non è presente alcuna funzionalità IIS specifica che deve essere installata da Server Manager.
  • Certificati di esempio.

  • \windows\system32\drivers\etc\hosts è stato modificato per essere usato per il sito e il certificato di esempio. Ad esempio, se il nome CN del certificato è TAPTesting, il file hosts deve contenere:

    127.0.0.1 TAPTesting
    

Soluzioni alternative per i bug noti:

Esistono casi di angolo in cui Gestione IIS può rimuovere l'associazione SSL imprevista quando sono presenti associazioni SSL tradizionali (IP:Port) e associazioni SNI (Nome Host:Porta) configurate nello stesso computer. Per risolvere questo problema e/o per confermare le associazioni SSL effettive, usare lo strumento da riga di comando:

netsh http show sslcert

Importare certificati nell'archivio hosting Web:

  1. Aprire MMC.
  2. In File selezionare Aggiungi/Rimuovi snap-in:
    Screenshot che mostra il menu File in M M C. Aggiungi rimuovi snap in è evidenziato.
  3. Selezionare Certificati. Fare clic su Aggiungi:
    Screenshot che mostra la finestra di dialogo Aggiungi o Rimuovi snap-in con certificati selezionati in Snap-in Disponibili.
  4. Selezionare Account computer:
    Screenshot che mostra lo snap-in Certificati nella finestra di dialogo. L'account computer è selezionato.
  5. Selezionare Computer locale e fare clic su Fine:
    Screenshot che mostra la finestra di dialogo Seleziona computer. Il computer locale è selezionato.
  6. Fare clic su OK:
    Screenshot che mostra gli snap-in Aggiungi o Rimuovi.
  7. Nel riquadro di spostamento individuare Archivio hosting Web :
    Screenshot che mostra l'hosting Web evidenziato nel nodo Certificati.
    L'archivio hosting Web funziona come l'archivio personale , quindi tutti gli strumenti esistenti per importare ed esportare certificati funzionano allo stesso modo. La differenza principale tra l'archivio di hosting Web e l'archivio personale è che l'archivio hosting Web è progettato per aumentare il numero di certificati.
  8. Importare i certificati di esempio nell'archivio hosting Web .

Creare un sito Web sicuro:

  1. Aprire Gestione IIS.

  2. Selezionare Siti nella finestra di spostamento a sinistra:
    Screenshot che mostra I S Manager. È selezionata l'opzione Siti.

  3. Fare clic con il pulsante destro del mouse su Siti e scegliere Aggiungi sito Web:
    Screenshot che mostra il menu di scelta rapida per Siti.

  4. Inserire le informazioni, come si creerebbe qualsiasi sito:

    • Nome sito: Test

    • Percorso fisico: c:\inetpub\wwwroot

    • Tipo: https

    • Nome host: TAPTesting

      • Questa è una novità per Windows Server 8 in tale nome host può essere specificata per SSL.
      • Per evitare errori di mancata corrispondenza del nome del certificato, assicurarsi che il nome host specificato qui corrisponda al nome CN del certificato.
      • Il valore effettivo di questa configurazione varia a seconda del certificato di esempio usato.
    • Usa indicazione nome server: selezionata

    • Certificato SSL: Chhose il nome del certificato; ad esempio: TAPTesting.

      • Si noti che i certificati vengono presentati dagli archivi Di hostingPersonale e Web.

      Screenshot che mostra la finestra di dialogo Aggiungi sito Web.

  5. Verificare che il sito sia stato creato:
    Screenshot che mostra Test evidenziato nel nodo Siti.

  6. È tutto. Il sito sicuro è stato creato usando SNI. L'esperienza di gestione è molto simile all'associazione SSL tradizionale. Le uniche differenze sono:

    • È possibile specificare il nome host per il sito SSL.
    • Il certificato viene archiviato nell'archivio hosting Web per la scalabilità.

Testare un sito sicuro:

Aprire un browser e passare a https://TAPTesting/. Si noti che, come parte dei prerequisiti, il file hosts deve essere stato modificato per instradare questa richiesta a localhost:

Screenshot che mostra Internet Explorer. IO S 8 è scritto in testo grande nella pagina Web.

Inoltre, per visualizzare il nuovo tipo di associazione SSL, immettere quanto segue in una finestra della riga di comando con privilegi elevati:

netsh http show sslcert

Screenshot che mostra una finestra di comando. Il nome host e la porta sono evidenziati.

Si noti che l'associazione SSL è nome host:porta con valore TAPTesting:443.

Scenari

Provare a distribuire gli scenari seguenti:

  • SNI è progettato per la scalabilità per un ambiente multi-tenant. Provare a configurare migliaia di siti protetti usando SNI.
  • A differenza delle versioni precedenti di Windows Server, i certificati in Windows Server 2012 vengono caricati in memoria su richiesta. Dopo aver configurato migliaia di siti protetti usando SNI, inviare una richiesta GET a uno dei siti protetti e osservare l'utilizzo della memoria. È trascurabile. Nelle versioni precedenti di Windows Server, se sono configurati centinaia di siti protetti, l'invio di una sola richiesta GET provocherebbe il caricamento di tutti i certificati da parte di Windows Server, con conseguente utilizzo elevato della memoria e limiti ulteriormente la scalabilità.
  • Configurare Windows Server 2012 sia con SNI che con i siti protetti tradizionali. Sono progettati per coesistere.

Riepilogo

È stata esaminata la funzionalità Indicazione nome server (SNI) in Windows Server 2012.