« Sécuriser ses sites avec letsencrypt et acme-tiny » : différence entre les versions

Aller à la navigation Aller à la recherche
(9 versions intermédiaires par le même utilisateur non affichées)
Ligne 23 : Ligne 23 :
=Pré-configuration (pour la première utilisation)=
=Pré-configuration (pour la première utilisation)=
Avant de générer les certificats, commencez par créer un utilisateur dédié qui se chargera de faire tourner le script.
Avant de générer les certificats, commencez par créer un utilisateur dédié qui se chargera de faire tourner le script.
Nous partirons sur un utilisateur nommé acme, avec un home dans /home/acme.
Nous partirons sur un utilisateur nommé acme, avec un home dans /home/acme et dont les mails sont redirigés vers root :
<pre>
adduser --disabled-login --disabled-password acme
echo "acme:  root" >> /etc/aliases
postalias /etc/aliases
</pre>


Avec cet utilisateur (su - acme) :
Avec cet utilisateur (su - acme) :
Ligne 55 : Ligne 60 :
mkdir /home/acme/work/networklab.fr
mkdir /home/acme/work/networklab.fr
chmod -R 750 /home/acme/work/
chmod -R 750 /home/acme/work/
chmod -x /home/acme/work/*/*
</pre>
</pre>
Ici pour le domaine networklab.fr, à adapter dans votre cas. On créé également un répertoire dédié au domaine dans work.
Ici pour le domaine networklab.fr, à adapter dans votre cas. On créé également un répertoire dédié au domaine dans work.
Ligne 89 : Ligne 95 :
<pre>
<pre>
<Directory "/home/networklab.fr/www/challenges">
<Directory "/home/networklab.fr/www/challenges">
    DirectoryIndex disabled
    Options -Indexes -FollowSymLinks
     AllowOverride None
     AllowOverride None
     Require all granted
     Require all granted
    Order allow,deny
</Directory>
    Allow from all
  </Directory>
Alias /.well-known/acme-challenge "/home/networklab.fr/www/challenges"
Alias /.well-known/acme-challenge "/home/networklab.fr/www/challenges"
</pre>
</pre>
Ligne 114 : Ligne 120 :
#! /bin/bash
#! /bin/bash
umask 022
umask 022
python /home/acme/acme-tiny/acme_tiny.py --account-key /home/acme/secrets/core_account.key --csr /home/acme/work/networklab.fr/networklab.fr.csr --acme-dir /home/networklab.fr/www/challenges/ > /home/acme/work/networklab.fr/networklab.fr.crt
python /home/acme/acme-tiny/acme_tiny.py --account-key /home/acme/secrets/account.key --csr /home/acme/work/networklab.fr/networklab.fr.csr --acme-dir /home/networklab.fr/www/challenges/ > /home/acme/work/networklab.fr/networklab.fr.crt
umask 027
umask 027
wget -O /home/acme/work/networklab.fr/intermediate.pem.new https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem
wget -O /home/acme/work/networklab.fr/intermediate.pem.new https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem
Ligne 125 : Ligne 131 :
fi
fi


openssl x509 -in /home/acme/work/networklab.fr/intermediate.pem.new &> /dev/null
openssl x509 -in /home/acme/work/networklab.fr/intermediate.pem.new -text -noout &> /dev/null
error=$?
error=$?
if [ ! $error == 0 ] ; then
if [ ! $error == 0 ] ; then
Ligne 133 : Ligne 139 :


#only done if no error
#only done if no error
cp /home/acme/work/networklab.fr/intermediate.pem.new /home/acme/work/networklab.fr/intermediate.pem
mv /home/acme/work/networklab.fr/intermediate.pem.new /home/acme/work/networklab.fr/intermediate.pem
cp /home/acme/work/networklab.fr/networklab.fr.crt /home/acme/work/networklab.fr/networklab.fr.pem
cp /home/acme/work/networklab.fr/networklab.fr.crt /home/acme/work/networklab.fr/networklab.fr.pem
chmod o-r /home/acme/work/networklab.fr/*
</pre>
</pre>
Le changement d'umask permet d'écrire le fichier de challenges avec des droits permettant à Apache de servir le fichier (le fichier étant créé en acme:acme, l'umask 027 ne le permet pas).
Le changement d'umask permet d'écrire le fichier de challenges avec des droits permettant à Apache de servir le fichier (le fichier étant créé en acme:acme, l'umask 027 ne le permet pas).
4 203

modifications

Menu de navigation