Назад | Перейти на главную страницу

monit, давайте зашифровать и права доступа к файлам

Я решил поставить monit на свой vps под управлением centos 7. У меня уже есть Let's encrypt на сервере, и сертификаты установлены. Я хотел указать monit на fullchain.pem или cert.pem, но получаю эту ошибку.

    Dec 30 00:56:52 [23926]: The SSL server PEM file 
    '/etc/letsencrypt/live/example.com/fullchain.pem' must have permissions no more than -rwx------ (0700); right now permissions are -rw-r--r-- (0644).
    Dec 30 00:56:52 monit[23926]: /etc/monitrc:131: SSL server PEM file permissions check failed 'allow'
    Dec 30 00:56:52  systemd[1]: monit.service: main process exited, code=exited, status=1/FAILURE

Не знаю, как действовать. Могу ли я изменить владельца файлов сертификатов? Могу ли я сменить владельца, который управляет monit?

Monit довольно странен тем, что ожидает, что закрытый ключ и цепочка сертификатов TLS будут объединены в один файл, указанный в pemfile, поэтому вы не можете использовать сертификаты, полученные с помощью certbot, без дополнительной обработки.

Вам нужно будет настроить развернуть крюк в certbot, чтобы объединить сертификаты в один файл и установите разрешения для этого файла.

Пример сценария может выглядеть так:

#!/bin/bash

for domain in $RENEWED_DOMAINS
do
    case $domain in
    example.com)
        cat $RENEWED_LINEAGE/privkey.pem $RENEWED_LINEAGE/fullchain.pem > /etc/monit/pemfile-$domain.pem
        chmod 600 /etc/monit/pemfile-$domain.pem
        ;;
done

Затем обновите с помощью certbot renew --deploy-hook '/path/to/that/script.sh'.

И в мониторе укажите pemfile /etc/monit/pemfile-example.com.pem

Наконец, вы можете перезапустить monit с обновленным сертификатом с чем-то вроде обновления certbot. --post-hook 'systemctl restart monit'...