Puncte:0

Configurație nesigură Apache + mod_userdir

drapel de

TL;DR: Cum pot activa mod_userdir într-un mod sigur? (adică: fiecare utilizator ar trebui să-și poată crea și difuza conținutul în ~/public_html, dar nu ar trebui să li se permită să citească reciproc conținutul și nici direct - cat /home/userX/public_html/file- nici prin funcții PHP (file_get_contents('/home/userX/public_html/file'))

Detalii: Am configurat Apache cu mod_userdir pentru a le oferi utilizatorilor mei opțiunea de a-și difuza conținutul eliminând fișierele în folderul lor ~/public_html. Pentru a proteja accesul la fișiere și pentru a evita ca orice utilizator să poată citi fișierele altora, am configurat următoarele permisiuni:

/home/userA user.user drwx--x--x (711)  
/home/userA/public_html user.user drwxrwx--x (771)

Am adăugat www-data la grupul fiecărui utilizator: usermod -a -G utilizator www-data (ar putea funcționa și prin crearea unui grup și adăugarea tuturor utilizatorilor, inclusiv www-data, la el)

Toată configurația funcționează conform așteptărilor. Orice utilizator își poate accesa conținutul de pe https://server/~user și nu poate citi fișierele altora:

userA@ubuntu:/home$ cat userB/public_html/index.php 
cat: userB/public_html/index.php: Permisiune refuzată

Până acum, bine. Dar problema este că, deoarece Apache rulează ca www-data și are acces de grup la orice fișier din /home/*, orice utilizator poate crea un fișier PHP pentru a citi conținutul altora folosind funcții precum exec, sistem, file_get_contents, etc.

Știu că pot dezactiva astfel de funcții de la executarea adăugându-le la disable_functions blocați php.ini dar văd asta ca un patch, nu o soluție. Deci, mi se pare că ar trebui să existe o altă modalitate, mai sigură, de a configura această configurație Apache activată pentru userdir. Am căutat o modalitate de a face acest lucru corect, dar nu am găsit o soluție adecvată.

Alex avatar
drapel us
Poate că merită să mutați această întrebare pe forumul de securitate a informațiilor? https://security.stackexchange.com/
Juanan avatar
drapel de
De acord. Nu știu dacă pot muta singur întrebarea sau ar trebui să am mai multe puncte de reputație pentru a face asta?
Alex avatar
drapel us
Dacă crezi că este o idee bună, semnalează-ți postarea așa cum este descris aici: https://meta.stackexchange.com/questions/184657/how-do-i-transfer-this-question-asked-on-stack-overflow-to -schimbul-stivă-matematică

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.