Nota

Utilizzare il servizio Certificati OCI per emettere un certificato interno per il sito Web ospitato sul server IIS

Introduzione

Oracle Cloud Infrastructure (OCI) Certificates è un servizio per la creazione e la gestione dei certificati TLS (Transport Layer Security). Il servizio consente alle organizzazioni di creare gerarchie di autorità di certificazione (CA) private e certificati TLS che possono essere distribuiti e rinnovati automaticamente nella tenancy del cliente, integrati con servizi OCI come OCI Load Balancer e OCI API Gateway. Possiamo anche utilizzare questo servizio per generare certificati per i nostri server web interni ospitati su Internet Information Services (IIS), Apache o nginx.

Obiettivo

In questa esercitazione viene descritto come utilizzare i certificati OCI per emettere un certificato interno da utilizzare per ospitare un sito Web protetto da TLS/SSL su un server IIS Windows. Discuteremo le due opzioni.

Prerequisiti

Nota: non inserire informazioni riservate.

Task 1: Creare un'autorità di certificazione

È necessario creare una CA, indipendentemente dal fatto che venga rilasciato un certificato mediante CSR o direttamente da OCI Certificates CA. Per ulteriori informazioni su come configurare una CA, vedere Creazione di un'autorità di certificazione.

Utilizzare i certificati OCI per creare una CA radice o una CA subordinata. Per creare una CA subordinata, è necessario disporre di una CA radice. Una gerarchia a livello singolo è costituita da una CA. La singola CA è sia una CA radice che una CA emittente. Una CA radice è il termine per il trust anchor del PKI. Qualsiasi applicazione, utente o computer che ritenga attendibile la CA root considera attendibili i certificati emessi dalla gerarchia di CA. La CA emittente è una CA che emette certificati alle entità finali. Tuttavia, una gerarchia a due livelli è un design che soddisfa le esigenze della maggior parte delle aziende. In questa progettazione è presente una CA radice e una CA subordinata che emette. Il livello di sicurezza viene aumentato perché i ruoli CA radice e CA emittente sono separati. La creazione di una CA richiede l'accesso a una chiave di cifratura asimmetrica protetta da hardware esistente dal vault OCI. Per ulteriori informazioni, vedere Panoramica di OCI Vault.

  1. Aprire il menu di navigazione e fare clic su Identità e sicurezza.

  2. In Certificati fare clic su Autorità di certificazione.

  3. Fare clic su Crea autorità di certificazione.

  4. Fare clic su Compartimento, quindi selezionare il compartimento in cui si desidera creare la CA.

  5. In Tipo autorità certificato, selezionare il tipo di CA dalle opzioni riportate di seguito.

    1. Autorità di certificazione radice: la CA nella parte superiore della gerarchia in una catena di CA.

    2. Autorità di certificazione subordinata: qualsiasi CA che non sia la CA radice in una gerarchia contenente altre CA.

  6. Immettere un nome di visualizzazione per la CA. Questo nome consente di identificare la CA a scopo amministrativo, ma non viene visualizzato come parte del certificato CA.

  7. (Facoltativo) Immettere una Descrizione per facilitare l'identificazione della CA. Questa descrizione consente di identificare la CA, ma non viene visualizzata come parte del certificato CA.

  8. (Facoltativo) Per applicare le tag, fare clic su Mostra applicazione tag. Per ulteriori informazioni, vedere Tag risorsa, quindi fare clic su Avanti.

  9. Immettere le informazioni sull'oggetto che includono almeno un nome comune per identificare il proprietario del certificato CA. A seconda dell'uso previsto del certificato, il soggetto potrebbe identificare una persona, un'organizzazione o un endpoint del computer. Il formato delle informazioni sull'oggetto deve essere conforme agli standard RFC 5280. È possibile utilizzare caratteri jolly per emettere un certificato per più nomi di dominio o sottodominio.

  10. (Facoltativo) Immettere ulteriori informazioni sull'oggetto CA, fare clic su Mostra campi aggiuntivi. Per informazioni dettagliate su ciascuno dei valori in un nome distinto di oggetto, fare clic su Avanti.

  11. (Facoltativo) Fare clic su Non valido prima, quindi specificare l'ora e la data UTC per iniziare a utilizzare la CA. Se non si specifica una data, il periodo di validità CA inizia immediatamente.

  12. Fare clic su Non valido dopo, quindi specificare la data dopo la quale la CA non può più essere utilizzata per emettere o convalidare CA o certificati subordinati.

    Nota: è necessario specificare una data successiva di almeno un giorno alla data di inizio del periodo di validità. Impossibile specificare una data successiva al 31 dicembre 2037. I valori vengono arrotondati al secondo più vicino.

  13. Se si crea una CA subordinata, in Autorità di certificazione emittente specificare una CA padre per emettere questa CA. Se si crea una CA root, passare al passo successivo.

  14. In Vault selezionare il vault contenente la chiave di cifratura che si desidera utilizzare per il certificato CA. Facoltativo, fare clic su Modifica compartimento per specificare un compartimento diverso.

  15. In Chiave, selezionare la chiave nel vault che si desidera utilizzare. La lista include solo le chiavi asimmetriche nel vault perché i certificati supportano solo chiavi asimmetriche. Puoi scegliere tra le chiavi Rivest-Shamir-Adleman (RSA) che sono 2048 bit o 4096 bit. È inoltre possibile scegliere chiavi ECDSA (Elliptic Curve Digital Signature Algorithm) con ID curva ellittica NIST_P384. In particolare, l'elenco include solo questi tipi di chiavi asimmetriche protette da un Hardware Security Module (HSM). I certificati non supportano l'uso di chiavi protette da software.

  16. In Algoritmo di firma, selezionare una delle seguenti opzioni, a seconda della famiglia di algoritmi chiave, quindi fare clic su Avanti.

    • SHA256_WITH_RSA: chiave RSA con funzione hash SHA-256

    • SHA384_WITH_RSA: chiave RSA con funzione hash SHA-384

    • SHA512_WITH_RSA: chiave RSA con funzione hash SHA-512

    • SHA256_WITH_ECDSA: chiave ECDSA con funzione hash SHA-256

    • SHA384_WITH_ECDSA: chiave ECDSA con funzione hash SHA-384

    • SHA512_WITH_ECDSA: chiave ECDSA con funzione hash SHA-512

  17. Configurare la regola di scadenza. In Durata massima di validità per i certificati (giorni) specificare il numero massimo di giorni durante i quali un certificato emesso da questa CA può essere valido. Si consiglia vivamente un periodo di validità non superiore a 90 giorni.

  18. In Durata massima di validità per CA subordinata (giorni) specificare il numero massimo di giorni in cui una CA emessa da questa CA può essere valida per emettere altre CA o certificati e fare clic su Successivo.

  19. Nella pagina Configurazione revoca, se non si desidera configurare una lista di revoche certificato (CRL), selezionare la casella di controllo Salta revoca. Per configurare la revoca dei certificati, deselezionare la casella di controllo, quindi specificare un bucket OCI Object Storage dedicato in cui si prevede di memorizzare la CRL.

  20. (Facoltativo) Fare clic su Modifica compartimento per trovare un bucket in un compartimento diverso.

  21. In Formato nome oggetto specificare il nome dell'oggetto. È possibile includere parentesi graffe nel nome dell'oggetto per indicare dove il servizio può inserire il numero di versione CA emittente. Questa aggiunta consente di evitare la sovrascrittura di un CRL esistente ogni volta che si crea un'altra versione CA.

  22. (Facoltativo) In URL formattati personalizzati fornire l'URL che si desidera utilizzare con le API per accedere all'oggetto. Questo URL viene denominato nei certificati CRL Distribution Point (CDP). È possibile includere parentesi graffe nell'URL per indicare dove il servizio può inserire il numero di versione CA emittente. Questa aggiunta consente di evitare di sovrascrivere una CDP esistente ogni volta che si crea un'altra versione CA. È possibile specificare un URL HTTPS solo se non esistono dipendenze circolari nella verifica della catena HTTPS.

  23. (Facoltativo) Per fornire un'altra CDP, fare clic su + Altro URL, quindi fornire un altro URL in cui gli utenti possono accedere alla CRL, quindi fare clic su Avanti.

  24. Rivedere le informazioni, quindi fare clic su Crea autorità di certificazione.

La creazione di risorse correlate ai certificati può richiedere del tempo. Una volta creata la CA, è possibile utilizzare uno dei due metodi seguenti per ottenere un certificato emesso per i server IIS.

Task 2: ottenere un certificato emesso mediante CSR

Creare un CSR sul server IIS, che creerà anche una chiave privata sullo stesso server. Questo è un approccio consigliato che ci fornisce un modo standardizzato per inviare alla CA la tua chiave pubblica e alcune informazioni che identificano la tua azienda e il nome di dominio.

  1. Creare un CSR utilizzando IIS. È necessario andare a Gestione IIS (Internet Information Services) e nel menu Connessioni fare clic sul nome del server, quindi fare clic su Certificati server.

    Immagine 1

  2. Nel menu Azioni fare clic su Crea richiesta certificato... e immettere tutti i dettagli come mostrato di seguito, quindi fare clic su Avanti.

    Immagine 2

    Immagine 3

  3. In Proprietà provider di servizi di cifratura, immettere le informazioni riportate di seguito, quindi fare clic su Avanti.

    Immagine 4

    I tipi di provider crittografici sono famiglie di provider di servizi crittografici che condividono formati di dati e protocolli crittografici. I formati dei dati includono schemi di riempimento degli algoritmi, lunghezze delle chiavi e modalità predefinite.)

    Microsoft RSA SChannel Cryptographic Provider è un CSP consigliato e deve essere utilizzato a meno che non si disponga di un motivo per utilizzare qualsiasi altro valore. Supporta l'hashing, la firma dei dati e la verifica della firma. La lunghezza del bit determina la forza di crittografia del certificato: maggiore è la lunghezza, maggiore è la sicurezza. 2048 è consigliato per una migliore sicurezza.

  4. Nella pagina Nome file, in Specificare un nome file per la richiesta di certificato, fare clic su ... per andare alla posizione in cui si desidera salvare la richiesta di firma certificato (salvare il file come .pem) che conclude la parte IIS per il momento.

    Immagine 5

  5. È necessario eseguire il login alla tenancy OCI e importare questa richiesta di firma certificato. Se il file CSR è in formato .pem, è possibile passare a Servizi certificati OCI, Autorità certificato, Certificati, Crea certificato e selezionare Emesso dalla CA interna, gestito esternamente, quindi immettere i dettagli necessari come mostrato di seguito.

    Immagine 6

  6. Nella pagina Configurazione certificato è necessario caricare il file CSR creato nel task 2.5 in formato .pem, fare clic su Avanti e quindi su Crea certificato.

    Immagine 7

    Immagine 8

  7. Ora dobbiamo creare il .cer del certificato che può essere utilizzato sul nostro server IIS per completare la CSR. Il file .cer può essere ottenuto direttamente dalla console OCI da Identità e sicurezza, Certificati, Certificato. Fare clic su Visualizza contenuto e scaricare il contenuto del certificato pem e certificate-chain-pem e creare un singolo file combinando il contenuto di entrambi con certificate-pem nella parte superiore e certificate-chain-pem nella parte inferiore del file (assicurarsi di salvare il file risultante come .cer).

  8. Al termine, è possibile tornare al server IIS e fare clic su Completa richiesta certificato, fornire il file .cer creato in precedenza e fornire un nome descrittivo, quindi fare clic su Successivo.

    Immagine 9

    Immagine 10

    Immagine 100

  9. Sarà possibile visualizzare il certificato in Certificati server in IIS e utilizzarlo per il sito Web ospitato in IIS modificando le associazioni sul sito Web. Modificare l'associazione sito e scegliere il certificato installato.

    Immagine 11

Task 3: creare un certificato dal servizio OCI Certificates senza CSR

In questo modo si trasferisce la gestione delle chiavi private all'Autorità di Certificazione. In genere, la CSR è il modo più consigliato per ottenere un certificato dalla CA. Se per qualsiasi motivo non è stato possibile ottenere un CSR e si desidera ottenere un certificato emesso, è possibile utilizzare questo approccio. Utilizzeremo la CA creata sopra per rilasciare un certificato al nostro sito Web ospitato su IIS. Forniremo alcune informazioni importanti durante il rilascio del certificato come il nome dell'oggetto del nostro sito Web (iistest.com nel mio caso), il tipo di profilo del certificato, l'algoritmo chiave e la CA da utilizzare.

  1. Passare a OCI Console e fare clic su Identità e sicurezza.

  2. In Certificati fare clic su Certificato, quindi su Crea certificato.

  3. In Compartimento selezionare il compartimento in cui si desidera creare il certificato. Il certificato può esistere nello stesso compartimento della CA o in un altro compartimento.

  4. In Tipo di certificato, per emettere un certificato dalla CA dei certificati OCI che gestisce anche il certificato, fare clic su Emesso dalla CA interna.

  5. Immettere un nome di visualizzazione per il certificato.

  6. (Facoltativo) Immettere una Descrizione per facilitare l'identificazione del certificato.

  7. (Facoltativo) Per applicare le tag, fare clic su Mostra applicazione tag e fare clic su Avanti.

  8. Immettere le informazioni sull'oggetto, che includono un nome comune per identificare il proprietario del certificato. A seconda dell'uso previsto del certificato, il soggetto potrebbe identificare una persona, un'organizzazione o un endpoint del computer. Le informazioni sull'oggetto possono anche includere nomi DNS o indirizzi IP come nomi alternativi oggetto con cui è noto anche il portatore del certificato. È possibile utilizzare caratteri jolly per emettere un certificato per più nomi di dominio o sottodominio. Specificare sia il nome comune che il nome DNS (sotto SAN) durante la creazione del certificato. Alcuni browser ignorano il nome comune e utilizzano il nome dell'oggetto o il nome SAN per valutare le informazioni sull'oggetto.

  9. (Facoltativo) Per aggiungere altri nomi alternativi dell'oggetto, fare clic su + Altro nome alternativo dell'oggetto, scegliere il tipo di indirizzo, immettere il nome, quindi fare clic su Successivo.

  10. Selezionare un tipo di profilo certificato dai seguenti profili in base all'uso previsto del certificato.

    • TLS Server o Client: presentato da un server o da un client per le connessioni TLS/SSL.

    • Server TLS: presentato da un server per le connessioni TLS/SSL.

    • Client TLS: presentato da un client durante le connessioni TLS/SSL.

    • TLS Code Sign: presentato da un programma per convalidare la sua firma.

    Poiché stiamo rilasciando il certificato per un server, dovremmo scegliere il tipo di profilo TLS Server qui.

  11. Per modificare la CA che emette il certificato, fare clic su Autorità di certificazione emittente, quindi selezionare una CA. Se necessario, fare clic su Modifica compartimento, quindi scegliere un compartimento diverso se la CA si trova in un compartimento diverso da quello selezionato per il certificato.

  12. (Facoltativo) Fare clic su Non valido prima, quindi immettere una data prima della quale il certificato non può essere utilizzato per convalidare l'identità del relativo portatore. Se non si specifica una data, il periodo di validità del certificato inizia immediatamente. I valori vengono arrotondati al secondo più vicino.

  13. Fare clic su Non valido dopo, quindi modificare la data dopo la quale il certificato non è più valido per la prova dell'identità del relativo portatore. Specificare una data successiva di almeno un giorno alla data di inizio del periodo di validità. La data non deve superare la scadenza della CA emittente. Non è inoltre possibile specificare una data successiva al 31 dicembre 2037. I valori vengono arrotondati al secondo più vicino. In genere, i certificati vengono utilizzati per l'intero periodo in cui sono validi, a meno che non si verifichi qualcosa che richieda la revoca.

  14. Per l'algoritmo chiave, selezionare la combinazione di algoritmo e lunghezza chiave necessaria per la coppia di chiavi del certificato tra le seguenti opzioni.

    • RSA2048: chiave Rivest-Shamir-Adleman (RSA) a 2048 bit

    • RSA4096: chiave RSA a 4096 bit

    • ECDSA_P256: chiave ECDSA con ID curva P256

    • ECDSA_P384: chiave ECDSA con ID curva P384

  15. (Facoltativo) Fare clic su Mostra campi aggiuntivi, quindi in Algoritmo firma scegliere uno dei seguenti algoritmi di firma, a seconda della chiave, quindi fare clic su Avanti.

    • SHA256_WITH_RSA: chiave Rivest-Shamir-Adleman (RSA) con funzione hash SHA-256

    • SHA384_WITH_RSA: chiave RSA con funzione hash SHA-384

    • SHA512_WITH_RSA: chiave RSA con funzione hash SHA-512

    • SHA256_WITH_ECDSA: chiave ECDSA con funzione hash SHA-256

    • SHA384_WITH_ECDSA: chiave ECDSA con funzione hash SHA-384

    • SHA512_WITH_ECDSA: chiave ECDSA con funzione hash SHA-512

  16. Per configurare il rinnovo automatico del certificato in modo da evitare interruzioni nel suo utilizzo, specificare un valore diverso da zero per le seguenti impostazioni, quindi fare clic su Avanti.

    • Intervallo rinnovo (giorni): la frequenza di rinnovo del certificato.

    • Periodo di rinnovo anticipo (giorni): il numero di giorni prima della scadenza del certificato in cui si verifica il rinnovo.

      Per una sufficiente flessibilità, rinnovare il certificato prima della fine del suo periodo di validità e con un tempo di rinnovo sufficiente in caso di guasti. Un certificato che scade prima che il servizio possa rinnovarlo correttamente può causare interruzioni del servizio.

      Nota: il certificato non verrà rinnovato automaticamente nel server IIS. È necessario recuperare la nuova versione del certificato e ricaricarla sul server IIS alla scadenza del certificato.

  17. Rivedere tutte le informazioni, quindi fare clic su Crea certificato.

  18. Una volta creato il certificato, è necessario creare il file .pem del certificato che può essere installato sul server IIS. Per creare il file .pem, è necessario recuperare il file cert.pem e il file key.pem privato del certificato creato in precedenza. Il file cert.pem può essere ottenuto direttamente dalla console OCI da Identità e sicurezza, Certificati, Certificato, Visualizza contenuto e scaricare il contenuto del certificato pem e certificate-chain-pem e creare un singolo file combinando il contenuto di entrambi con certificate-pem nella parte superiore e certificate-chain-pem nella parte inferiore del file. Per ottenere la chiave privata, possiamo utilizzare l'interfaccia CLI OCI della nostra OCI Cloud Shell ed eseguire il comando riportato di seguito.

    oci certificates certificate-bundle get --certificate-id=ocid1.certificate.XXXXXXX --bundle-type=CERTIFICATE_CONTENT_WITH_PRIVATE_KEY
    
  19. È necessario copiare il contenuto del file private-key-pem nella sezione dati dell'output del comando e salvarlo come file .pem (ad esempio private.pem). Una volta che abbiamo entrambi i file cert.pem e private.pem possiamo usare OpenSSL per generare un file .pfx. Durante la copia del contenuto del file private-key-pem potrebbe essere necessario rimuovere il carattere \n in quanto crea alcuni problemi di formattazione.

    Nota: OCI CLI, OpenSSL e molti altri strumenti sono preinstallati in OCI Cloud Shell e possono essere utilizzati per eseguire queste operazioni con facilità.

    Il file della chiave privata .pem dovrebbe avere un aspetto simile al seguente:

    Immagine 12

  20. È possibile utilizzare il comando seguente per ottenere il file .pem. Utilizzare OCI Cloud Shell nativa per eseguire tutti questi comandi e fornire una password sicura per la chiave privata. Questa password sarà necessaria durante l'importazione di .pem.

    openssl pkcs12 -inkey priv.pem -in cert.pem -export -out iis.pem
    

    Il file iis.pem deve essere copiato nel server IIS. Sarà necessario importare questo valore iis.pem nell'area di memorizzazione dei certificati del computer locale sul server IIS. Ho già installato IIS e creato un sito web demo. Una volta importato il certificato, è possibile accedere al sito Web ospitato in IIS e modificare l'associazione del sito e scegliere il certificato installato. Ora siamo pronti a testare il sito web utilizzando https (http protetto).

    Immagine 13

Task 4: Testare il sito Web ospitato IIS utilizzando Http protetto (https)

Abbiamo utilizzato un sito Hello World di base per mostrare questa demo e abbiamo inserito il certificato CA radice (può essere esportato da Certificate-chain-pem) nella cartella Trusted Root Certification Authority sul negozio di certificati macchina locale sui nostri computer client utilizzati per accedere a questo sito web. Questa operazione viene eseguita perché le CA create dai certificati OCI sono CA private e quindi non sono ritenute attendibili dai browser, pertanto è necessario aggiungere la CA radice e la CA intermedia (se utilizzata) nell'area di memorizzazione radice protetta/area di memorizzazione intermedia su tutti i computer locali che tentano di accedere al sito Web.

Immagine 14

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.