Podczas tworzenia strony na komputerze lokalnym czasami pojawia się błąd „Odmowa zezwolenia”, który mogę rozwiązać, uruchamiając chmod -R 777 /var/www
. Jednak ludzie mówią mi, że jest to zły pomysł ze względów bezpieczeństwa.
Dlaczego nie /var/www
miałby mieć chmod 777?
permissions
security
apache2
www
Luis Alvarado
źródło
źródło
Odpowiedzi:
777 jest ogólnie złym pozwoleniem i pokażę ci, dlaczego.
Pomimo tego, jak może wyglądać w kasynie lub Las Vegas, 777 nie oznacza dla ciebie jackpota. Raczej jackpot dla każdego, kto chce zmodyfikować twoje pliki. 777 (i jego brzydki kuzyn 666) zezwalają na uprawnienia do odczytu i zapisu (aw przypadku 777 - Wykonaj) innym . Możesz dowiedzieć się więcej o tym, jak działają uprawnienia do plików , ale w skrócie istnieją trzy grupy uprawnień: właściciel, grupa i inne . Ustawiając uprawnienia na 6 lub 7 (
rw-
lubrwx
) dla innych , dajesz każdemu użytkownikowi możliwość edycji tych plików i folderów oraz manipulowania nimi. Zazwyczaj, jak można sobie wyobrazić, jest to szkodliwe dla bezpieczeństwa.Oto mój przykład:
Do tej pory utworzyłem folder i utworzyłem plik z „złymi” uprawnieniami (777 i 666). Teraz przełączę się na innego użytkownika i spróbuję manipulować tymi plikami.
Jako „złośliwy” użytkownik byłem w stanie umieścić pliki w katalogu i wstrzyknąć tekst do już istniejących plików. Podczas gdy poniżej, w katalogu z 755 i plikami z 644, widzę wewnętrzne pliki i katalogi, ale nie mogę edytować plików ani tworzyć nowych:
W przypadku uprawnień Apache będziesz chciał trzymać się 0755 i 0644 (AKA
umask 022
) odpowiednio dla folderów i plików. Dzięki temu, jako właściciel plików, możesz je edytować i nimi manipulować, a Apache zapewnia minimalny poziom dostępu niezbędny do działania.źródło
/etc/passwd
i zobaczysz użytkowników, takich jakmail
,news
inobody
. Nawet jeśli jest to w porządku dla wszystkich prawdziwych użytkowników twojego systemu, aby móc modyfikować zawartość/var/www
, nie oznacza to, że chcesz, aby wszystkie procesy były uruchamiane, ponieważ ci „sztuczni” użytkownicy mogą to zrobić.ls -lah
,touch bad
albo jakieś inne polecenia. Jak mogą manipulować folderami i plikami? 2) Dziedziczenie. Nie uwzględniono żadnego dziedziczenia między folderami i zawartymi w nich plikami. Istnieją co najmniej 2-3 krok przed pliku:/var
,/var/www
,/var/www/project
. Jakie uprawnienia użytkownika / grupy powinny/var
mieć? Jakie uprawnienia użytkownika / grupy powinny/var/www
mieć? I tak dalej. Jak współpracują?Zasadniczo, posiadanie uprawnień 777 nie spowoduje, że zostaniesz zhakowany na własną rękę, ale jeśli ktoś w ogóle gdzieś się pojawi, możesz go wykorzystać do eskalacji uprawnień i uzyskania pełnej kontroli nad komputerem. Najgorsze jest to, że twoje uprawnienia używają „7” - oznacza to uprawnienia do odczytu, zapisu i wykonywania .
Powiedzmy, że haker chce przejąć twój komputer. Może połączyć się z twoim komputerem za pomocą przeglądarki internetowej, łącząc się z http://yourcomputer.example.com:80/. Jeśli masz dostępne strony, które pozwalają mu przesyłać obrazy, może zmienić nazwę pliku wykonywalnego na „.jpg” i przesłać go na serwer. Teraz przegląda ten plik w przeglądarce i uruchamia go, ponieważ Linux nie dba o rozszerzenie, widzi tylko, że jest to plik wykonywalny. To może nie dać mu wiele, ale ponieważ w ogóle działało, wie, że działało jako użytkownik apache. Następnie przesyła zmodyfikowaną wersję, która będzie edytować pliki konfiguracyjne apache, zapewniając mu jeszcze większy dostęp - powiedzmy, że apache wyświetli zawartość / etc / passwd. Następnie może wykorzystać te informacje, aby zobaczyć, którzy użytkownicy istnieją w systemie. Następnie może połączyć się za pomocą ssh i spróbować wspólnych haseł, aby zalogować się jako ci użytkownicy - jeśli to nie zadziała, przejdzie do użycia pełnego ataku brute-force. Jeśli wejdzie jako użytkownik z dostępem sudo,
Teraz możesz powiedzieć, że to mało prawdopodobne lub że nie tak działałby prawdziwy haker. To prawda, ale chodzi o to, że ustawiając pliki na chmod 777, otworzyłeś lukę w zabezpieczeniach, z której haker może korzystać w dowolny sposób.
Jeśli zamiast tego zastosujesz się do zasady najmniejszych uprawnień , dziura ta nie występuje, a Twój system jest o wiele trudniejszy do zhakowania. Chociaż trudniej jest robić rzeczy właściwie, nadal powinieneś dołożyć wszelkich starań, aby to zrobić.
źródło