~/blog ←
security · zaktualizowano

Security headers, czyli bezpieczne nagłówki HTTP

Spis treści
  1. Co jeszcze warto zmienić, usunąć?

Dodając odpowiednie nagłówki możemy znacząco zwiększyć bezpieczeństwo naszej strony internetowej, sklepu czy aplikacji.

Zapraszam do przeczytaniu wpisu.

Content-Security-Policy - nagłówek chroni nas przed atakiem XSS. Możemy zdelarować “białą listę” źródeł, które mogą zostać załadowane z zewnętrznych serwerów.

W skrócie: jeśli atakujący umieściłby na Twojej stronie kod, który umożliwiałby wykonanie zapytania do innego serwera, a Ty miałbyś wprowadzony ten nagłówek poprawnie - nic się nie stanie. Zapytanie nie zostanie wykonane. Twoja strona jest bezpieczna :)

Należy pamiętać, że po dodaniu tego nagłówka wszystkie style inline’owe CSS zostaną “wyłączone”. Musimy również określić “białą listę” stron, z których możemy ładować dodatkowe rzeczy np. Google Fonts.

Które przeglądarki obsługują CSP? https://caniuse.com/#feat=contentsecuritypolicy

X-Frame-Options - informuje przeglądarkę o tym, czy pozwalamy umieszczać naszą stronę w ramce (iframe). Dodanie tego nagłówka uniemożliwia lub przynajmniej utrudnia wykonanie ataku clickjacking. Przykład ataku możecie zobaczyć tutaj:

Które przeglądarki obsługują X-Frame-Options? https://caniuse.com/#feat=x-frame-options

X-XSS-Protection - informuje przeglądarki, że mają przestać ładować strony jeśli wykryją, że przeprowadzany jest atak XSS. Nagłówek chroni użytkowników starszych przeglądarek. Jeśli wprowadziłeś nagłówek Content-Security-Policy, to nie potrzebujesz X-XSS-Protection.

X-Content-Type-Options - informacja o tym, że typ MIME (lub Content-Type), powinien być przestrzegany, niezmieniany. Zabezpiecza przed sniffingiem.

Strict-Transport-Security - informuje przeglądarkę o tym, że dostęp do strony powinien odbywać się za pomocą protokołu HTTPS, a nie HTTP.

Co jeszcze warto zmienić, usunąć?

Server - nagłówek informujący o oprogramowaniu serwera. Można ten nagłówek zmodyfikować tak aby zwracał fałszywą nazwę oprogramowania lub całkowicie usunąć.

X-Powered-By - informuje w jakim języku została napisana nasza strona. Nagłówek może zostać usunięty lub powinniśmy zmienić jego wartość - kolejne utrudnienie dla atakującego.

// tagi