Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

WordPress hardening — bezpieczeństwo krok po kroku

Opublikowano: 8 kwietnia 2026 · Kategoria: WordPress / Bezpieczeństwo

WordPress to cel 90% ataków na strony WWW — ze względu na popularność i nieaktualizowane wtyczki. Hardening to seria konfiguracji zmniejszających powierzchnię ataku. Ten artykuł opisuje praktyczne kroki bez utraty funkcjonalności.

Prawa dostępu do plików

# Ustaw prawa dostępu (uruchom z katalogu instalacji WordPress)
find /var/www/html/twojadomena.pl -type f -exec chmod 644 {} \;
find /var/www/html/twojadomena.pl -type d -exec chmod 755 {} \;

# Krytyczne pliki — bardziej restrykcyjne
chmod 600 wp-config.php
chmod 600 .htaccess

# Sprawdź prawa (nie powinno być plików 777 lub 666)
find . -type f -perm 777 -ls
find . -type d -perm 777 -ls

Bezpieczna konfiguracja wp-config.php

// Wyłącz edycję plików z dashboardu (zapobiega modyfikacji przez XSS)
define('DISALLOW_FILE_EDIT', true);

// Wyłącz instalację wtyczek/motywów (opcjonalne, rekomendowane na produkcji)
define('DISALLOW_FILE_MODS', true);

// Wymuś HTTPS w panelu admina
define('FORCE_SSL_ADMIN', true);

// Ogranicz czas sesji (w sekundach, domyślnie 2 dni)
define('AUTH_COOKIE_EXPIRATION', 3600); // 1 godzina

// Wyłącz debugowanie na produkcji
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);

Ochrona /wp-admin przez .htaccess

# Ogranicz dostęp do /wp-admin po IP (umieść w /wp-admin/.htaccess)
order deny,allow
deny from all
allow from TWÓJ_IP_BIURO
allow from TWÓJ_IP_DOM

# Zablokuj xmlrpc.php (jeśli nie używasz Jetpack ani mobilnej apki WP)
# (umieść w głównym .htaccess)
<Files xmlrpc.php>
  order deny,allow
  deny from all
</Files>

# Zablokuj dostęp do wp-config.php
<Files wp-config.php>
  order allow,deny
  deny from all
</Files>

# Ukryj wersję WordPress (usuń z nagłówków)
Header unset X-Powered-By

Dwuskładnikowe uwierzytelnianie (2FA)

# Wtyczka WP 2FA (darmowa, zalecana)
# 1. Zainstaluj: wp plugin install wp-2fa --activate --allow-root
# 2. Skonfiguruj przez: Użytkownicy → Twój profil → 2FA

# Alternatywa: WP-CLI + Google Authenticator
wp plugin install google-authenticator --activate --allow-root

# Po instalacji — wymuś 2FA dla ról admina:
# Ustawienia → WP 2FA → Wymuś 2FA dla: Administrator

Zmiana prefiksu tabel bazy danych

# UWAGA: Przed zmianą zrób PEŁNY backup bazy danych!
wp db export backup-przed-zmiana-prefiksu.sql --allow-root

# Metoda 1: Wtyczka Better Search Replace lub Brozzme DB Prefix
# Zmień wp_ na twojprefiks_ w wp-config.php i bazie

# Metoda 2: Ręcznie w wp-config.php
# $table_prefix = 'twojprefiks_';  (zmień z domyślnego 'wp_')

# TYLKO dla nowych instalacji — przy istniejącej bazie użyj wtyczki
# lub specjalistycznego skryptu (możliwość błędów przy nieumiejętnej zmianie)

Monitoring i reagowanie na incydenty

# Skanowanie malware (Wordfence)
wp plugin install wordfence --activate --allow-root
# Następnie: Wordfence → Scan → Start New Scan

# Sprawdź zmodyfikowane pliki (podejrzane pliki zmienione w ostatnich 24h)
find /var/www/html/twojadomena.pl -newer /var/www/html/twojadomena.pl/wp-config.php \
  -not -path '*/wp-content/uploads/*' -type f

# Sprawdź nieznane pliki PHP w uploads (typowy wstrzyknięty malware)
find /var/www/html/twojadomena.pl/wp-content/uploads -name '*.php' -type f

# Log nieudanych logowań (Apache)
grep '403\|401' /var/log/apache2/access.log | grep 'wp-login' | tail -20

Najczęstsze pytania

Jakie są najważniejsze kroki w hardeningu WordPress? +
Najważniejsze kroki: (1) Zmień prefiks tabel bazy danych (nie wp_). (2) Ukryj stronę logowania — zmień /wp-admin przez wtyczkę. (3) Włącz dwuskładnikowe uwierzytelnianie (2FA). (4) Ustaw prawa dostępu: pliki 644, katalogi 755, wp-config.php 600. (5) Zablokuj edycję plików z dashboardu (DISALLOW_FILE_EDIT). (6) Wyłącz xmlrpc.php jeśli nie potrzebujesz. (7) Regularny backup i aktualizacje.
Jak zabezpieczyć wp-config.php? +
Przenieś wp-config.php poziom wyżej niż katalog public_html (WordPress automatycznie go znajdzie). Ustaw chmod 600 na pliku. Dodaj do .htaccess: <Files wp-config.php> order allow,deny deny from all </Files>. Używaj unikalnych kluczy AUTH_KEY, SECURE_AUTH_KEY itd. — wygeneruj na wordpress.org/support/article/editing-wp-config-php/.
Jak chronić stronę logowania WordPress? +
Metoda 1: Zmień URL logowania przez wtyczkę (WPS Hide Login, Perfmatters). Metoda 2: Ogranicz dostęp do /wp-admin po IP w .htaccess. Metoda 3: Włącz 2FA (WP 2FA, Google Authenticator). Metoda 4: Limit prób logowania (Limit Login Attempts Reloaded). Kombinacja wszystkich czterech metod skutecznie eliminuje ataki brute-force.
Które wtyczki bezpieczeństwa WordPress są najlepsze? +
Wordfence Security (firewall + skanowanie malware, darmowa wersja wystarczy dla większości). Sucuri Security (monitoring + firewall WAF — płatny). iThemes Security (dawniej Better WP Security, kompleksowy hardening). WP 2FA (dwuskładnikowe logowanie). WPS Hide Login (zmiana URL logowania). Nie instaluj kilku wtyczek bezpieczeństwa naraz — konfliktują i spowalniają stronę.

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.