Nagłówki HTTP dla bezpieczeństwa: Zmiana nagłówków w WordPress

By Piotr Sikora

  • automatic-tests

Chcesz ustawić nagłówki HTTP bezpieczeństwa w WordPress? X-Content-Type-Options, X-XSS-Protection, X-Frame-Options, Referrer-Policy, Permissions-Policy, Strict-Transport-Security

Po ostatnim warsztacie o bezpieczeństwie chciałem sprawdzić jak wykorzystać tę wiedzę w żywym projekcie.

Aby sprawdzić jak to działa, spróbowałem użyć dwóch scenariuszy:

  1. https://developer.wordpress.com/docs/tutorials/add-http-headers/ - do zmiany nagłówków HTTP używając pliku custom-redirects.php

  2. https://docs.wpvip.com/infrastructure/http-headers/ - do zmiany nagłówków HTTP używając pliku functions.php

Żaden z nich nie zadziałał po mojej stronie...

Ale w końcu znalazłem plugin: https://wordpress.org/plugins/http-headers/

Jak sprawdzić nagłówki HTTP

Aby sprawdzić ważne z punktu widzenia bezpieczeństwa nagłówki HTTP, dobrze jest użyć tej strony:

https://securityheaders.com

Strona daje informacje o używanych przez domenę nagłówkach bezpieczeństwa.

Punkt startowy dla piotr-sikora.com

Poniżej możesz zobaczyć, że skanowanie mojej strony wyglądało jak jedna wielka czerwona flaga.

Nagłówki HTTP dla bezpieczeństwa - Jak zmienić nagłówki HTTP w WordPress krok 1

Dodatkowo chciałem się upewnić, że moje nagłówki są dostępne, więc stworzyłem krótki Jupyter Notebook w Pythonie:

import requests

url = "https://piotr-sikora.com"

response = requests.get(url)

# Wypisz wszystkie nagłówki
for header in response.headers:
    print(header, ":", response.headers[header])
    # print(header)

Po uruchomieniu tego kodu lista moich nagłówków:

Server : nginx
Date : Sun, 01 Sep 2024 14:39:16 GMT
Content-Type : text/html; charset=UTF-8
Transfer-Encoding : chunked
Connection : keep-alive
X-Powered-By : PHP/8.1.29
Link : <https://piotr-sikora.com/wp-json/>; rel="https://api.w.org/"

Sprawdź czy securityheaders.com ma poprawne nagłówki HTTP

Syn szewca zawsze chodzi boso więc... sprawdźmy czy sama strona ma wszystkie nagłówki HTTP ustawione:

Nagłówki HTTP dla bezpieczeństwa - Jak zmienić nagłówki HTTP w WordPress krok 2

... i potraktujmy to jako cel dla strony.

Instalacja pluginu HTTP Headers i konfiguracja

Przede wszystkim zainstalowałem plugin WP:

https://wordpress.org/plugins/http-headers/

Po sprawdzeniu raportu zacząłem krok po kroku zmieniać odpowiednie nagłówki. Możesz zobaczyć ustawienia w pluginie:

Nagłówki HTTP dla bezpieczeństwa - Jak zmienić nagłówki HTTP w WordPress krok 3

Następnie wszedłem w pierwszy link - SECURITY:

Nagłówki HTTP dla bezpieczeństwa - Jak zmienić nagłówki HTTP w WordPress krok 4

Każdy wymieniony nagłówek ma zestaw opcji gotowych do użycia. Aby uzyskać do nich dostęp, kliknij 'Edit' na końcu linii. Na przykład nagłówek X-Frame-Options:

Konfiguracja nagłówka X-Frame-Options w pluginie HTTP Headers WordPress

Nagłówek X-XSS-Protection:

Konfiguracja nagłówka X-XSS-Protection w pluginie HTTP Headers WordPress

Wynik końcowy - Ocena B

Po wszystkich zmianach możliwych z pluginem HTTP Headers WordPress raport z:

Wynik skanowania nagłówków bezpieczeństwa pokazujący ocenę B

I ze skryptu Jupyter Notebook:

Server : nginxDate : Sun, 01 Sep 2024 15:26:25 GMTContent-Type : text/html; charset=UTF-8Transfer-Encoding : chunkedConnection : keep-aliveX-Frame-Options : SAMEORIGINX-XSS-Protection : 1; mode=blockStrict-Transport-Security : max-age=2592000Content-Security-Policy : default-src https:; script-src https:; style-src https:; img-src https:; connect-src https:; font-src https:; media-src https:; report-uri https:; child-src https:; form-action https:; frame-ancestors https:; object-src https:; frame-src https:; worker-src https:; manifest-src https:; navigate-to https:; prefetch-src https:; base-uri https:Referrer-Policy : same-originPermissions-Policy : autoplay=()X-Powered-By : PHP/8.1.29Link : https://piotr-sikora.com/wp-json/; rel="https://api.w.org/"

Podsumowanie: Zalecane sprawdzenie nagłówków HTTP bezpieczeństwa

  • X-Content-Type-Options
  • X-XSS-Protection
  • X-Frame-Options
  • Referrer-Policy
  • Permissions-Policy
  • Strict-Transport-Security

Categories

Recent Posts

About Me

Piotr Sikora - Process Automation | AI | n8n | Python | JavaScript

Piotr Sikora

Process Automation Specialist

I implement automation that saves time and money, streamlines operations, and increases the predictability of results. Specializing in process automation, AI implementation, and workflow optimization using n8n, Python, and JavaScript.

n8n Workflows

n8n workflow automation templates

Explore my workflow templates on n8n. Ready-to-use automations for blog management, data collection, and AI-powered content processing.

3Workflow Templates

• Auto-Categorize Blog Posts with AI

• Collect LinkedIn Profiles

• Export WordPress Posts for SEO

Podobne artykuły

Odkryj więcej powiązanych treści

WordPress: Wyłącz XML-RPC - Co to jest i dlaczego jest ważne

WordPress: Wyłącz XML-RPC - Co to jest i dlaczego jest ważne

Dowiedz się czym jest WordPress XML-RPC, dlaczego xmlrpc.php stanowi zagrożenie bezpieczeństwa i jak go wyłączyć za pomocą .htaccess.

n8n Workflow: Eksport Postów WordPress dla SEO

n8n Workflow: Eksport Postów WordPress dla SEO

Workflow n8n dla content managerów i specjalistów SEO

Usuwanie niechcianych plików z serwera WordPress

Miałem okazję pracować z jedną ze stron, która została dotknięta atakiem hakerów