cp -a /usr/share/systemd/tmp.mount /etc/systemd/system/
systemctl enable tmp.mount
rm -rf /tmp/* # Purge les fichiers actuels du /tmp pour ne pas qu'ils restent présents sur le DD
reboot # redémarre l'ordinateur
mkdir -p /usr/local/lib/medshake/www/
==== Le script bash de déchiffrage des données ====
chmode 755 /usr/local/lib/medshake/uncrypt.sh
Dans notre cas, le script sera appelé par l'utilisateur ''www-data'' et obtiendra les droits //root// via ''sudo''. Il faut donc disposer d'une entrée //sudoers// adaptée pour ne pas avoir de demande de mot de passe par ''sudo'' :
sed -i 's#^\(datadir[[:space:]]*=\).*#\1 /srv/medshake/db/#' /etc/mysql/conf.d/medshakedb.cnf
Puis stopper le service :
systemctl stop mariadb.service
Et copier les fichiers de la base de données dans le nouvel emplacement :
cp -a /var/lib/mysql/ /srv/medshake/db/
apt install secure-delete
srm /var/lib/mysql/*
systemctl disable mariadb.service
systemctl restart php7.3-fpm.service
==== Configuration *Apache* ====
Nous avons besoin d'utiliser une configuration Apache alternative pour MedShake utilisant //php-fpm// et renvoyant vers la page de déchiffrage du mot de passe si la partition de données pour MedShake n'est pas accessible :
cp -a /home/EHR/ /srv/medshake/EHR/
srm /home/EHR/
echo -e '!!! NE PAS SUPPRIMER !!!\nCe fichier est utilisé pour vérifier que les données MedShake sont bien déchiffrées.' > /srv/medshake/.uncrypted
chmod 444 /srv/medshake/.uncrypted
==== Substitue ''/srv/medshake/EHR/public_html'' quand les données ne sont pas déchiffrés ====
Au moment où le serveur démarre la partition contentant les données chiffrées, elle n'est pas encore montée dans ''/srv/medshake/'' et donc le dossier ''/srv/medshake/EHR/public_html/'' n'est pas présent or il est définit comme ''DocumentRoot'' dans la configuration *Apache* et celui-ci refusera de démarrer si il ne le trouve pas. Il faut donc créer un dossier de substitution à l'emplacement du vrai avant que les données chiffrées ne soient montées.
Pour commencer il faut démonter la partition des données chiffrés :
# Stopper ces services évite que des fichiers présents sur la partition soient
# ouverts ce qui empêcherait le démontage de la partition
systemctl stop medshakedb.service
systemctl stop php7.3-fpm.service
systemctl stop apache2.service
umount /srv/medshake
Puis créer le dossier de substitution :
mkdir -p /srv/medshale/EHR/public_html/
Il ne reste plus qu'à redémarrer le serveur et à accéder à son instance MedShake via le navigateur web. Normalement la page permettant de déchiffrer les données devrait se substituer à l'instance MedShake. Une fois la bonne clé de déchiffrement saisie l'instance MedShake devrait être accessible.
{{tag>securite chiffrement installation}}