В Статья об усилении защиты OpenVPN, рекомендуется, чтобы демон сервера сбрасывал свои привилегии после запуска в Linux:
OpenVPN был очень тщательно разработан, чтобы разрешить отказ от привилегий суперпользователя после инициализации, и эту функцию всегда следует использовать в Linux/BSD/Solaris. Без привилегий root работающий демон сервера OpenVPN представляет собой гораздо менее заманчивую цель для злоумышленника.
Они рекомендуют установить следующие директивы:
пользователь никто
группа никто
что, как я предполагаю, означает, что демон будет работать как никто
после завершения запуска.
Однако есть несколько файлов, к которым OpenVPN обращается во время выполнения. особенно файл CRL:
Когда в OpenVPN используется параметр crl-verify, файл CRL будет перечитываться каждый раз, когда подключается новый клиент или существующий клиент повторно согласовывает соединение SSL/TLS (по умолчанию один раз в час). Это означает, что вы можете обновить файл CRL во время работы демона сервера OpenVPN, и новый CRL сразу же вступит в силу для новых подключающихся клиентов.
Поэтому, естественно, я беспокоюсь, несовместимы ли эти две функции - если демон сбрасывает привилегии после запуска, как он может читать /etc/openvpn/сервер/crl.pem
(владелец корень: корень
, Режим 0600
; Принуждение SELinux) во время выполнения?
- Если демон действительно не может получить доступ к файлу CRL во время выполнения, есть ли хороший способ обойти эту проблему?
- Если демон может получить доступ к файлам CRL во время выполнения, я хотел бы знать, как это возможно.
ОС RHEL8.5 x86_64, если это уместно.