Content Security Policy
Silktide sprawdza, czy każda strona deklaruje Content Security Policy — standardowy środek bezpieczeństwa, który określa przeglądarkom, z których źródeł skryptów, obrazów i innych treści strona może korzystać.
Content Security Policy (CSP) jest dostarczana jako lub tag meta, na przykład:
Content-Security-Policy: default-src 'self'; script-src 'self' scripts.example.com
Ten przykład informuje przeglądarkę, aby ładowała treści wyłącznie z Twojej własnej domeny oraz skrypty z jednego zaufanego hosta.
Dlaczego to jest ważne
Bez CSP strona wykonuje wszystko, co zostanie jej przekazane. Jeśli atakującemu uda się wstrzyknąć skrypt — za pośrednictwem przejętego tagu innej firmy, podatnego pola komentarza lub przejętej sieci reklamowej — przeglądarka wykona go z pełnym dostępem do strony, w tym do wszystkiego, co wpisują Twoi odwiedzający. Ta klasa ataków, cross-site scripting, pozostaje jednym z najczęstszych sposobów przejmowania witryn.
CSP stanowi zabezpieczenie po stronie przeglądarki: wstrzyknięte treści z niezatwierdzonego źródła po prostu się nie ładują. Dokumentuje również, z którymi podmiotami zewnętrznymi komunikują się Twoje strony, co pomaga przy wykazywaniu zgodności z przepisami dotyczącymi prywatności, takimi jak .
Jak to naprawić
- Wymień prawidłowe źródła, z których Twoje strony ładują treści: własną domenę, , Analytics, czcionki i osadzone multimedia.
- Napisz politykę zezwalającą wyłącznie na te źródła. Zacznij restrykcyjnie,
na przykład od
default-src 'self', i w razie potrzeby dodaj konkretne źródła dla poszczególnych typów treści (script-src,img-src,style-src). - Skonfiguruj serwer WWW, platformę hostingową lub CDN tak, aby wysyłały
politykę jako nagłówek
Content-Security-Policyna każdej stronie. Jeśli nie możesz zmienić nagłówków, zadziała również tag<meta http-equiv="Content-Security-Policy">w sekcji head strony, choć preferowany jest nagłówek. - Przetestuj przed wymuszeniem: najpierw wysyłaj politykę jako
Content-Security-Policy-Report-Onlyi obserwuj konsolę przeglądarki pod kątem treści, które zostałyby zablokowane. Pamiętaj, że ta kontrola szuka nagłówka wymuszającego, więc polityka wyłącznie raportująca jej nie zalicza.
Jak Silktide to testuje
- Ładuje każdą stronę i zbiera jej nagłówki HTTP wraz ze wszystkimi tagami
meta
http-equivna stronie, które przeglądarki traktują w ten sam sposób. - Wyszukuje wartość
Content-Security-Policyw jednym z tych miejsc. - Zgłasza stronę, jeśli nie występuje w żadnym z nich lub jej wartość jest pusta.
- Silktide nie ocenia jakości polityki — sprawdza jedynie, czy istnieje.
Rozwiązywanie problemów
Ustawiłem(-am) politykę, ale kontrola nadal nie przechodzi
Potwierdź, że nagłówek pojawia się na dokładnie tych stronach, które są skanowane — polityki bywają konfigurowane tylko dla strony głównej lub jednego hosta wirtualnego. Nagłówki zwracane przez stronę możesz zobaczyć w narzędziach deweloperskich przeglądarki, na karcie Sieć.
Czy CSP może uszkodzić moją witrynę?
Zbyt restrykcyjna polityka może zablokować własne skrypty lub style. Dlatego
zdecydowanie zaleca się najpierw testowanie za pomocą
Content-Security-Policy-Report-Only — zgłasza ono naruszenia bez blokowania
czegokolwiek.