При использовании шифрования следующие каталоги доступны только root:
/etc/letsencrypt/live/
/etc/letsencrypt/archive/
При запуске MariaDB он запускается как пользователь «mysql», поэтому вы получаете сообщение об ошибке при попытке включить SSL с помощью сертификата Let's Encrypt.
[Warning] SSL error: SSL_CTX_set_default_verify_paths failed
Пока это ожидаемое поведение. Когда я выполняю:
chmod 755 /etc/letsencrypt/live/
chmod 755 /etc/letsencrypt/archive/
Это позволяет MariaDB запускаться с включенным SSL, что можно проверить, например, с помощью следующей команды при подключении к MariaDB:
show variables like '%ssl%'
Что ж, вопрос в том, насколько это серьезная проблема безопасности. Nginx может использовать сертификаты Let's Encrypt с привилегиями по умолчанию, даже если он работает как пользователь «nginx» в моей системе, но поскольку он использует порты ниже <1024, кажется, что он работает с более высокими привилегиями, чем MariaDB.
chmod 755 делает файлы закрытых ключей letsencrypt "доступными для чтения" в моей системе ... уродливыми. Вы можете подключиться к моему серверу только через аутентификацию с открытым ключом SSH, и root не может войти в систему. Пользователь, которому разрешено входить в систему, не может делать ничего, кроме su root, поэтому грубая сила даже в системе кажется невозможной. В системе есть несколько других пользователей sftp, которые не имеют доступа к / etc / ...
Так что я должен быть в безопасности, но мне интересно, есть ли какое-нибудь решение для этого, не делая каталоги letsencrypt доступными для чтения. (за исключением использования самоподписанных сертификатов для MariaDB, конечно)