Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundację Dzieciom „Zdążyć z Pomocą”.
Więcej informacji na dug.net.pl/pomagamy/.

#1 2018-03-10 21:00:12

777
Użytkownik
Zarejestrowany: 2018-03-10

Podstawy - konfiguracja chmod i chown dla WWW

Cześć, mam pytanie z podstaw. Jak z punktu widzenia bezpieczeństwa powinno wyglądać hostowanie strony WWW na serwerze Apache. Chodzi mi o lokalizację i uprawnienia plików i katalogów. Obecnie główny katalog strony WWW stworzyłem w /var/www/nazwastrony/. Właścicielem katalogu ustanowiłem grupę www-data, do grupy dodałem swojego użytkownika, do katalogu /nazwastrony nadałem rekurencyjnie chmod 775. Na próbę wrzucam tam jakiś popularny CMS, jest nim Prestashop. Działać działa, bo czemu ma nie działać? Jednak jak powinno robić się to profesjonalnie z punktu widzenia bezpieczeństwa? W internecie jest wiele zdań i chciałbym zapytać się o to Was.


Pozdrawiam

Offline

 

#2 2018-03-10 21:20:47

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Podstawy - konfiguracja chmod i chown dla WWW

Bezpiecznie?  Serwer WWW nie powinien w ogóle być właścicielem ani mieć prawa zapisu w skryptach sklepu.
Kłopot jest wtedy z folderami tymczasowymi, logów czy obrazkami, jakie zapisuje CMS napisany w PHP, ale przynajmniej ktoś Ci do niego backdoora c99 nie dorzuci zbyt łatwo.

Trudniejsza sprawa jest z najnowszymi skryptami CMS używającymi Composera do instalacji Modułów jak Prestashop 1.7 i Magento 2.2, bo one już przypominają bardziej systemy operacyjne aniżeli skrypty CMS, i potem te wszystkie moduły muszą ciągle coś zapisywać  w rożnych częściach CMSa.

Posadzenie bezpiecznie Magento-2.2 w trybie oddzielnego właściciela plików aniżeli serwer WWW czy demon PHP, to już spore wyzwanie, i często ani myśli działać w takiej konfiguracji.
Prestashop 1.7 dzielnie podąża w tym samym kierunku.

Pozdro


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3 2018-03-10 21:27:02

777
Użytkownik
Zarejestrowany: 2018-03-10

Re: Podstawy - konfiguracja chmod i chown dla WWW

Właśnie na tym polega problem. Gdyby chodziło o zwykłą statyczną stronę, której skrypty nie potrzebują mieć możliwości zapisywania czy edytowania plików to sprawa jest raczej oczywista. Tutaj w grę wchodzi Prestashop 1,7.

Offline

 

#4 2018-03-10 22:44:50

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Podstawy - konfiguracja chmod i chown dla WWW

To zobacz w dokumentacji Presty, wersja 1.7 to jest wersja developerska, 50 razy trudniejsza od Prestashopa 1.6, ale dalej łatwiejsza od Magento -2.2.

W każdym razie, jak na VPSie dla testu ściągnąłem z Githuba Preste 1.7,
i doinstalowałem koniecznych modułów Composera, to folder Presty miał 400 MB pojemności, czyli mniej więcej tyle co 6 instalacji systemu Puppy Linux, albo instalka Androida.

Pozdro


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5 2018-03-10 23:27:37

777
Użytkownik
Zarejestrowany: 2018-03-10

Re: Podstawy - konfiguracja chmod i chown dla WWW

Wiem, swój sklep mam na preście 1,6 i na razie nie aktualizuje do 1,7. Tę stronę działającą mam na hostingu, na VPSa wrzuciłem prestę 1,7 dla testu. Rzeczywiście, masz rację - jest ciężka, sam folder po rozpakowaniu waży grubo ponad 100 megabajtów.

Nie mniej, wracając do tematu. Czy dodanie użytkownika do grupy www-data, chown katalogu strony na tę grupę i hostowanie strony z /var/www to jest rozwiązanie bezpieczne czy profesjonalnie powinno wyglądać to inaczej?

Offline

 

#6 2018-03-10 23:40:42

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Podstawy - konfiguracja chmod i chown dla WWW

Jeżeli strona działa, a serwer www i demon php nie mogą zapisywać skryptów PHP, JS i layoutów w folderze Presty, to może trudniej się instaluje rozszerzenia, ale też nie da się w prosty sposób wpakować backdoora do sklepu, albo dokleić jakiegoś syfu do sktyptów sklepu, co kończy się eleganckim czerwonym ostrzeżeniem w przeglądarce Chrome.

Jeżeli ten stan osiągniesz, to pierwsza ważna linia obrony będzie załatwiona.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7 2018-03-11 14:41:51

777
Użytkownik
Zarejestrowany: 2018-03-10

Re: Podstawy - konfiguracja chmod i chown dla WWW

OK dzięki za odpowiedź, właśnie takiej informacji potrzebowałem. Jak już dobrze się z tym zaznajomię to na pewno będę jeszcze pytał o bezpieczeństwo bazy danych i kilka innych spraw, ale to w innym temacie. Pozdrawiam.

Offline

 

#8 2018-03-14 00:17:01

777
Użytkownik
Zarejestrowany: 2018-03-10

Re: Podstawy - konfiguracja chmod i chown dla WWW

A jeszcze jedno pytanie: czy jest sens robić chroot dla katalogu strony? Wiele o tym czytałem, ale większość sensownych artykułów pochodzi sprzed kilku, kilkunastu lat i argumenty w nich zawarte mogą być nieaktualne.

Na tę chwilę udało mi się skonfigurować Apache tak, że Presta działa bez problemu (choć w trybie debugowania wywala trochę błędów z powodu braku praw do zapisywania w niektórych katalogach cache podczas pacy w backoffice). Właścicielem katalogu /var/www/strona jest użytkownik systemu, grupą tego katalogu jest www-data. Wszystkie katalogi i podkatalogi presty mają chmod 750 a pliki 640. Nie wiem tylko czemu nadal mogę instalować moduły przez panel presty... nie mogę przez panel zmienić np. loga bo wyrzuca brak uprawnień do zapisu, ale stworzyć katalog z nowym modułem presta może.

Offline

 

#9 2018-03-14 03:06:36

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Podstawy - konfiguracja chmod i chown dla WWW

Chroot ma coś zabezpieczać?

Teoretycznie tak, praktycznie chroot to prehistoria, raczej Apparmor albo jak chcesz koniecznie coś podobniejszego do chroota, to Docker lub LXC.

Chroot z resztą nigdy zbyt bezpieczny nie był.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10 2018-03-14 11:30:20

777
Użytkownik
Zarejestrowany: 2018-03-10

Re: Podstawy - konfiguracja chmod i chown dla WWW

A możesz wytłumaczyć (pytam z ciekawości) dlaczego chroot nigdy bezpieczny nie był?

Do Apparmor już sobie czytam manuala, bardzo ciekawe narzędzie. Kontenerowanie zaś to chyba zbyt wiele jak na moje potrzeby. :)

Offline

 

#11 2018-03-14 13:02:53

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Podstawy - konfiguracja chmod i chown dla WWW

777 napisał(-a):

A możesz wytłumaczyć (pytam z ciekawości) dlaczego chroot nigdy bezpieczny nie był?

Do Apparmor już sobie czytam manuala, bardzo ciekawe narzędzie. Kontenerowanie zaś to chyba zbyt wiele jak na moje potrzeby. :)

https://access.redhat.com/blogs/766093/posts/1975883


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)