Polityka bezpieczeństwa treści ( CSP ) to dodatkowa warstwa zabezpieczeń, która pomaga wykrywać i łagodzić niektóre rodzaje ataków, w tym Cross Site Scripting ( XSS ) i ataki wstrzykiwania danych. Ataki te są wykorzystywane do wszystkiego, od kradzieży danych po defragmentację witryny i dystrybucję złośliwego oprogramowania.
CSP ma być w pełni kompatybilny wstecz (z wyjątkiem CSP wersji 2, gdzie znajdują się niektóre wyraźnie wymienione niespójności w kompatybilności wstecznej, więcej szczegółów tutaj sekcja 1.1). Przeglądarki, które go nie obsługują, nadal działają z serwerami, które go implementują, i odwrotnie: przeglądarki, które nie obsługują CSP, po prostu go ignorują, działając jak zwykle, domyślnie stosując standardową politykę tego samego pochodzenia dla treści internetowych. Jeśli witryna nie oferuje nagłówka CSP, przeglądarki również korzystają ze standardowej zasady tego samego pochodzenia .
Aby włączyć CSP, musisz skonfigurować swój serwer WWW, aby Content-Security-Policyzwracał nagłówek HTTP (czasami zobaczysz wzmianki o X-Content-Security-Policynagłówku, ale to jest starsza wersja i nie musisz już jej określać).
Alternatywnie, <meta>element może być użyty do skonfigurowania polityki, na przykład:<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src https://*; child-src 'none';">
Zagrożeń
Ograniczanie sekcji skryptów krzyżowych
Podstawowym celem CSP jest łagodzenie i raportowanie ataków XSS. Ataki XSS wykorzystują zaufanie przeglądarki do treści otrzymywanych z serwera. Złośliwe skrypty są wykonywane przez przeglądarkę ofiary, ponieważ przeglądarka ufa źródłu treści, nawet jeśli nie pochodzi z miejsca, z którego wydaje się pochodzić.
CSP umożliwia administratorom serwerów zmniejszenie lub wyeliminowanie wektorów, w których XSS może wystąpić, poprzez określenie domen, które przeglądarka powinna uznać za prawidłowe źródła wykonywalnych skryptów. Przeglądarka zgodna z CSP wykona wtedy tylko skrypty załadowane w plikach źródłowych otrzymanych z tych domen, ignorując wszystkie inne skrypty (w tym skrypty wbudowane i atrybuty HTML obsługi zdarzeń).
Jako ostateczna forma ochrony witryny, które nigdy nie pozwalają na wykonywanie skryptów, mogą zdecydować się na globalne uniemożliwienie wykonywania skryptów.
Łagodzenie ataków wąchania pakietów Sekcja
Oprócz ograniczania domen, z których można ładować zawartość, serwer może określić, które protokoły mogą być używane; na przykład (a najlepiej z punktu widzenia bezpieczeństwa) serwer może określić, że cała zawartość musi być załadowana przy użyciu HTTPS. Pełna strategia bezpieczeństwa transmisji danych obejmuje nie tylko wymuszanie HTTPS w celu przesyłania danych, ale także oznaczanie wszystkich plików cookie bezpieczną flagą i automatyczne przekierowywanie ze stron HTTP do ich odpowiedników HTTPS. Witryny mogą również używać Strict-Transport-Securitynagłówka HTTP, aby zapewnić, że przeglądarki łączą się z nimi tylko za pośrednictwem szyfrowanego kanału .