Jeedom letsencrypt : Différence entre versions

De SLM - MediaWiki
 
(15 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
==Récupérer les certificat géré par opnsense==
+
[[Domotique|Retour]]
 +
==Générer des certificats valide à l'aide de let's encrypt==
 +
Les certificat ssl Lets encrypt seront généré et géré par OPNSense [[OPNSense_os-acme-client|à cette étape]]
  
Créer un clé public sur jeedom, la copié dans l'user jeedom opnsense: Clés autorisées
+
==Récupérer les certificat Let's encrypt généré par opnsense==
 +
===Principe:===
 +
L'idée est de pouvoir se connecter sur le site jeedom.slemoal.fr en restant local et en bénéficiant du certificat ssl Lets encrypt généré et géré par OPNSense [[OPNSense_os-acme-client|à cette étape]]
  
Nous allons créer un compte avec un certificat, afin de permettre au serveur Jeedom de se connecter à opnsense en ssh afin de récupérer le certificat let'encrypte créer à cette [[OPNSense_os-acme-client|étape]]
+
===Redirection DNS===
 +
Se connecter sur OPNSense
  
===Créer un compte sur OPNSense===
+
''Services: Unbound DNS: Contournements''
Si ça n'est pas deja fait, créer un certificat d'autorités interne
+
 
 +
[[Fichier:opnsense_contournement_dns.png]]
 +
 
 +
{{Rouge|ATTENTION}} Sur votre ordinateur le serveur DNS doit être opnsense
 +
 
 +
===Créer une clé public sur Jeedom===
 +
Nous allons créer un compte avec un certificat, afin de permettre au serveur Centreon de se connecter à opnsense en ssh sans mot de passe
 +
 
 +
si ça n'est pas dejà fait, nous allons créer une clé pour l'utilisateur root
 +
ssh-keygen -t rsa -b 2048 -C root
 +
 
 +
ne renseigner pas de passphrase
  
''Système: Gestion des Certificats: Autorités''
+
Copier le contenue de la clé public
 +
cat /root/.ssh/id_rsa.pub
  
[[Fichier:opnsense_internal-ca.png]]
 
  
 +
===Créer un compte sur OPNSense===
  
 
''Système: Accès: Utilisateurs''
 
''Système: Accès: Utilisateurs''
Ligne 19 : Ligne 36 :
 
*Cocher: Générer un mot de passe aléatoire
 
*Cocher: Générer un mot de passe aléatoire
 
*Shell de connexion: /bin/sh
 
*Shell de connexion: /bin/sh
*Cocher: Certificat
+
*Membre du groupe: admins
 +
*Clés autorisées: coller la clé public créer precedement (Exemple: ssh-rsa AAAAB3NzaC1yc... ...XOQKm/x root)
  
 
Sauvegarder
 
Sauvegarder
  
''Système: Gestion des Certificats: Certificats''
+
===Tester la connection en ssh depuis le serveur jeedom===
[[Fichier:opnsense_jeedom-internal-ca.png]]
 
 
 
Sauvegarder
 
 
 
Sauvegarder et sortir
 
 
 
''Système: Gestion des Certificats: Certificats''
 
 
 
Trouver l’utilisateur précédemment créer, et exporter le certificat et la clé.
 
 
 
Se connecter via winscp au serveur jeedom et ajouter la clé et le certificat dans le repertoire
 
/root/.ssh/
 
 
 
Tester la conncetion en ssh depuis le serveur jeedom
 
 
  ssh jeedom@10.10.10.1 -p 8022
 
  ssh jeedom@10.10.10.1 -p 8022
  
  ECDSA key fingerprint is SHA256:SoX8QCmqUs3U84Kic9qnThT20nue6KK6uTWB6CRPJMI.
+
  ECDSA key fingerprint is SHA256:SoX8QCm... ...6CRPJMI.
 
  Are you sure you want to continue connecting (yes/no)? yes
 
  Are you sure you want to continue connecting (yes/no)? yes
  
 
Si il ne demande pas de mot de passe, c'est gagné.
 
Si il ne demande pas de mot de passe, c'est gagné.
  
===Créer un cron sur le serveur jeedom===
+
===Modifier le fichier de conf apache===
  
 +
Modifier l'emplacement des certificat et clé dans le fichier apache
 +
cat /etc/apache2/sites-enabled/000-default-le-ssl.conf
  
rep opnsense
+
Dans notre cas le fichier sera:
/var/etc/acme-client/home/centreon.slemoal.fr/centreon.slemoal.fr.cer
+
<nowiki><IfModule mod_ssl.c>
/var/etc/acme-client/home/centreon.slemoal.fr/centreon.slemoal.fr.key
+
<VirtualHost *:443>
 +
        ServerAdmin webmaster@localhost
 +
        DocumentRoot /var/www/html
 +
        ErrorLog /var/www/html/log/http.error
  
centreon
 
nano /opt/rh/httpd24/root/etc/httpd/conf.d/10-centreon.conf
 
  
 +
ServerName jeedom.slemoal.fr
 +
  SSLCertificateFile /etc/ssl/certs/jeedom.slemoal.fr.cer
 +
  SSLCertificateKeyFile /etc/ssl/private/jeedom.slemoal.fr.key
 +
</VirtualHost>
 +
</IfModule></nowiki>
  
<VirtualHost *:443>
+
===Créer un cron sur le serveur jeedom===
  SSLEngine on
 
#  SSLCertificateFile /etc/pki/tls/certs/ca.crt
 
#  SSLCertificateKeyFile /etc/pki/tls/private/ca.key
 
  SSLCertificateFile /etc/pki/tls/certs/centreon.slemoal.fr.cer
 
  SSLCertificateKeyFile /etc/pki/tls/private/centreon.slemoal.fr.key
 
  
/etc/pki/tls/certs/centreon.slemoal.fr.cer
+
crontab -e
/etc/pki/tls/private/centreon.slemoal.fr.key
 
  
systemctl restart httpd24-httpd.service
+
<nowiki>0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.cer /etc/ssl/certs/
 +
0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.key /etc/ssl/private/
 +
0 5 * * 1 service apache2 restart</nowiki>
  
  
[[Catégorie:Centreon]]
+
[[Catégorie:Jeedom]]

Version actuelle datée du 8 avril 2020 à 19:32

Retour

Générer des certificats valide à l'aide de let's encrypt

Les certificat ssl Lets encrypt seront généré et géré par OPNSense à cette étape

Récupérer les certificat Let's encrypt généré par opnsense

Principe:

L'idée est de pouvoir se connecter sur le site jeedom.slemoal.fr en restant local et en bénéficiant du certificat ssl Lets encrypt généré et géré par OPNSense à cette étape

Redirection DNS

Se connecter sur OPNSense

Services: Unbound DNS: Contournements

Opnsense contournement dns.png

ATTENTION Sur votre ordinateur le serveur DNS doit être opnsense

Créer une clé public sur Jeedom

Nous allons créer un compte avec un certificat, afin de permettre au serveur Centreon de se connecter à opnsense en ssh sans mot de passe

si ça n'est pas dejà fait, nous allons créer une clé pour l'utilisateur root

ssh-keygen -t rsa -b 2048 -C root

ne renseigner pas de passphrase

Copier le contenue de la clé public

cat /root/.ssh/id_rsa.pub


Créer un compte sur OPNSense

Système: Accès: Utilisateurs

Renseigner:

  • Nom d'utilisateur: jeedom
  • Cocher: Générer un mot de passe aléatoire
  • Shell de connexion: /bin/sh
  • Membre du groupe: admins
  • Clés autorisées: coller la clé public créer precedement (Exemple: ssh-rsa AAAAB3NzaC1yc... ...XOQKm/x root)

Sauvegarder

Tester la connection en ssh depuis le serveur jeedom

ssh jeedom@10.10.10.1 -p 8022
ECDSA key fingerprint is SHA256:SoX8QCm... ...6CRPJMI.
Are you sure you want to continue connecting (yes/no)? yes

Si il ne demande pas de mot de passe, c'est gagné.

Modifier le fichier de conf apache

Modifier l'emplacement des certificat et clé dans le fichier apache

cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

Dans notre cas le fichier sera:

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog /var/www/html/log/http.error


ServerName jeedom.slemoal.fr
  SSLCertificateFile /etc/ssl/certs/jeedom.slemoal.fr.cer
  SSLCertificateKeyFile /etc/ssl/private/jeedom.slemoal.fr.key
</VirtualHost>
</IfModule>

Créer un cron sur le serveur jeedom

crontab -e
0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.cer /etc/ssl/certs/
0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.key /etc/ssl/private/
0 5 * * 1 service apache2 restart