← Wróć na stronę główną

Jak działa skanowanie

Każdego dnia system wykonuje pełny cykl diagnostyczny dla każdej monitorowanej strony. Proces składa się z trzech kroków:

Krok 1
Fetch
Pobranie danych diagnostycznych z wtyczki WordPress
Krok 2
Checks
17 niezależnych checkerów analizuje dane
Krok 3
Report
Wynik → scoring, raport JSON, alerty, PDF

Dane diagnostyczne zbierane są przez lekką wtyczkę zainstalowaną na stronie WordPress. Endpoint jest zabezpieczony tokenem i aktywuje się wyłącznie na żądanie serwera monitoringu — zero wpływu na wydajność strony.

Zebrane dane są analizowane przez 17 niezależnych checkerów. Każdy specjalizuje się w jednym aspekcie bezpieczeństwa i generuje listę wykrytych problemów z przypisanym poziomem krytyczności.

Kluczowa różnica

Skanujemy od wewnątrz, nie z zewnątrz

Większość skanerów bezpieczeństwa WordPress działa z zewnątrz — odpytuje stronę jak przeglądarka i zgaduje na podstawie tego, co widzi. My mamy wtyczkę wewnątrz instalacji, co daje nam dostęp do informacji niedostępnych z poziomu sieci.

Typowy skaner zewnętrzny

  • Zgaduje wersję WP z meta tagów i plików CSS
  • Nie widzi listy zainstalowanych wtyczek
  • Nie zna konfiguracji PHP ani wp-config.php
  • Nie sprawdzi uprawnień plików na serwerze
  • Nie zajrzy do katalogu uploads ani wp-includes
  • Nie zweryfikuje kont administratorów

Nostromo — skan od wewnątrz

  • Dokładne wersje WP, PHP, MySQL z systemu
  • Pełna lista wtyczek i motywów z wersjami
  • Audyt konfiguracji PHP i stałych wp-config.php
  • Realne uprawnienia katalogów i plików
  • Skan uploads pod kątem backdoorów
  • Weryfikacja kont, ról i kluczy bezpieczeństwa

Co sprawdzamy

System uruchamia 17 niezależnych checkerów. Każdy specjalizuje się w jednym aspekcie bezpieczeństwa i klasyfikuje znalezione problemy na trzech poziomach:

Critical — wymaga natychmiastowej reakcji
Warning — zalecana korekta
Info — best practice

Critical Podatności CVE

Sprawdzamy wersje WordPress, PHP, MySQL, każdej aktywnej wtyczki i motywu pod kątem znanych podatności zarejestrowanych w bazie CVE. Jeśli którykolwiek komponent ma potwierdzoną lukę — wiemy o tym w ciągu 24 godzin od jej publikacji.

Critical Integralność plików wp-includes

Porównujemy pliki wp-includes WordPress z oficjalnymi checksumami. Jeśli jakikolwiek plik został zmodyfikowany — to pierwszy sygnał potencjalnego włamania lub wstrzyknięcia złośliwego kodu.

Critical Pliki PHP w katalogu uploads

Katalog uploads powinien zawierać wyłącznie media. Obecność plików PHP to klasyczny symptom backdoora — skanujemy pod tym kątem przy każdym cyklu.

Critical Pliki w katalogu głównym

Szukamy archiwów (.sql, .zip, .tar.gz), publicznie dostępnego repozytorium .git i niestandardowych plików PHP. Każdy z nich to potencjalny wyciek danych lub punkt wejścia dla atakującego.

Warning Aktualność komponentów

Porównujemy zainstalowane wersje WordPress, wtyczek i motywów z najnowszymi dostępnymi w repozytorium WordPress.org. Nieaktualne komponenty to najczęstsza przyczyna udanych ataków.

Warning Audyt konfiguracji WordPress

Weryfikujemy kluczowe parametry bezpieczeństwa: WP_DEBUG, XML-RPC, FORCE_SSL_ADMIN, edytor plików w panelu, publiczny endpoint /users, prefiks tabel bazy danych i inne stałe wp-config.php.

Warning Konfiguracja PHP

Analizujemy ustawienia PHP na serwerze — od krytycznych (allow_url_include, display_errors) po informacyjne (expose_php, open_basedir). Sprawdzamy też dostępność niebezpiecznych funkcji systemowych i konfigurację ciasteczek sesji.

Warning Uprawnienia plików i katalogów

Weryfikujemy uprawnienia katalogu głównego, wp-content, uploads i pliku wp-config.php. Uprawnienia 777 lub 775 na serwerze współdzielonym to otwarte drzwi dla atakującego.

Warning Konta administratorów

Sprawdzamy loginy kont z uprawnieniami administratora. Przewidywalne loginy (admin, root, test) dramatycznie ułatwiają ataki brute-force. Weryfikujemy też liczbę kont — im więcej, tym większa powierzchnia ataku.

Warning Rejestracja użytkowników

Jeśli publiczna rejestracja jest otwarta, sprawdzamy jaką rolę otrzymują nowe konta. Otwarta rejestracja z domyślną rolą administratora to natychmiastowe przejęcie strony — bez łamania zabezpieczeń.

Warning Klucze bezpieczeństwa

Weryfikujemy obecność i unikalność 8 kluczy bezpieczeństwa WordPress (AUTH_KEY, salts). Brakujące lub domyślne klucze oznaczają, że sesje użytkowników mogą być fałszowane.

Warning Automatyczne aktualizacje

Sprawdzamy, czy automatyczne aktualizacje bezpieczeństwa (minor releases) są włączone. Wyłączenie ich oznacza, że łatki na krytyczne podatności nie instalują się samodzielnie.

Info Application Passwords i WP-Cron

Monitorujemy aktywne tokeny Application Passwords (dostęp do REST API bez głównego hasła) oraz stan schedulera WP-Cron — duża liczba zaległych zadań może wskazywać na problem z wydajnością lub konfiguracją.

Info Nieaktywne wtyczki i motywy

Identyfikujemy komponenty zainstalowane na serwerze, ale nieużywane. Ich pliki są nadal dostępne z sieci i mogą zawierać podatności — bez aktualizacji, bo właściciel strony nie widzi powiadomień dla nieaktywnych komponentów.

Scoring 0–100

Każda strona otrzymuje wynik bezpieczeństwa od 0 do 100, obliczany na podstawie wykrytych problemów. Startujemy od 100 punktów i odejmujemy kary za każde issue:

Kary za critical: od -10 do -25 punktów (np. podatność CVE w rdzeniu WP: -25, plik PHP w uploads: -10)
Kary za warning: od -3 do -8 punktów
Kary za info: od -1 do -2 punktów

90–100
Doskonały
75–89
Dobry
50–74
Wymaga uwagi
25–49
Słaby
0–24
Krytyczny

Wynik jest prezentowany w raportach PDF i na dashboardzie. Pozwala na szybkie porównanie stanu bezpieczeństwa wielu stron jednocześnie.

Źródła danych

System korzysta z oficjalnych, publicznie dostępnych źródeł danych:

CVE

wpvulnerability.net

Baza podatności CVE dla ekosystemu WordPress — rdzeń, wtyczki, motywy. Dane cachowane lokalnie co 24h. Każda podatność zawiera numer CVE, opis, link do Wordfence lub Patchstack.

WP

WordPress.org API

Oficjalne API do sprawdzania najnowszych wersji wtyczek, motywów i wp-includes WordPress. Wtyczki premium (spoza repozytorium WP.org) są pomijane. Cache 24h.

#

WordPress Checksums API

Oficjalne checksumeny plików wp-includes WordPress (api.wordpress.org/core/checksums). Pozwalają wykryć zmodyfikowane pliki wp-includes bez dostępu do serwera.

Wtyczka diagnostyczna

Na każdej monitorowanej stronie instalujemy lekką wtyczkę WordPress, która:

Udostępnia endpoint REST API — zwraca JSON z diagnostykami: wersje komponentów, lista wtyczek/motywów, konfiguracja PHP, uprawnienia plików, konta administratorów, status WP-Cron i więcej.

Zabezpieczenie: endpoint chroniony tokenem, aktywuje się wyłącznie na żądanie serwera monitoringu. Nie ładuje niczego na frontendzie strony — zero wpływu na wydajność dla odwiedzających.

Integralność plików: opcjonalnie wtyczka porównuje pliki wp-includes WordPress z checksumami i zwraca listę zmodyfikowanych plików. Ta operacja jest cachowana na 6h ze względu na intensywność.