Condividi tramite


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

di Shaun Eagan

Compatibility

Versione Note
IIS 8.0 Indicazione del nome del server è stata introdotta in IIS 8.0.
IIS 7.5 Indicazione del nome del server non supportata in IIS 7.5.
IIS 7.0 Indicazione del nome del server non supportata in IIS 7.0.

Problema

Man mano che sempre più siti di e-commerce sono on line e più aziende archiviano e condividono documenti sensibili online, 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à di IPv4: poiché l'endpoint di rete può essere identificato solo con l'associazione IP:Port, 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 del 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 negozio WebHosting altamente scalabile per completare SNI. Il risultato è che la densità del sito sicura è molto più elevata in Windows Server 2012 ed è ottenuta 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

Prerequisites:

  • IIS 8.0 è installato in Windows Server 2012.

    • Sia l'archivio certificati WebHosting che SNI fanno parte dell'installazione predefinita di IIS. Non è disponibile 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 limite in cui la Gestione di IIS può rimuovere un'associazione SSL non prevista quando nello stesso computer sono configurate associazioni SSL tradizionali (IP:Porta) e associazioni SNI (Nome Host:Porta). Per risolvere questo problema e/o per confermare le associazioni SSL effettive, usare lo strumento da riga di comando:

netsh http show sslcert

Importare i 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. Seleziona 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. È stato selezionato l'account del computer.
  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 Aggiungi o Rimuovi snap-in.
  7. Nel riquadro di navigazione individuare la sezione Web Hosting:
    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 i certificati funzionano allo stesso modo. La differenza principale tra l'archivio 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. Apri Gestione di IIS.

  2. Selezionare Siti nella finestra di spostamento a sinistra:
    Screenshot che mostra I S Manager. I siti sono selezionati.

  3. Fare clic con il pulsante destro del mouse su Siti e scegliere Aggiungi sito Web:
    Screenshot che mostra il menu contestuale 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 cui il nome host può essere specificato 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.
    • Usare l'indicazione del nome del server: selezionata

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

      • Si noti che i certificati vengono presentati sia dagli archivi Personale che da Web Hosting.

      Screenshot che mostra la finestra di dialogo Aggiungi sito Web.

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

  6. Questo è tutto. Il sito sicuro è stato creato con 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 la richiesta a localhost:

Screenshot che mostra Internet Explorer. IIS 8 è scritto in grandi caratteri 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 è hostname:port con valore TAPTesting:443.

Scenari

Provare a distribuire gli scenari seguenti:

  • SNI è progettato per essere scalabile in un ambiente multi-tenant. Provare a configurare migliaia di siti sicuri 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 sicuri usando SNI, inviare una richiesta GET a uno dei siti sicuri e osservare l'utilizzo della memoria. È trascurabile. Nelle versioni precedenti di Windows Server, se sono configurate centinaia di siti sicuri, 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 con SNI e siti protetti tradizionali. Sono progettati per coesistere.

Sommario

Hai esplorato con successo la funzionalità Indicazione nome server (SNI) in Windows Server 2012.