Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 84b5d5bbf8 |
67
Readme.md
67
Readme.md
@@ -1,10 +1,5 @@
|
|||||||
# SSL
|
# SSL
|
||||||
|
|
||||||
## Référence
|
|
||||||
|
|
||||||
📖 Support Ch 7 (p97)
|
|
||||||
|
|
||||||
|
|
||||||
## Démonstration préalable:
|
## Démonstration préalable:
|
||||||
|
|
||||||
lancer un wireshark sur le poste client, avec comme filtre _port 389_
|
lancer un wireshark sur le poste client, avec comme filtre _port 389_
|
||||||
@@ -12,6 +7,7 @@ lancer un wireshark sur le poste client, avec comme filtre _port 389_
|
|||||||
faire une requète ldap authentifiée. Constater la présence du mot de passe et DN de connexion en clair
|
faire une requète ldap authentifiée. Constater la présence du mot de passe et DN de connexion en clair
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Création du certificat
|
## Création du certificat
|
||||||
|
|
||||||
### Certificat autosigné
|
### Certificat autosigné
|
||||||
@@ -23,45 +19,74 @@ Suivre la procédure slide 97.
|
|||||||
### Certificat letsencrypt
|
### Certificat letsencrypt
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo systemctl stop httpd
|
systemctl stop httpd
|
||||||
sudo dnf install certbot -y
|
dnf install certbot -y
|
||||||
sudo certbot certonly --standalone -d CHANGEME.formation.opendoor.fr -m formation@opendoor.fr --agree-tos --test-cert
|
certbot certonly --standalone -d CHANGEME.formation.opendoor.fr -m formation@opendoor.fr --agree-tos --test-cert
|
||||||
# répondre N à la question
|
# répondre N à la question
|
||||||
sudo systemctl start httpd
|
systemctl start httpd
|
||||||
```
|
```
|
||||||
⚠️ Attention, pour que le certificat (de test) soit reconnu, il faudra que le client télécharge la clé publique de la CA:
|
⚠️ Attention, pour que le certificat (de test) soit reconnu, il faudra que le client télécharge la clé publique de la CA:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl https://letsencrypt.org/certs/staging/letsencrypt-stg-root-x1.pem -L | sudo tee -a /etc/openldap/certs/ca.pem
|
curl https://letsencrypt.org/certs/staging/letsencrypt-stg-root-x1.pem -L >> /etc/openldap/certs/ca.pem
|
||||||
echo TLS_CACERT /etc/openldap/certs/ca.pem | sudo tee -a /etc/openldap/ldap.conf
|
echo TLS_CACERT /etc/openldap/certs/ca.pem >> /etc/openldap/ldap.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
Attention également aux permissions. L'utilisateur _ldap_ doit pouvoir lire les différents fichiers:
|
Attention également aux permissions. L'utilisateur _ldap_ doit pouvoir lire les différents fichiers:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo chgrp -R ldap /etc/letsencrypt/{archive,live}
|
chgrp -R ldap chgrp ldap /etc/letsencrypt/{archive,live}
|
||||||
sudo chmod -R g+rX /etc/letsencrypt/{archive,live}
|
chmod -R g+rX /etc/letsencrypt/{archive,live}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configurer le serveur
|
## Configurer le serveur
|
||||||
|
|
||||||
La configuration est globale au serveur (1 certificat par serveur). Elle se fait donc au niveau de la branche _cn=config_
|
```ldif
|
||||||
|
dn: cn=config
|
||||||
|
changetype: modify
|
||||||
|
replace: olcTLSCipherSuite
|
||||||
|
olcTLSCipherSuite: ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!EDH:!EXP:!SSLV2:!eNULL
|
||||||
|
-
|
||||||
|
replace: olcTLSProtocolMin
|
||||||
|
olcTLSProtocolMin: 3.4
|
||||||
|
-
|
||||||
|
replace: olcTLSCACertificateFile
|
||||||
|
olcTLSCACertificateFile: /etc/openldap/certs/ca.pem
|
||||||
|
#LETsEncrypt: olcTLSCACertificateFile: /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/fullchain.pem
|
||||||
|
-
|
||||||
|
replace: olcTLSCertificateFile
|
||||||
|
olcTLSCertificateFile: /etc/openldap/certs/cert.pem
|
||||||
|
#LETsEncrypt: olcTLSCertificateFile: /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/fullchain.pem
|
||||||
|
-
|
||||||
|
replace: olcTLSCertificateKeyFile
|
||||||
|
olcTLSCertificateKeyFile: /etc/openldap/certs/key.pem
|
||||||
|
#LETsEncrypt: olcTLSCertificateKeyFile: /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/privkey.pem
|
||||||
|
```
|
||||||
|
|
||||||
Mettez au point le fichier ldif permettant de remplacer les attributs suivants par la bonne valeur (qui dépend de la méthode utilisée pour créer les certificats)
|
Le cas échéant on ouvrira le parefeu:
|
||||||
|
|
||||||
- olcTLSCipherSuite : ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!EDH:!EXP:!SSLV2:!eNULL | idem |
|
```bash
|
||||||
- olcTLSProtocolMin : 3.4 | idem |
|
firewall-cmd --add-service ldaps--permanent
|
||||||
- olcTLSCACertificateFile : /etc/openldap/certs/ca.pem | /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/fullchain.pem
|
firewall-cmd --add-service ldaps
|
||||||
- olcTLSCertificateFile : /etc/openldap/certs/cert.pem | /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/fullchain.pem
|
```
|
||||||
- olcTLSCertificateKeyFile : /etc/openldap/certs/key.pem | /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/privkey.pem
|
|
||||||
|
|
||||||
## Configurer le client
|
## Configurer le client
|
||||||
|
|
||||||
Dans le fichier /etc/openldap/ldap.conf modifier l'_URI_, _TLS_REQCERT_ et _TLS_CACERT_ afin de forcer l'utilisation de ssl, avec vérification du certificat
|
dans le fichier /etc/openldap/ldap.conf modifier l'_URI_, _TLS_REQCERT_ et _TLS_CACERT_
|
||||||
|
|
||||||
|
```bash
|
||||||
|
URI ldaps://CHANGEME.formation.opendoor.fr
|
||||||
|
TLS_REQCERT demand
|
||||||
|
TLC_CACERT /etc/openldap/certs/ca.pem
|
||||||
|
```
|
||||||
|
|
||||||
## Test
|
## Test
|
||||||
|
|
||||||
On doit pouvoir se connecter de manière sécurisé au serveur
|
On doit pouvoir se connecter de manière sécurisé au serveur
|
||||||
|
|
||||||
|
```bash
|
||||||
|
lds -Z
|
||||||
|
```
|
||||||
|
|
||||||
Wireshark ne doit voir passer que des paquets TLS 1.3 application_data
|
Wireshark ne doit voir passer que des paquets TLS 1.3 application_data
|
||||||
|
|
||||||
|
|||||||
15
ssl.ldif
Normal file
15
ssl.ldif
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Mise en œuvre SSL
|
||||||
|
dn: cn=config
|
||||||
|
changetype: modify
|
||||||
|
replace: olcTLSCertificateFile
|
||||||
|
olcTLSCertificateFile: CHANGEME
|
||||||
|
-
|
||||||
|
replace: olcTLSCertificateKeyfile
|
||||||
|
olcTLSCertificateKeyfile: CHANGEME
|
||||||
|
-
|
||||||
|
replace: olctlsverifyclient
|
||||||
|
olctlsverifyclient: never
|
||||||
|
-
|
||||||
|
replace: olctlscacertificatefile
|
||||||
|
olctlscacertificatefile: CHANGEME
|
||||||
|
|
||||||
16
ssl_le.ldif
Normal file
16
ssl_le.ldif
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
dn: cn=config
|
||||||
|
changetype: modify
|
||||||
|
replace: olcTLSCipherSuite
|
||||||
|
olcTLSCipherSuite: ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!EDH:!EXP:!SSLV2:!eNULL
|
||||||
|
-
|
||||||
|
replace: olcTLSProtocolMin
|
||||||
|
olcTLSProtocolMin: 3.4
|
||||||
|
-
|
||||||
|
replace: olcTLSCACertificateFile
|
||||||
|
olcTLSCACertificateFile: /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/fullchain.pem
|
||||||
|
-
|
||||||
|
replace: olcTLSCertificateFile
|
||||||
|
olcTLSCertificateFile: /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/fullchain.pem
|
||||||
|
-
|
||||||
|
replace: olcTLSCertificateKeyFile
|
||||||
|
olcTLSCertificateKeyFile: /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/privkey.pem
|
||||||
Reference in New Issue
Block a user