http://achraf.sfaxi.perso.sfr.fr
1
How to : Sécuriser un site avec SSL
Le but de ce document est d'implémenter mod_ssl de façon à sécuriser la connexion à un site web.
Séquence 1
1. Verifier que les packages httpd-20.0.40 openssl-0.9.6b-29 sont installés.
rpm -qa | grep openssl
Dans le cas contraire, commencer par les installer
2. Créez un repertoire « ./certs » où vous placerez les clefs et le certificats à générer
mkdir certs
cd certs
3. Générez une clef privée
openssl genrsa -des3 1024 > stationXX.example.com.key
Generating RSA private key, 1024 bit long modulus
....++++++
...................++++++
e is 65537 (0x10001)
Enter PEM pass phrase: redhat
Verifying password - Enter PEM pass phrase: redhat
N.B: Consultez le help de à la commande openssl pour comprendre les paramètres choisis çi dessus et pour
découvrir d'autres alternatives. Demandez de l'aide à l'instituteur en cas de besoin.
4. Générez une clef de session à partir de la clef privée déjà générée
openssl req -new -key stationXX.example.com.key -out stationXX.example.com.csr
Using configuration from /usr/share/ssl/openssl.cnf
Enter PEM pass phrase:redhat
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) [GB]:TNState or Province Name (full name) [Berkshire]:'.'
Locality Name (eg, city) [Newbury]:Tunis
Organization Name (eg, company) [My Company Ltd]:Opennet
Organizational Unit Name (eg, section) []:Training
Common Name (eg, your name or your server's hostname) []:stationXX.example.com
Email Address []:achraf@linux.com.tn
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:redhat
An optional company name []:Opennet
5. Générez un certificat x509
http://achraf.sfaxi.perso.sfr.fr
2
openssl req -new -key station1.example.com.key -x509 -days 365 -out
station1.example.com.crt
Using configuration from /usr/share/ssl/openssl.cnf
Enter PEM pass phrase:redhat
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) [GB]:TN
State or Province Name (full name) [Berkshire]:'.'
Locality Name (eg, city) [Newbury]:Tunis
Organization Name (eg, company) [My Company Ltd]:Opennet
Organizational Unit Name (eg, section) []:Training
Common Name (eg, your name or your server's hostname) []:stationXX.example.com
Email Address []:achraf@linux.com.tn
6. Recopiez les fichier obtenus vers les repertoires qui leurs sont réservés sous /etc/httpd/conf/
cp stationXX.example.com.key /etc/httpd/conf/ssl.key
cp stationXX.example.com.csr /etc/httpd/conf/ssl.csr
cp stationXX.example.com.crt /etc/httpd/conf/ssl.crt
7. Apporter les modifications suivantes dans le fichier /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/conf/ssl.crt/station1.example.com.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/station1.example.com.key
SSLCACertificateFile /etc/httpd/conf/ssl.crt/station1.example.com.crt
8. Redémarez le service httpd
service httpd restart
Arrêt de httpd : [ OK ]
Démarrage de httpd : Apache/2.0.40 mod_ssl/2.0.40 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide us with the pass phrases.
Server new.host.name:443 (RSA)
Enter pass phrase:redhat
Ok: Pass Phrase Dialog successful.
[ OK ]
9. Lancez Mozilla
mozilla http://localhost
Si tout passe bien vous devriez voir le cadenas se fermer et la page apache par défaut s'afficher.
10. Dans le champs réservé à la saisie des url changer http en https de façon à avoir
https://localhost, valider par OK ou Continu les boîtes de dialogue qui s'afficheraient et
surveillez le cadenas situé au coin bas-gauche de la fenêtre.
http://achraf.sfaxi.perso.sfr.fr
3
Si tout passe bien vous devriez voir le cadenas se fermer et la page apache par défaut s'afficher.
Séquence 2
1. Créez un répertoire nommé secure.connection sous le répertoire /var/www/html
2. Créez une page web « index.html » qui affiche le message
Hello World ...
This connection is securized by SSL
Enregitrer la page sous /var/www/html/secure.connection
3. Apportez les modifications que vous jugez nécessaires au sein du fichier
/etc/httpd/conf.d/ssl.conf afin que votre navigateur puisse afficher la page web que vous venez de
créer à la question 2. (il s'agit de la partie <VirtualHost>.......</VirtualHost >)
NB.: ServerName station1.example.com
4. Redémarer httpd et tester l'urlhttps://station1.example.com
5. Créez un répertoire nommé non.secure.connection sous le répertoire /var/www/html
6. Créez une page web « index.html » qui affiche le message
Warning : This connection is not securized !
Enregitrer la page sous /var/www/html/non.secure.connection
1. Apportez les modifications que vous jugez nécessaires au sein du fichier
/etc/httpd/conf/httpd.conf afin que votre navigateur puisse afficher la page web que vous venez
de créer à la question 6. (il s'agit de la partie <VirtualHost>.......</VirtualHost >)
NB : ServerName station1.example.com
2. Redémarer httpd et tester l'url http://station1.example.com
3. Essayez de switcher entre les deux pages. En cas déchec, indiquer le port d'écoute
(conformément à la syntaxe Appache 2.0).

Ssl et certification electronique - (construction de certification)

  • 1.
    http://achraf.sfaxi.perso.sfr.fr 1 How to :Sécuriser un site avec SSL Le but de ce document est d'implémenter mod_ssl de façon à sécuriser la connexion à un site web. Séquence 1 1. Verifier que les packages httpd-20.0.40 openssl-0.9.6b-29 sont installés. rpm -qa | grep openssl Dans le cas contraire, commencer par les installer 2. Créez un repertoire « ./certs » où vous placerez les clefs et le certificats à générer mkdir certs cd certs 3. Générez une clef privée openssl genrsa -des3 1024 > stationXX.example.com.key Generating RSA private key, 1024 bit long modulus ....++++++ ...................++++++ e is 65537 (0x10001) Enter PEM pass phrase: redhat Verifying password - Enter PEM pass phrase: redhat N.B: Consultez le help de à la commande openssl pour comprendre les paramètres choisis çi dessus et pour découvrir d'autres alternatives. Demandez de l'aide à l'instituteur en cas de besoin. 4. Générez une clef de session à partir de la clef privée déjà générée openssl req -new -key stationXX.example.com.key -out stationXX.example.com.csr Using configuration from /usr/share/ssl/openssl.cnf Enter PEM pass phrase:redhat 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) [GB]:TNState or Province Name (full name) [Berkshire]:'.' Locality Name (eg, city) [Newbury]:Tunis Organization Name (eg, company) [My Company Ltd]:Opennet Organizational Unit Name (eg, section) []:Training Common Name (eg, your name or your server's hostname) []:stationXX.example.com Email Address []:achraf@linux.com.tn Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:redhat An optional company name []:Opennet 5. Générez un certificat x509
  • 2.
    http://achraf.sfaxi.perso.sfr.fr 2 openssl req -new-key station1.example.com.key -x509 -days 365 -out station1.example.com.crt Using configuration from /usr/share/ssl/openssl.cnf Enter PEM pass phrase:redhat 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) [GB]:TN State or Province Name (full name) [Berkshire]:'.' Locality Name (eg, city) [Newbury]:Tunis Organization Name (eg, company) [My Company Ltd]:Opennet Organizational Unit Name (eg, section) []:Training Common Name (eg, your name or your server's hostname) []:stationXX.example.com Email Address []:achraf@linux.com.tn 6. Recopiez les fichier obtenus vers les repertoires qui leurs sont réservés sous /etc/httpd/conf/ cp stationXX.example.com.key /etc/httpd/conf/ssl.key cp stationXX.example.com.csr /etc/httpd/conf/ssl.csr cp stationXX.example.com.crt /etc/httpd/conf/ssl.crt 7. Apporter les modifications suivantes dans le fichier /etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/httpd/conf/ssl.crt/station1.example.com.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/station1.example.com.key SSLCACertificateFile /etc/httpd/conf/ssl.crt/station1.example.com.crt 8. Redémarez le service httpd service httpd restart Arrêt de httpd : [ OK ] Démarrage de httpd : Apache/2.0.40 mod_ssl/2.0.40 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide us with the pass phrases. Server new.host.name:443 (RSA) Enter pass phrase:redhat Ok: Pass Phrase Dialog successful. [ OK ] 9. Lancez Mozilla mozilla http://localhost Si tout passe bien vous devriez voir le cadenas se fermer et la page apache par défaut s'afficher. 10. Dans le champs réservé à la saisie des url changer http en https de façon à avoir https://localhost, valider par OK ou Continu les boîtes de dialogue qui s'afficheraient et surveillez le cadenas situé au coin bas-gauche de la fenêtre.
  • 3.
    http://achraf.sfaxi.perso.sfr.fr 3 Si tout passebien vous devriez voir le cadenas se fermer et la page apache par défaut s'afficher. Séquence 2 1. Créez un répertoire nommé secure.connection sous le répertoire /var/www/html 2. Créez une page web « index.html » qui affiche le message Hello World ... This connection is securized by SSL Enregitrer la page sous /var/www/html/secure.connection 3. Apportez les modifications que vous jugez nécessaires au sein du fichier /etc/httpd/conf.d/ssl.conf afin que votre navigateur puisse afficher la page web que vous venez de créer à la question 2. (il s'agit de la partie <VirtualHost>.......</VirtualHost >) NB.: ServerName station1.example.com 4. Redémarer httpd et tester l'urlhttps://station1.example.com 5. Créez un répertoire nommé non.secure.connection sous le répertoire /var/www/html 6. Créez une page web « index.html » qui affiche le message Warning : This connection is not securized ! Enregitrer la page sous /var/www/html/non.secure.connection 1. Apportez les modifications que vous jugez nécessaires au sein du fichier /etc/httpd/conf/httpd.conf afin que votre navigateur puisse afficher la page web que vous venez de créer à la question 6. (il s'agit de la partie <VirtualHost>.......</VirtualHost >) NB : ServerName station1.example.com 2. Redémarer httpd et tester l'url http://station1.example.com 3. Essayez de switcher entre les deux pages. En cas déchec, indiquer le port d'écoute (conformément à la syntaxe Appache 2.0).