W dzisiejszych czasach, gdy większość działań odbywa się w przestrzeni wirtualnej, bezpieczeństwo w sieci jest coraz ważniejsze. Jednym z elementów, który pomaga zabezpieczyć strony internetowe, jest nagłówek “Header set Content-Security-Policy”.
Header set Content-Security-Policy to nagłówek HTTP, który umożliwia ustalenie zasad dotyczących wykonywania skryptów, ładowania obrazów, stylów czy innych zasobów na stronie. Dzięki temu można zminimalizować ryzyko ataków takich jak Cross-Site Scripting (XSS), Clickjacking czy innych.
W jaki sposób umieścić taki wpis? Wystarczy dodać poniższy kod w pliku .htaccess (lub odpowiednim dla danego serwera pliku konfiguracyjnym):
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; img-src 'self'; style-src 'self' 'unsafe-inline'; font-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'"
Powyższy wpis ustawia standardowe zasady dotyczące korzystania z zasobów na stronie, takie jak:
- default-src ‘self’: pozwala na ładowanie zasobów tylko z bieżącej domeny
- script-src ‘self’ ‘unsafe-inline’: pozwala na wykonywanie skryptów tylko z bieżącej domeny oraz na umieszczanie skryptów bezpośrednio na stronie (ale jest to podejrzane, dlatego nie jest zalecane)
- img-src ‘self’: pozwala na ładowanie obrazów tylko z bieżącej domeny
- style-src ‘self’ ‘unsafe-inline’: pozwala na korzystanie ze stylów tylko z bieżącej domeny oraz na umieszczanie stylów bezpośrednio na stronie (co również nie jest zalecane)
- font-src ‘self’: pozwala na ładowanie czcionek tylko z bieżącej domeny
- frame-ancestors ‘none’: uniemożliwia korzystanie z ramki dla strony
- base-uri ‘self’: pozwala na korzystanie z atrybutu “base” tylko dla bieżącej domeny
- form-action ‘self’: pozwala na wysyłanie formularzy tylko na bieżącą domenę.
Warto jednak pamiętać, że każda strona może mieć różne wymagania dotyczące zasad bezpieczeństwa, w zależności od wykorzystywanych technologii. Dlatego najlepiej zawsze dostosować nagłówek “Header set Content-Security-Policy” do konkretnych potrzeb.
Jakie są najlepsze metody korzystania z nagłówka “Header set Content-Security-Policy”?
- Używaj odpowiednich wartości dla każdej dyrektywy. Upewnij się, że zdefiniowane zasady odpowiadają rzeczywistym wymaganiom strony