W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
Come ottenere un certificato per IIS 5.0
per Windows 2000 e IIS 5.0 dalla CA INFN
Paolo Pierini, INFN Sezione di Milano ([email protected])
Il meccanismo di generazione di richieste di certificati utilizzato dal wizard di Windows 2000 non
genera richieste di certificato conformi alla policy della Certification Authority (CA) INFN. In
particolare, non sembra possibile specificare il campo “Server Manager’s Email Address”, richiesto
dalla policy.
Poichè la CA INFN gestisce i certificati tramite OpenSSL e ne fornisce il file di configurazione, è
possibile compilare gli eseguibili di OpenSSL sotto win2k per generare una richiesta di certificato
conforme alla policy della CA.
Sul sito http://www.openssl.org sono disponibili i sorgenti e i link a tutte le istruzioni necessarie per
compilare openssl sotto windows (workspace per Microsoft Visual C++ compresi).
Una volta compilati gli eseguibili la procedura di generazione della richiesta è sostanzialmente analoga
a quella per macchine Unix.
NOTA: Questo testo non si vuole sostituire in alcun modo alle informazioni contenute nella policy
della CA INFN, accessibile da http://security.fi.infn.it/CA/CPS/, rappresenta solo un
ricettario, basato sulla mia esperienza, sulle modalità di generazione e installazione dei
certificati per W2000 e IIS 5.0. Le informazioni contenute qui sono la sintesi di una ricerca
sui siti MSDN (http://msdn.microsoft.com) e OpenSSL (http://www.openssl.org).
Installazione del certificato della CA INFN
Innanzitutto occorre scaricare il certificato della CA dalle pagine della CA INFN
(https://security.fi.infn.it/CA/mgt/getCA.php) e installarlo come descritto.
Scaricando il file in formato DER in locale e facendo doppio clic da explorer viene visualizzata la
seguente schermata, da cui è possibile scegliere Install Certificate...
Paolo Pierini- INFN MI
1
W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
A questo punto parte il wizard di installazione del certificato, da cui è possibile scegliere di installare il
certificato tra le Trusted Root Certification Authorities dell’utente.
L’ultima schermata visualizza la richiesta di conferma per l’installazione del certificato, riportandone i
thumbprint per verificarne l’autenticità.
Per la corretta installazione del certificato server occorre poi che il certificato della CA venga inserito
tra le Trusted Root Certification Authorities della macchina.
A queste fine è necessario utilizzare lo snap-in “Certificates” della Microsoft Managment Console
(MMC). Quindi occorre dal menu Start di Windows,
Start->Run->MMC
Viene visualizzata la console di MMC, da cui bisogna scegliere il gestore dei certificati per il
computer:
Console->Add/Remove Snap-in...->Standalone->Add…
->Certificates->Add->Computer Account->Finish
Ripetere la procedura per installare il gestore dei certificati personali:
Paolo Pierini- INFN MI
2
W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
Console->Add/Remove Snap-in...->Standalone->Add…
->Certificates->Add->My User Account->Finish
La seguente figura illustra la procedura:
Ora è necessario copiare il certificato della CA dalla Trusted Root Certification Authorities dell’utente
locale (dove viene installata di default facendo doppio clic dal file di certificato in forma DER scaricato
dalla CA) all’account del computer. Questa operazione è possibile mediante una semplice operazione
di drag e drop del certificato da una cartella all’altra in MMC.
Alla fine di questa procedura il certificato della CA INFN è considerato tra le CA riconosciute dal
sistema operativo, come si vede dalla figura seguente.
Paolo Pierini- INFN MI
3
W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
Compilazione di OpenSSL
Sul sito http://www.openssl.org sono disponibili tutte le informazioni necessarie per la compilazione di
OpenSSL per macchine windows tramite i compilatori Microsoft o gcc-win32. E’ necessario, se non
erro, scaricare anche un compilatore PERL per la configurazione. Io ho trovato un link alle
configurazioni di developer studio già predisposte per la compilazione delle librerie e degli eseguibili.
A chi fosse interessato posso fornire gli eseguibili e le librerie necessarie, contattatemi.
Generazione della coppia chiave privata/richiesta di certificato
Avendo scaricato il file di configurazione srv.cnf dalle pagine della CA INFN, riportato in seguito, è
possibile generare una richiesta di certificato conforme alla policy INFN.
# config file per richiesta certificati server (1/7/00)
default_days
= 365
# how long to certify for
default_md = md5
# which md to use.
preserve
= no
# keep passed DN ordering
#######################################################
[ req ]
default_bits
= 1024
default_keyfile = privkey.pem
distinguished_name
= req_distinguished_name
[ req_distinguished_name ]
countryName
= Country Name
countryName_value
= IT
localityName
= Locality Name
localityName_min
= 2
Paolo Pierini- INFN MI
4
W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
organizationName
= Organization Name
organizationName_default
= INFN
organizationalUnitName
= Server type (e.g. www server)
organizationalUnitName_default = " "
organizationalUnitName_min = 4
commonName
= Server DNS Name
commonName_default
= " "
commonName_min
= 10
commonName_max
= 64
emailAddress
= Server Manager's Email Address
emailAddress_default
= " "
emailAddress_min
= 10
emailAddress_max
= 60
Per generare la chiave privata è necessario inizializzare il randomizzatore (ad esempio con un file
binario o di testo dal contenuto pressoché casuale), per creare il file di richiesta:
openssl genrsa -out privkey.pem -passout pass:xxx -des3 -rand file 1024
openssl req -config srv.cnf -new -key privkey.pem -out richiesta.pem
In questo caso xxx rappresenta una password con cui eseguire l’encoding della chiave nel file
privkey.pem, file è il file da utilizzare per il randomizzatore e richiesta.pem è il file da inviare alla CA.
La CA INFN a questo punto, e secondo le modalità descritte nella Policy e CPS, restituisce un file
PEM che rappresenta la chiave pubblica associata alla chiave privata contenuta in privkey.pem.
Creazione del certificato PKCS/12 per Windows 2000
Non è possibile importare il certificato PEM inviato dalla CA direttamente in Windows, in quanto è
necessario associargli la chiave privata. E’ necessario quindi convertire il certificato (in formato PEM)
e la chiave privata (in formato PEM) in un formato gestibile dal gestore dei certificati Microsoft, il
formato PKCS/12. OpenSSL contiene un tool per la conversione con il quale è semplice eseguire la
conversione:
openssl pkcs12 -export -in received.pem -inkey privkey.pem -out mycert.pfx
Dove received.pem indica il file contenente il certificato inviato dalla CA sulla base della richiesta.
L’esecuzione di questo comando richiede:
1
la password con cui è stato protetto il file privkey.pem
2
di scegliere una password per il certificato PKCS12.
A questo punto dallo snap-in dei certificati di MMC è possibile installare il certificato, importandolo
nella cartella Personal del Computer Account (vedi sotto).
Paolo Pierini- INFN MI
5
W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
Il sistema richiede di selezionare il file pfx (PKCS/12) da inserire.
Al momento dell’importazione viene richiesta la password per accedere al certificato (che è stata
specificata nell’ultimo comando OpenSSL). E’ anche possibile selezionare se si desidera rendere
esportabile la chiave privata del certificato.
A questo punto è possibile verificare la correttezza della procedura facendo doppio clic sul certificato
ricevuto dallo snap-in dei certificati di MMC.
Paolo Pierini- INFN MI
6
W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
Se la procedura è stata eseguita correttamente, Windows2000 riconosce che il sistema possiede la
chiave privata associata al certificato e visualizza correttamente il percorso di certificazione, a partire
dal certificato della CA INFN, come mostrato nelle due figure successive:
Il certificato è quindi installato correttamente, ed ora è possibile copiare i file pem e pfx su cdrom e
cancellarli dalla macchina.
Paolo Pierini- INFN MI
7
W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
Utilizzo del certificato in IIS 5.0
Visto che il certificato è ora riconosciuto tra i certificati personali del sistema, è possibile usarlo nella
configurazione SSL dei siti gestiti da Internet Information Server 5.0.
Per usare il certificato in un sito di IIS occorre aprire lo snap-in Internet Services Manager di MMC:
Start->Settings->Control Panel->Administrative Tools->
Internet Services Manager
Da qui, dopo avere selezionato il sito da gestire, fare clic sul pulsante destro, scegliere Properties e
selezionare il tab Directory Security dalla pagina di proprietà. Fare infine clic sul pulsante Server
Certificate... e selezionare l’opzione Assign an existing certificate prima di premere il pulsante Next>.
Se il certificato è stato installato correttamente il sistema presenta una finestra di dialogo contenente i
certificati disponibili. Selezionare il certificato rilasciato dalla CA.
Dopo avere associato il certificato al sito web, selezionare dalla stessa pagina di proprietà il pulsante
Edit... per selezionare le impostazioni di sicurezza (vedi figura successiva), in particolare:
Require secure channel (SSL)
In questo modo il sito è accessibile solamente tramite connessioni https sicure.
Require 128 bit encryption
Se questo viene selezionato non sarà possibile connettersi con vecchi client che supportano
encryption a 40 bit.
Paolo Pierini- INFN MI
8
W2K/IIS5.0 e la CA INFN
BOZZA
9 ottobre 2001
Infine, è necessario verificare che sulla pagina Web Site sia presente la porta SSL standard (443), o
altra porta su cui si voglia ottenere la connessione sicura. Nel caso la porta non sia presente o si
vogliano installare più porte SSL o TCP è possibile utilizzare il pulsante Advanced... per la
configurazione.
Una nota di precauzione nel caso sia necessario gestire più siti su una unica macchina con un unico
indirizzo IP: è consigliabile consultare la knowledge base Microsoft Q284984, per non incorrere nel
problema “Event ID 115: The service could not bind instance x.” (consultare
http://support.microsoft.com/support/kb/articles/Q284/9/84.asp).
Paolo Pierini- INFN MI
9
Scarica

Come ottenere un certificato per IIS 5.0 per Windows 2000 e IIS 5.0