Échecs causés par logrotate sur Apache 2 avec une clé SSL protégée par une phrase secrète
-
09-06-2019 - |
Question
J'ai une installation Apache 2 sur Debian avec mod_ssl installé. La clé privée du serveur est protégée par un mot de passe qui doit être saisi au démarrage. Les journaux d’erreur et d’accès sont soumis à logrotate toutes les semaines. Je constate qu'Apache se bloque avec une erreur liée à la phrase secrète peu après l'exécution de logrotate.
Je comprends que logrotate déclenche SIGHUP vers Apache après l’archivage des journaux et j’imagine que cela entraîne un rechargement et un échec ultérieur lors de l’obtention de la phrase secrète de la clé de serveur.
Eh bien, assez avec mes théories, voici la question:
Existe-t-il une "meilleure pratique"? façon de configurer Apache pour permettre à ses clés de serveur SSL d'être protégées par une phrase secrète (sans la stocker quelque part dans un fichier) afin qu'elle ne se bloque pas lors de l'exécution de logrotate?
Il est correct de demander à l'utilisateur de saisir le démarrage du serveur, mais pas de le redémarrer ou de le recharger.
La solution
Une option consiste à utiliser l'outil de rotation du journal fourni par Apache. Sa configuration est légèrement différente de celle du système logrotate, mais comme il fonctionne avec des tubes, il peut déplacer des fichiers sans redémarrer Apache.
Autres conseils
Vous pouvez utiliser Cronolog , qui ne nécessite pas de sighup. Voici un exemple:
CustomLog "| /usr/sbin/cronolog /pathtologs/%Y_%m/sitename.com-%Y%m%d.log" combined
vous pouvez également désactiver la phrase secrète à l'aide de la commande suivante:
openssl rsa -in example.tld.key -out example.tld.key