Two Way SSL Authentication

3 posts / 0 new
Dernière contribution
batist3
Bonjour,

Bonjour,

 

Après avoir travaillé sur ce projet, j'ai enfin réussit à faie fonctionner ce système.

Voici comment : Installer CentOS 7 pusi lancer :

 

yum update -y
reboot

 

Installation de php55
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php55w php55w-opcache
php -v
systemctl enable httpd
systemctl start httpd
firewall-cmd --zone=public --permanent --add-port=80/tcp

firewall-cmd --zone=public --permanent --add-port=443/tcp
firewall-cmd --reload

yum install -y mariadb-server
systemctl enable mariadb
systemctl start mariadb
mysql_secure_installation
yum install -y php55w php55w-mysql php55w-common php55w-mcrypt php55w-gd mod_ssl openssl
yum update

 

A ce stade, la partie installation est terminée ; Génération des certificats

 

cd /root
mkdir certificates
cd certificates/
openssl genrsa -des3 -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem

Pour le rootCA, dans le champ commonname, inscrivez ce que vous voulez exemple CentOS

Pour les certificats server & client, dans commmonname, inscriver l'url du site internet exemple xyz.com
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 3650 -sha256

openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr
openssl x509 -req -in client.csr -CA rootCA.pem -CAkey rootCA.key -CAserial rootCA.srl -out client.crt -days 3650 -sha256
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12

cp server.crt /etc/httpd/conf/server.crt
cp server.key /etc/httpd/conf/server.key
cp server.crt /etc/ssl/certs/server.crt
cp server.key /etc/ssl/private/server.key
cp rootCA.pem /etc/pki/tls/certs/rootCA.pem

 

 

Modification du fichier ssl.conf :

 

Dans le fichier /etc/httpd/conf.d/SSL.conf, au niveau du virtualhost
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
SSLCACertificateFile /etc/pki/tls/certs/rootCA.pem
SSLVerifyClient require
SSLVerifyDepth  10

Dans le fichier /etc/httpd/conf.modules.d/00-ssl.conf
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

 

Pour finir, redémarrer le service httpd en lançant la commande :

service httpd restart

 

Sur le poste client, recopier le fichier client.p12 sur le bureau et intégrer le avec le mot de passe fournis lors de la génération dans les certificats personnel.

Petite astuce, sous firefox, cocher la case En sélectionner un automatiquement, ceci évitera la demande de certificat à chaque connexion.

Pour Chrome sous windows, il faut intégrer le certificat avec IE.

 

En espérant que cela soit utile Smile

 

Batist3

 

MasterSleepy
Hello Batist3,

Hello Batist3,

Merci beaucoup pour cette explication.
Clapping

A+,
MasterSleepy

 
Connectez-vous ou inscrivez-vous pour publier un commentaire