Security headers, czyli bezpieczne nagłówki HTTP

https

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.

You May Also Like

About the Author: Mateusz Dudek

2 Comments

  1. W obecnych czasach ciężko, nie osadzać stylów in-line.
    Po za tym przydało by się kilka przykładów użycia / jak zastosować reguły.

    1. Niestety nie mogę się zgodzić z tym, że ciężko nie osadzać in-line. Kwestia sposobu pisania 🙂
      Jeśli chodzi o przykłady to masz rację, rzeczywiście będę musiał uzupełnić wpis.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *