În Articolul de întărire al OpenVPN, se recomandă ca daemonul server să renunțe la privilegiile după pornirea pe Linux:
OpenVPN a fost proiectat foarte atent pentru a permite renunțarea la privilegiile root după inițializare, iar această caracteristică ar trebui să fie întotdeauna utilizată pe Linux/BSD/Solaris. Fără privilegii de rădăcină, un daemon de server OpenVPN care rulează oferă o țintă mult mai puțin atrăgătoare unui atacator.
Aceștia recomandă stabilirea următoarelor directive:
utilizator nimeni
grupa pe nimeni
ceea ce presupun că înseamnă că demonul va rula ca nimeni
după ce pornirea este completă.
Cu toate acestea, există mai multe fișiere pe care OpenVPN le accesează în timpul execuției, în special fișierul CRL:
Când opțiunea crl-verify este utilizată în OpenVPN, fișierul CRL va fi recitit de fiecare dată când un client nou se conectează sau un client existent renegociază conexiunea SSL/TLS (în mod implicit o dată pe oră). Aceasta înseamnă că puteți actualiza fișierul CRL în timp ce demonul serverului OpenVPN rulează și ca noul CRL să intre în vigoare imediat pentru clienții nou conectați.
Deci, firește, îmi fac griji dacă aceste două caracteristici sunt incompatibile - dacă demonul renunță la privilegii după pornire, cum poate citi /etc/openvpn/server/crl.pem
(proprietar rădăcină:rădăcină
, modul 0600
; Aplicarea SELinux) în timpul rulării?
- Dacă demonul într-adevăr nu poate accesa fișierul CRL în timpul execuției, există o modalitate bună de a evita această problemă?
- Dacă demonul poate accesa fișierele CRL în timpul execuției, aș dori să știu cum este posibil acest lucru.
Sistemul de operare este RHEL8.5 x86_64 în cazul în care este relevant.