blog
user
12 102021

Strona www oparta na October CMS jest bezpieczną aplikacją jednak są możliwości do zwiększenia bezpieczeństwa witryny. Poniższe propozycje zostały zebrane w oparciu o testy bezpieczeństwa witryny przeprowadzonego za pośrednictwem serwisu crashtest-security.com.

Instalacja wtyczek October CMS

W pierwszej kolejności warto zainstalować wtyczkę CSRF dostępną pod adresem https://octobercms.com/plugin/vdlp-csrf. Po instalacji należy dodać meta tag w nagłówku html:


Wtyczka dodaje CSRF token, który następnie jest sprawdzany przy połączeniach typu POST lub PUT z serwerem np przy zapytaniach z formularzy. Jeżeli wartość tokena się nie zgadza lub go nie będzie połączenie zostanie odrzucone.

Modyfikcja .htaccess

Kolejnym etapem jest modyfikacja pliku .htaccess. Należy do niego dodać dyrektywy zwiększające bezpieczeństwo witryny na różnych warstwach komunikacji z komputerem klienta.

Header always set Strict-Transport-Security "max-age=31536000"

Powyższa dyrektywa wymusza komunikację wyłącznie na poziomie SSL. Wszelkie próby połączenia za pomocą nieszyfrowanego połączenia będą odrzucane.

Header always set X-Frame-Options "deny"

Ustawienia tej dyrektywy definiują czy przeglądarka może renderować elementy html takie jak iframe, embed, object. Powyższy przykład zabrania renderowania takich elementów ale można ustawić wartość zezwalającą na renderowanie obiektów pochodzących z tego samego źródła co strona www. Dodanie tej dyrektywy może zablokować wyświetlanie map google które są generowane przez iframe .

Header always set X-XSS-Protection "1; mode=block"

Dyrektywa blokuje próby ataku typu XSS. Większość przeglądarek nie wspiera tej dyrektywy.

Header always set Content-Security-Policy "style-src 'self' 'unsafe-inline' *.cdndomena.eu; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.cdndomena.eu *.googletagmanager.com *.google-analytics.com;"

W tej dyrektywie definiujemy dopuszczalne domeny dla poszczególnych mediów. Konfiguracja jest szczególnie przydatna w przypadkach próby wstrzyknięcia kodu w witrynę i wywołania go podczas jej otwarcia. Ataki takie mają miejsce bardziej w przypadku próby wyłudzenia danych niż złamania zabezpieczeń samej witryny. Powyższy przykład zezwala na otwieranie skryptów css tylko przez domenę własną lub cdn a skryptów js przez domenę własną cdn lub google analytics.

Header always set Referrer-Policy "strict-origin-when-cross-origin"

Wszystkie powyższe dyrektywy mogą być definiowane niezależnie od posiadanego silnika. Mogą być definiowane w pliku .haccess również w Wordpress czy Prestashop.


Konfiguracja October CMS

W konkretnym przypadku chodzi o konfigurację pliku /config/session.php

'secure' => true,

Ustawienie wartości na true oznacza, że ciastaeczka będą wysłane tylko wtedy gdy połączenie z serwerem jest przez protokół HTTPS.

'same_site' => "strict"

Ustawienie tej wartości na "strict" zablokuje wysyłanie ciasteczek jeżeli strona otwarta jest z linku zewnętrznego. Ciasteczka wysyłane są tylko w bezpośrednim zapytaniu GET. Należy ostrożnie postępować z tym ustawieniem ponieważ może spowodować nieprawidłowe działanie strony www.

Nasze newsy

Śledź nasze aktualności.

blog
user
16 042024

Wiosenne pożądki na serwerze

Wiosenne uporządkowanie zasobów na serwerze.

blog
user
13 072023

Iteracja dużej ilości danych w Laravel Eloquent

Jak poprawnie iterować dużą ilość danych w Laravel Eloquent

blog
user
29 032023

Wtyczka do Octobercms blokująca ip

Nowa wtyczka do Octobercms zwiększająca bezpieczeństwo stron www.

logo

Masz pytania? Skontaktuj się