|
Web Hosting, web serveri i operativni sistemi Komercijalni hosting, web serveri, bezbednost, operativni sistemi na serverima |
|
Alati teme | Način prikaza |
08. 09. 2007. | #1 |
Zoran Ševarac
Certified
Datum učlanjenja: 26.04.2006
Lokacija: Beograd
Poruke: 70
Hvala: 0
40 "Hvala" u 4 poruka
|
Bezbednost, 777 folderi, file upload i PHP
Verujem da su se mnogi sreli sa ovim problemom pa me zanimaju misljenja i iskustva.
Web aplikacija ima upload slika i zahteva 777 dozvole na folderu za upload jer PHP radi pod nalogom nobody. Ako je PHP nobody za sve manje od 777 upload ne radi. Moguce je medjutim staviti na folder 755, a PHP staviti radi kao owner i tada upload radi. Medjutim PHP moze da radi kao owner samo kao CGI ili FASTCGI, ali ne i kao apache modul. Koliki je i da li je znacajan pad perfomansi u tom slucaju da PHP radi kao CGi/FASTCGI? Da li izvrsavanje PHP-a kao owner-a otvara nove sigurnosne probleme? Da li postoji mogucnost da se sve ovo resi sa safe modom, a da se dozvoli upload fajlova? Hvala! |
08. 09. 2007. | #2 |
Goran Pilipović
Sir Write-a-Lot
|
Primarna stvar je da vodiš računa šta se uploaduje, sve ostalo je važno, ali je ovo najvažnije. Najopasnja varijanta je kada dozvoliš da se uploaduje bilo šta ili kada ne radiš proveru šta je korisnik uploadovao. Još kada je folder 777 (punkerski, anarhija: sva prava svima), eto potencijalnog problema.
Ti generalno možeš i da uplaoduješ u neki folder koji nije na "izvo'lte" pa onda da radiš rename (move) u finalni folder, + chmod(), a finalni folder i ne mora da bude 777.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
08. 09. 2007. | #3 |
Ivan Dilber
Sir Write-a-Lot
|
kad je php modul onda se on izvrsava sa apache privilegijama... i tada mozes da stavis da apache bude owner nekog fajla,ili jos bolje resenje ako imas privilegije, dodati apache u grupu kojoj pripada FTP user koji se koristi, pa onda dozvoliti 770 (owner i group imaju sva prava, a world ne).
__________________
Leadership is the art of getting people to want to do what you know must be done. |
11. 09. 2007. | #4 |
Zoran Ševarac
Certified
Datum učlanjenja: 26.04.2006
Lokacija: Beograd
Poruke: 70
Hvala: 0
40 "Hvala" u 4 poruka
|
@blues
Ok, ja u svom scriptu proveravam sta se uploaduje. Zanima me da li je moguce da se u 777 folder na neki drugi nacin (sem mog scripta) nesto ubaci. Desavalo mi se da u tim folderima nalazim neke .htm fajlove koji nema sanse da su prosli kroz moj skript. Kako su se oni tu nasli? Jedno od objasnenja je da je to uradio neki drugi korisnik sa istog shared hosting-a sto je najverovatnije. Nesto sam nacuo da je moguce ubaciti i preko /tmp foldera al mi to nije bas najjasnije. Dakle konkretno da li je nekom poznato kako je sve moguce ishakovati 777 folder a da to ne ide kroz skript sa naloga na kome se taj folder nalazi. Da li je moguce to uraditi kroz neki drugi script koji ima bezbednosni propust tog tipa a nalazi se na drugom nalogu na istom shared serveru? @ivanhoe Zanimljiva ideja. Proverio sam i meni apache (a i php) rade kao nobody, a nasao sam da to nije dobro pa cu da menjam. Kazi mi samo da li je dovoljno kreirati odgovarajuci user, group i promeniti httpd.conf? Da li je potrebno rekompajlirati apache? |
11. 09. 2007. | #5 | |
Ivan Dilber
Sir Write-a-Lot
|
Citat:
Ovo sto pominjes je vrlo verovatno taj slucaj, neko na shared hostingu pokrene skriptu (bilo namerno, bilo da je uhakovana) koja kreira fajlove u tvom folderu. Posto to radi apache onda moze da pise sta hoce gde hoce, jer si mu dozvolio. To se resava pomocu chroot-ovanja, ali to opet zahteva rekompajliranje apacha, a i stvara citav niz problema oko privilegija. Ja nisam nikad administrirao shared hosting tako da mi ovo nije trebalo, pa ne znam bas puno o tome, ali ima da se nadje howto-ova za chroot, pa pogledaj.. Za izmenu usera ne moras da rekompajliras nista, samo promenis httpd.conf i restartujes apache ( i naravno promenis privilegije svih bitnih fajlova, i kreiras novog usera koga zelis da apache koristi). Obicno se apachu daje poseban user i grupa, mada ne znam ni sto bi nobody bilo lose (ako se koristi samo za apache)
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 11. 09. 2007. u 04:00. |
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
File hosting | ppavlovic | Web Hosting, web serveri i operativni sistemi | 7 | 28. 09. 2009. 11:52 |
MySQL bezbednost i zastita tabela i baze | pele | Sva početnička pitanja | 5 | 01. 07. 2007. 22:46 |
File Upload Problem! | flash_back | PHP | 8 | 25. 03. 2007. 22:49 |
FTP File permissions | cvele | PHP | 4 | 02. 02. 2007. 17:42 |
File upload uz ajax? | marinowski | PHP | 4 | 25. 07. 2005. 19:13 |