Na wszystkich usługach zarządzanych z panelem Direct Admin jest możliwość wdrożenia separacji domen na poziomie skryptów PHP z wykorzystaniem open_basedir. Separacja domen jest aktywowana również dla wszystkich subdomen w ramach danej domeny — po jej aktywacji zweryfikuj poprawność działania swoich witryn.
Pamiętaj, że separacja domen jest najskuteczniejsza wyłącznie jeśli zostanie aktywowana dla wszystkich domen na koncie.
UWAGA!
Włączona separacja domen dezaktywuje pewne funkcje języka PHP, które mogą posłużyć m.in. do zainfekowania lub przejęcia kontroli nad Twoją witryną.
Aktywowana separacja zawsze wyłączy funkcje PHP wymienione w tabeli poniżej:
exec | passthru | proc_open |
shell_exec | system | popen |
dl | posix_mkfifo | posix_mknod |
pcntl_exec | pcntl_fork | pcntl_rfork |
expect_popen | putenv | apache_setenv |
symlink | link |
*Nie ma możliwości wybrania poszczególnych funkcji PHP, które mają być wyłączone, separacja może być wdrożona w pełni lub wyłączona.
W celu aktywowania separacji:
1. Zaloguj się do panelu Direct Admin: https://cyberfolks.pl/pomoc/logowanie-sie-do-panelu-administracyjnego/
2. Wybierz domenę, a następnie w dziale „Serwer WWW i domeny” wybierz „Ustawienia domen”
Jeśli masz więcej niż jedną domenę dodaną do konta, możesz przejść do „Ustawień domen” również z głównego panelu:
3. W kolumnie „Separacja” aktywuj separację dla danej domeny.
Po aktywowaniu separacji sprawdź działanie witryny. Jeśli chcesz skorzystać z opcji „Włącz dla wszystkich”, aby aktywować zbiorczo separację dla wszystkich domen, pamiętaj o sprawdzeniu działania każdej z nich po tej operacji.
Gotowe! Separacja plików strony została włączona. Jeśli po tej operacji zauważysz problemy z działaniem witryny, wystarczy dezaktywować separację i skontaktować się z nami mailowo na wsparcie@cyberfolks.pl z prośbą o ustawienie separacji dla Twojej strony.
Jak rozpoznać, że separacja wyłączyła potrzebną twojej stronie funkcję PHP?
1. Jeżeli twoja strona nie działa poprawnie po włączeniu separacji domeny, włącz wyświetlanie błędów PHP na swojej stronie: https://cyberfolks.pl/pomoc/blad-500-biala-strona/
2. Po aktywowaniu wyświetlania błędów PHP, błędy te będą widoczne na stronie po jej odświeżeniu w przeglądarce.
Jeżeli dla domeny jest ustawiona wersja PHP >= 8.0, komunikat na stronie o wyłączonej funkcji PHP potrzebnej do jej prawidłowego działania może wyglądać podobnie do poniższego:
Jeżeli dla domeny ustawiona jest starsza wersja PHP, komunikat na stronie będzie miał postać błędu. Przykład treści takiego błędu:
Warning: exec() has been disabled for security reasons in /home/nazwaHostingu/domains/domena.xx/…
Dodatkowo istnieje możliwość włączenia mechanizmu rejestrowania błędów PHP. Aby to osiągnąć, oprócz włączenia funkcji display_errors, o której mowa w poradniku z kroku 1, należy również aktywować opcję log_errors. Dzięki temu wszelkie błędy zostaną zarejestrowane w pliku dziennika błędów (Error Log), który można następnie przejrzeć: https://cyberfolks.pl/pomoc/jak-sprawdzic-logi/
3. Jeżeli separacja domeny wyłączyła potrzebną twojej stronie funkcję PHP, rozwiązania są dwa:
– Wyłączenie separacji dla danej domeny — co ma jednak wpływ na jej bezpieczeństwo.
– Zwrócenie się do twórcy twojej strony z prośbą o zmiany w jej kodzie — co rekomendujemy.
Czym jest separacja serwisów?
Separacja serwisów polega rozdzieleniu dostępu, uprawnień do plików serwisów na poziomie użytkownika z którego uruchamiane są te serwisy przez serwer www. Separacja serwisów podnosi ich bezpieczeństwo, uniemożliwia ingerencję w pliki jednego serwisu w pliki drugiego serwis jeśli ten pierwszy uległ włamaniu.
W przypadku pakietów hostingowych opartych o panel administracyjny webas nie ma możliwości separacji serwisów www, wszystkie serwisy niezależnie od ich ilości, działają w ramach jednego użytkownika systemowego, z którego są uruchamiane. Luka w jednym z serwisów naraża niestety pozostałe na ingerencje złośliwego kodu.
W przypadku serwerów VPS oraz serwerów dedykowanych separacja serwisów www jest możliwa i polega uruchomieniu danego serwisu (który chcemy odseparować) na osobnym koncie FTP w ramach którego będzie uruchomiony tylko ten jeden serwis.
Czynności jakie trzeba wykonać to:
- utwórz nowe konto FTP w Webas > Usługi > FTP > NOWE KONTO
- przenieś pliki separowanego serwisu na nowo utworzone konto FTP dowolnym klientem FTP
- przypisz bazę danych serwisów do nowo utworzonego konta FTP w Webas > Usługi > Bazy danych
- przepnij domenę separowanego serwisu do nowo utworzonego konta FTP oraz ustaw katalog w Webas > Domeny > twoja-domena > Konto FTP
Domena zostanie przepięta do nowego konta FTP wraz zachowaniem wszystkich konfiguracji pocztowych, czyli konfiguracją skrzynek pocztowych oraz ich zawartością.