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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
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
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
Offline
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
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
Offline
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
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.
Offline
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
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
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ł.
Offline
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
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. :)
Offline