Kendar.org


Go to content

IIS-OpenSSL

Development > Administration

IMPOSTAZIONE DI SERVIZIO HTTPS SU IIS CON Windows 2000 PRO

Prima di tutto bisogna premettere che il servizio di Certification Authority e’presente solo sulla versione Server di Windows 2000, e quindi tutto quanto detto a questo riguardo su MSDN, pur non essendo sbagliato, e secondo me molto impreciso.

DISCLAIMER

L’autore non si assume responsabilità per i danni diretti, indiretti, incidentali, speciali o derivati, la perdita di profitto o le interruzioni d’attività commerciale derivanti dall’uso di questo documento, o dall’impossibilità di usarlo, anche se l’autore fosse stata avvisata di detti danni. L’autore non si assume nessuna responsabilità per le imprecisioni, i ritardi o le omissioni contenute nel presente documento e non avrà obbligo alcuno di informare gli utenti qualora ritenesse opportuno aggiornare le informazioni. L’autore non si assume nessuna responsabilità per le perdite o i danni provocati dall’affidamento da voi fatto sui dati o sui servizi contenuti in questo documento.

PREPARAZIONE DI UNA RICHIESTA DI CERTIFICAZIONE

E necessario prima di tutto creare una richiesta di certificazione per il nostro server, chiamato nell’esempio “shakira”.

1) Avviamo la MMC di IIS, e sul “Default Web Site” (1), da qui andiamo sulle sue proprieta’ e quindi sulla “Directory Security” (2) cliccando poi su “Server Certificate”(3) e si aprira cosi’il wizard di gestione certificati (4)

SSL Steps

2) Selezionamo quind “Create new certificate e click su Next per continuare
3) Andiamo su “Prepare the request now, but send it later” e quindi Next
4) Inserite il nome del vostro certificato e selezionate una lunghezza in bits. Se non richiesto esplicitamente dai vostri amministratori NON selezionate il certificato SGC, quindi Next
5) Inserite il nome dell’organizzazione e dell’ “organizational unit” (nome della societa’e dipartimento di sviluppo per esempio)
6) Come “Common Name” inserite il Fully qualified name (FQDN) del vostro server, se sara’usato in una rete con solo workgroup e il server non sara’visibile da internet bastera’inserire semplicemente il nome della macchina su cui sara’installato il certificato
7) Inserite i dati della vostra zona geografica
8) Inserite il percorso del file di richiesta da creare, e prendete nota della posizione perche servira’in seguito
9) Concludete il wizard (Next...) e chiudete pure la MMC di IIS

INSTALLAZIONE DI OPENSSL

1) Scaricate una versione windows di OpenSSL, come per esempio da http://www.slproweb.com
2) Installate sul vostro server, useremo per esempio la locazione C:\OpenSSL.
3) Per comodita’aggiungeremo nelle variabili di sistema il path “C:\OpenSSL\bin” (ci salvera’tempo in seguito)
4) Createvi una directory di lavoro, per esempio “C:\ssl”
5) Copiate nella directory di lavoro questo file openssl.conf, qualunque cosa ci sia scritto...funziona!!
6) Create le directory “C:\ssl\keys”, “C:\ssl\requests”, “C:\ssl\certs”
7) Da prompt msdos, andate in “C:\ssl” e, per creare il file vuoto digitate (con “Invio” dopo ogni comando)

copy con database.txt
^Z

8) Da prompt msdos, andate in “C:\ssl” e, per creare un file con “01” sulla prima riga ed una nuova riga digitate (con “Invio” dopo ogni comando)

copy con serial.txt
01
^Z

10) E il file sara’creato


IMPOSTARE UNA CERTIFICATE AUTORITHY (CA)

1) Creiamo una chiave privata 1024 bit da usare come base, che sara’il file “c:\ssl\keys\ca.key”, andando in “C:\ssl” digitiamo da msdos

openssl genrsa -des3 -out keys/ca.key 1024

La risposta sara:

Loading 'screen' into random state - done
warning, not much extra random data, consider using the -rand option
Generating RSA private key, 1024 bit long modulus
...........++++++
..................++++++
e is 65537 (0x10001)
Enter PEM pass phrase: - SCEGLIETE UNA PASSWORD SEMPLICE DA RICORDARE
Verifying password - Enter PEM pass phrase: - RIDIGITATE LA PASSWORD

2) Qunidi da questa chiave creeremo un master certificate, da usare per firmare i certificati creati digitamo da “C:\ssl”

openssl req -config openssl.conf -new -x509 -days 1001 -key keys/ca.key -out certs/ca.cer

La risposta sara’:

Using configuration from openssl.conf
Enter PEM pass phrase: - DIGITATE LA PASSWORD DI CUI SOPRA
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []: - LA VOSTRA NAZIONE (2 LETTERE)
State or Province Name (full name) []: - PROVINCIA
Locality Name (eg, city) []: - STATO
Organization Name (eg, company) []: - LA VOSTRA SOCIETA’
Organizational Unit Name (eg, section) []: - IL DIPARTIMENTO
Common Name (eg, your websites domain name) []: - IL NOME DEL SITO
Email Address []: - IL VOSTRO INDIRIZZO E-MAIL

FIRMARE LA RICHIESTA DI CERTIFICATO

1) Ora dovrete andare a spostare il file creato all’inizio di tutto (che se avete lasciato col nome originale sara’ “certreq.txt” ) dentro “C:\ssl\request”
2) Da msdos, in “C:\ssl” digitate il seguente comando (rispondendo sempre “y” a tutte le domande che vengono fatte)

openssl ca -policy policy_anything -config openssl.conf -cert certs/ca.cer -in requests/certreq.txt -keyfile keys/ca.key -days 360 -out certs/iis.cer

La risposta sara’:

Using configuration from openssl.conf
Loading 'screen' into random state - done
Enter PEM pass phrase:
Check that the request matches the signature
Signature ok
The Subjects Distinguished Name is as follows
commonName :PRINTABLE:'myCommonName'
organizationalUnitName:PRINTABLE:'myOrganisationalUnit'
organizationName :PRINTABLE:'myOrganisation'
localityName :PRINTABLE:'myLocality'
stateOrProvinceName :PRINTABLE:'myProvince'
countryName :PRINTABLE:'GB'
Certificate is to be certified until Feb 2 01:13:14 2004 GMT (360 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

3) A questo punto esporteremo il certificato per IIS in formato x509 con il comando

openssl x509 -in certs/iis.cer -out certs/iisx509.cer

4) Verra’creato il file “c:\ssl\certs\iisx509.cer” firmato dalla nostra certification authority fatta in casa, che useremo per abilitare HTTPS sul nostro IIS

ABILITARE IIS PER LA GESTIONE HTTPS

1) Sulla MMC di IIS, sul “Default WebSite” aprendo le proprieta’e andando in “Directory Security” (come all’inizio di queste indicazioni) clicchiamo su “Server Certificate”
2) Ripartira’il Web Site Certificate Wizard, click Next
3) Selezioniamo “Process the pending Request and Install the Certificate”, click Next
4) Inserite il percorso del file creato poco fa (per esempio “c:\ssl\certs\iisx509.cer”)
5) Verificate il sommario per controllare la correttezza dei dati
6) Confermate, e chiudete il tutto.
7) Ora potrete collegarvi utilizzando https:// al posto di http://

IMPOSTARE HTTPS CON COMUNICAZIONI SICURE SU UNA DIRECTORY

1) Sulla MMC di IIS, sulla directory che ci interessa “bloccare”, aprendo le proprieta’e andando in “Directory Security” (come all’inizio di queste indicazioni) clicchiamo su “Edit”, questo nella zona “Secure Communications”.
2) Clicchiamo poi su “Require secure channel (SSL)”

IIS Setup Step2

3) Chiudiamo tutto con OK
4) E..finalmente a quella directory accederemo solo con HTTPS!!!!!!!

Informazioni tratte da
http://support.microsoft.com
http://www.dylanbeattie.net
http://www.slproweb.com

L’autore non si assume responsabilità per i danni diretti, indiretti, incidentali, speciali o derivati, la perdita di profitto o le interruzioni d’attività commerciale derivanti dall’uso di questo documento, o dall’impossibilità di usarlo, anche se l’autore fosse stata avvisata di detti danni. L’autore non si assume nessuna responsabilità per le imprecisioni, i ritardi o le omissioni contenute nel presente documento e non avrà obbligo alcuno di informare gli utenti qualora ritenesse opportuno aggiornare le informazioni. L’autore non si assume nessuna responsabilità per le perdite o i danni provocati dall’affidamento da voi fatto sui dati o sui servizi contenuti in questo documento.


Copyright E.D.R. 2005-2008 | info@kendar.org

Back to content | Back to main menu