uprawnienia 777 |
uprawnienia 777 |
25.09.2012, 20:49:36
Post
#1
|
|
Grupa: Zarejestrowani Postów: 151 Pomógł: 2 Dołączył: 2.08.2012 Skąd: Wrocław Ostrzeżenie: (0%) |
Witam
Pisząc funkcje usuwania zdjęc unlink wyrzucił mi permission denied. Zacząłęm sie zastanawiac wtedy czy gdy zmienie chmoda na 777 zwykły kowalski będzie mógł wykasowac mi plik z serwera nawet sie nie logując do mojej aplikacji? |
|
|
25.09.2012, 21:03:16
Post
#2
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) |
Oczywiście że tak, ale jak odpali zdalnie polecenie na serwerze ?
Ten post edytował Uriziel01 25.09.2012, 21:03:31 |
|
|
25.09.2012, 21:13:46
Post
#3
|
|
Grupa: Zarejestrowani Postów: 151 Pomógł: 2 Dołączył: 2.08.2012 Skąd: Wrocław Ostrzeżenie: (0%) |
Mam zdjęcia w pewnym folderze. Jak zrobic zeby mogły byc usuwane tylko kiedy odpalana jest funkcja(zawierajaca unlink) na mojej stronie internetowej przez uzytkowników??
Ten post edytował johnyMajster 25.09.2012, 21:14:13 |
|
|
26.09.2012, 07:06:10
Post
#4
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) |
Chyba nie rozumiem w czym problem, nie zlimitujesz możliwości usunięcia pliku do pojedyńczej funkci z PHP bo sam change mode nie zawiera takich mechanizmów, ale możesz po prostu ustawić możliwość zapisu odczytu dla właściciela i tyle. Osoba która wpisze nawet adres pliku w przeglądarce i tak będzie uzyskiwała dostęp do pliku jako użytkownik na którym odpalony jest web serwer (www-data?).
|
|
|
26.09.2012, 07:24:03
Post
#5
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) |
... ale możesz po prostu ustawić możliwość zapisu odczytu dla właściciela i tyle... To akurat nie wiele da. Dlaczego? Otóż Apache uruchomiony jest na koncie www-data i wszystkie operacje są wykonywane z uprawnieniami tego konta. Oczywiście można się pokusić aby wykonać jakieś polecenie z poziomu innego użytkownika, ale nie wszystkie serwery dają taką opcję. Zmiana chmod'a na 777(755 by wystarczyło) wchodzi w grę, tylko wtedy każdy będzie mógł usunąć etc.Ogólnie nie jest to bezpieczne rozwiązanie. Wg mnie najlepszym rozwiązaniem będzie wykorzystanie do tego FTP. Łączyć się z nim jako konkretny użytkownik i usuwać... |
|
|
26.09.2012, 08:17:43
Post
#6
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) |
Witam Pisząc funkcje usuwania zdjęc unlink wyrzucił mi permission denied. Zacząłęm sie zastanawiac wtedy czy gdy zmienie chmoda na 777 zwykły kowalski będzie mógł wykasowac mi plik z serwera nawet sie nie logując do mojej aplikacji? Chwila, bo nie rozumiem. Chcesz kasować z aplikacji webowej, i tylko z niej - OK. Chcesz zabronić "zwykłemu Kowalskiemu". Czyli komu? a) Komuś posiadającemu konto (shell/ftp)? Czy komuś posiadającemu inną wirtualkę? c) Czy jeszcze jakoś inaczej? Jeśli a), to jest sytuacja taka, że Twój skrypt chodzi z prawami tego usera, który jest w konfiguracji serwera WWW (np. www-data). A zalogowanie się na serwer via ftp/ssh to inny użytkownik w systemie (np. 'jasiu'). W takim przypadku możesz na katalog nałożyć "restricted deletion flag", robi się to przez chmod - prawa ustawiasz na 1755 (tak, cztery cyfry) jeśli , to musisz liczyć na to, że user 'jasiu' mająsy swoją wirtualkę nie może wejść do katalogu Twojej wirtualki (bo jak pozna ścieżkę i wejdzie, to jego wirtualka i Twoja działa z takimi samymi prawami - więc może zrobić dokładnie to, co Ty w swoim skrypcie. |
|
|
26.09.2012, 08:29:41
Post
#7
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) |
To akurat nie wiele da. Dlaczego? Otóż Apache uruchomiony jest na koncie www-data i wszystkie operacje są wykonywane z uprawnieniami tego konta. Oczywiście można się pokusić aby wykonać jakieś polecenie z poziomu innego użytkownika, ale nie wszystkie serwery dają taką opcję. Zmiana chmod'a na 777(755 by wystarczyło) wchodzi w grę, tylko wtedy każdy będzie mógł usunąć etc.Ogólnie nie jest to bezpieczne rozwiązanie. Wg mnie najlepszym rozwiązaniem będzie wykorzystanie do tego FTP. Łączyć się z nim jako konkretny użytkownik i usuwać... Rozumiem że mówiąc że nie jest to bezpiecznie (777) rozwiązanie zakładasz dziurę w aplikacji ? Ewentualnie włączenie mod_dav w apache ale to rzadkość. EDIT: Chwila, bo nie rozumiem. Chcesz kasować z aplikacji webowej, i tylko z niej - OK. Chcesz zabronić "zwykłemu Kowalskiemu". Czyli komu? a) Komuś posiadającemu konto (shell/ftp)? Czy komuś posiadającemu inną wirtualkę? c) Czy jeszcze jakoś inaczej? Ooo, fakt. Możliwe że faktycznie zbyt naiwnie założyłem że autor ma na myśli połączenie przez http, poczekajmy na jego odpowiedź Ten post edytował Uriziel01 26.09.2012, 08:31:35 |
|
|
26.09.2012, 12:30:13
Post
#8
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) |
...Rozumiem że mówiąc że nie jest to bezpiecznie (777) rozwiązanie zakładasz dziurę w aplikacji .... ogólnie chmod 777 nie jest bezpieczny, nigdzie! Nie musi być dziury w aplikacji. Chodzi mi bardziej o takie serwery gdzie dostęp ma kilku użytkowników. Gdy jakiś plik ma 777 to każdy posiadający konto może zrobić wszystko z tym plikiem. |
|
|
26.09.2012, 12:58:57
Post
#9
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) |
ogólnie chmod 777 nie jest bezpieczny, nigdzie! Nie musi być dziury w aplikacji. Chodzi mi bardziej o takie serwery gdzie dostęp ma kilku użytkowników. Gdy jakiś plik ma 777 to każdy posiadający konto może zrobić wszystko z tym plikiem. W tym celu wymyślono prawa 1777 (restriction delete flag). |
|
|
26.09.2012, 19:24:08
Post
#10
|
|
Grupa: Zarejestrowani Postów: 151 Pomógł: 2 Dołączył: 2.08.2012 Skąd: Wrocław Ostrzeżenie: (0%) |
Opisze trochę jaśniej o co mi chodzi:
Napisałem sobie formularz do ładowania zdjęc. Ładowanie zdjecia to dodanie zdjecia do katalogu uploads na serwerze oraz dodanie linka do bazy. Napisałem sobie równiez usuwanie czyli unlink plik zdjęcia oraz usuniecie z bazy rekordu. Niestety unlink nie chce mi działac poniewaz mam permision denied. W związku z tym postanowiłem nadac folderowi uprawnienia 777(tak na marginesie nie wiem jak bo w TC nie mam tego okienka gdzie sie wpisuje 777 a nie wiem jakiego wierszapolecen uzyc na serwerze XAMP apache) I wtedy pojawiło sie pytanie a) Moja aplikacja ma profile użytkowników (powiedzmy tak jak na FB) kazdy uzytkownik ma akcje usunMojeZdjecie($MojId,&idZdjecia) i w tej akcji jest unlink. Czy moze przyjsc jakis haker z zewnątz i usunąc zdjęcia moich uzytkowników z serwera lub zamienic je skoro folder uploads ma 777?? Z waszych wypowiedzi zrozumiałem ze nie ma takiej mozliwosci?? b)Czy haker moze sobie napisac formularz który w pętli zasmieci moj katalog uploads wrzucając tam różne pliki?? Ten post edytował johnyMajster 26.09.2012, 19:26:29 |
|
|
26.09.2012, 20:18:24
Post
#11
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) |
Permission denied na xampie? Jakoś nie chce mi się wierzyć - możesz się upewnić i gdzieś wyrzucić sobie pełną ścieżkę do zdjęcia (var_dump, print_r lub inny ekwiwalent). Mam podejrzenie, że gdzieś ci się coś niedokleiło albo dokleiłeś za dużo (i zwróć uwagę na spacje) :)
Odnośnie praw dostępu: opisałem prawa dostępu w Uniksach, czytelniej jest tu: http://pl.wikipedia.org/wiki/Prawa_dost%C4%99pu W skrócie: "777" oznacza pełne prawa dla danego pliku dla wszystkich ludzi. Wszyscy mogą wszystko: czytać, pisać, kasować... A odpowiedź na Twoje pytania: w ogólnym przypadku jak najbardziej może. Twoim zadaniem jako projektanta aplikacji jest to, aby nie dopuścić do błędów i niedopatrzeń. Czyli: musisz jakoś rozróżniać userów (logowanie: ciastka, sesje), musisz zapewnić filtrowanie danych wprowadzanych przez userów (poczytaj o SQL Injection). Warto też poczytać o XSS i innych atakach na web-aplikacje. "czy może przyjść jakiś haker"... Ogólnie to... zawsze może się zdarzyć. Jak się zainteresuje hostem, to interesują go głównie prawa roota (administratora systemu), a wtedy jedynym zabezpieczeniem jest backup wszystkich danych na innej maszynie. ... "i usunąc zdjęcia moich uzytkowników z serwera lub zamienic je skoro folder uploads ma 777" - JAK NAJBARDZIEJ MOŻE. Mało tego, przed tym nie uchroni nawet proponowane przeze mnie ustawienie prawa "1777". Dotyczy to oczywiście ataku na web-aplikację. (bo będzie miał takie same prawa jak i Ty). "Czy haker moze sobie napisac formularz który..." - jak się włamie, to może wszystko co i Ty - włącznie ze skasowaniem bazy (bo przecież hasło do bazy trzyma się gdzieś w plikach tekstowych, prawda?) |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 09:29 |