In English

ShieldWave-Scanner

ShieldWave-Scanner to user agent ShieldWave, usługi, która sprawdza bezpieczeństwo strony z zewnątrz, tak jak widzi ją każdy odwiedzający, i opisuje wynik jej właścicielowi. Sprawdzenie uruchamia właściciel strony albo osoba, która ma jego zgodę. Testy z danymi testowymi działają tylko dla domeny, nad którą właściciel potwierdził kontrolę; każde inne sprawdzenie tylko czyta.

Kto prowadzi skaner, jak wyłączyć swoją domenę i jak zgłosić nadużycie: Skaner ShieldWave i wyłączenie domeny. Ta strona opisuje, co skaner wysyła.

User agent
ShieldWave-Scanner/1.0 (+https://shieldwave.io/bot)
Tempo
Najwyżej 5 zapytań na sekundę w darmowym teście i 15 w pełnym skanie. Zwalnia, gdy tylko Twój serwer odpowie kodem 429 lub 503.
Co robi
Czyta strony. Na potwierdzonej domenie uruchamia też testy z danymi testowymi, które tylko czytają. Niczego na Twojej stronie nie zmienia.
Jak go zablokować
Wpisz go do robots.txt, User-agent: ShieldWave-Scanner i Disallow: /, albo wyłącz swoją domenę. Szczegóły niżej.
Kontakt
support@shieldwave.io

Jak go rozpoznać

Każde zapytanie skanera ma user agent ShieldWave-Scanner/1.0 (+https://shieldwave.io/bot). Wyszukaj w logu dostępu ShieldWave-Scanner, a znajdziesz jego zapytania. Jest jeden wyjątek, opisany w punkcie Ponowienie po 403 lub 406.

Wczytanie strony w przeglądarce

Pełny skan wczytuje też raz Twoją stronę główną w przeglądarce bez okna (headless). To wczytanie ma user agent Chrome z dopisanym ShieldWave-Scanner/1.0 (+https://shieldwave.io/bot), więc je także rozpoznasz. Darmowy test i inne sprawdzenia, które tylko czytają, nie używają przeglądarki.

Ponowienie po 403 lub 406

W pełnym skanie potwierdzonej domeny, jeśli zapytanie wysłane z user agentem ShieldWave dostanie odpowiedź HTTP 403 lub 406, skaner wysyła to jedno zapytanie jeszcze raz, ze zwykłym user agentem przeglądarki, i zapisuje to w logu skanu. Chodzi o zapory, które odprawiają nieznane user agenty. W darmowym teście i w każdym innym sprawdzeniu, które tylko czyta, ponowienia nie ma: gdy strona odmówi wydania strony głównej, sprawdzenie się kończy. Po odpowiedzi 429 skaner nigdy nie zmienia user agenta: zwalnia.

Dlatego sama reguła zapory na user agent nie zatrzyma pełnego skanu. Zatrzyma go robots.txt albo wyłączenie domeny, zobacz Jak go spowolnić albo zablokować.

Skąd przychodzą zapytania

Skaner działa w Google Cloud Run, w regionie europe-west1 (Belgia), i łączy się ze wspólnych pul adresów wychodzących Google Cloud. Te adresy się zmieniają i nie ma stałej listy adresów IP ShieldWave. Rozpoznawaj ShieldWave po user agencie.

Jak szybko działa

Każde sprawdzenie działa w jednym profilu. Profil ustala, ile najwyżej zapytań na sekundę sprawdzenie wysyła do Twojej domeny, oraz twardy limit czasu całego sprawdzenia.

ProfilDo czego służyZapytań na sekundę, najwyżejLimit czasuDane testowe
basicDarmowy test na shieldwave.io i każde sprawdzenie domeny, nad którą nie potwierdzono kontroli590 sekundNie
standardPełny skan potwierdzonej domeny: plany płatne i jednorazowy skan153 minutyTak
quickTylko API, z "profile": "quick", na potwierdzonej domenie1060 sekundNie
deepTylko API, z "profile": "deep", na potwierdzonej domenie36 minutTak
stealthTylko API, z "profile": "stealth": wolne sprawdzenie dla stron ze ścisłym limitem tempa zapytań14 minutyNie

Profil deep zawsze sprawdza subdomeny i otwarte porty. Skan standard sprawdza subdomeny na większości platform, a otwarte porty tylko na stronach opisanych niżej. Profile standard i deep uruchamiają również testy z szablonów.

Tempo

Wszystkie zapytania jednego sprawdzenia do Twojej domeny i jej subdomen przechodzą przez jeden regulator tempa, utworzony dla tego sprawdzenia. Zaczyna od tempa profilu i nigdy go nie przekracza. Gdy serwer daje znać, że ma dość, sprawdzenie zwalnia:

Po zdrowych odpowiedziach powoli przyspiesza, ale nigdy ponad tempo profilu. Gdy części sprawdzenia skończy się czas, jej pozostałe zapytania przepadają, a nie idą później.

Testy z szablonów

Profile standard i deep uruchamiają też testy z szablonów (Nuclei), w tym samym limicie. Gdy działają, zajmują 6 z 15 zapytań na sekundę w profilu standard i 1 z 3 w profilu deep, a tempo reszty skanu spada o tyle samo. Wysyłają user agent ShieldWave. Nie potrafią przestrzegać reguł dla ścieżek, więc skaner je pomija, gdy Twój robots.txt ma jakąkolwiek regułę Disallow dla ShieldWave.

Co wysyła

Większość zapytań to zapytania GET.

Sprawdzenie, które tylko czyta (profil basic), czyta stronę główną, jej skrypty, nagłówki bezpieczeństwa, certyfikat i ciasteczka oraz pyta o krótką, stałą listę adresów zapomnianych plików. Nie wysyła danych testowych.

Pełny skan potwierdzonej domeny zawiera też testy typowych podatności na wstrzyknięcia (SQL injection, cross-site scripting, path traversal, server-side request forgery, open redirect, XML external entities). Te testy tylko czytają: żaden nie zapisuje, nie zmienia ani nie usuwa danych, żaden nie wysyła formularzy kontaktowych ani formularzy zamówienia i żaden nie prosi serwera o duże ilości pamięci. Skaner nigdy nie wysyła PUT ani DELETE.

Niektóre testy pełnego skanu wysyłają też OPTIONS, TRACE albo małe zapytanie POST, które tylko czyta, na przykład żeby sprawdzić, jakie metody HTTP dopuszcza serwer albo czy odpowiada punkt końcowy API.

Na stronach na WordPressie pełny skan sprawdza też, czy strona logowania zdradza, jakie nazwy użytkowników istnieją. Wtyczki bezpieczeństwa mogą to zapisać jako nieudane próby logowania.

W profilu deep, a w profilu standard także dla stron statycznych albo na platformie, której skaner nie rozpoznaje, próbuje też połączenia TCP z 24 typowymi portami, w tym samym tempie co inne zapytania.

Czego nigdy nie robi

Jak go spowolnić albo zablokować

ShieldWave pobiera Twój robots.txt raz, zanim ruszy jakiekolwiek sprawdzenie, i stosuje grupę napisaną dla niego: User-agent: ShieldWave-Scanner albo User-agent: shieldwave, bez względu na wielkość liter.

Żeby zablokować ShieldWave na całej stronie:

User-agent: ShieldWave-Scanner
Disallow: /

Żeby zablokować tylko część strony:

User-agent: ShieldWave-Scanner
Disallow: /admin/
Disallow: /*.pdf$

Dlaczego User-agent: * nie wystarczy

Skaner nie stosuje reguł spod User-agent: *. Są pisane dla robotów wyszukiwarek, a sprawdzenie ShieldWave uruchamia właściciel strony albo osoba, która ma jego zgodę. Żeby zablokować ShieldWave, wpisz jego nazwę.

Wyłączenie domeny

Możesz też wyłączyć swoją domenę ze wszystkich sprawdzeń ShieldWave, także z darmowego testu i darmowych narzędzi. Napisz na support@shieldwave.io z adresu w tej domenie, w temacie wpisz „Wyłączenie domeny”. Warunki i terminy opisuje dokument Skaner ShieldWave i wyłączenie domeny.

Jak go spowolnić

Odpowiedz kodem HTTP 429 lub 503, a sprawdzenie od razu zwolni, tak jak opisuje punkt Tempo. Po odpowiedzi 429 skaner nigdy nie ponawia zapytania z innym user agentem. Reguła zapory, która odpowiada kodem 403, też spowalnia pełny skan, ale każde zablokowane przez nią zapytanie skaner ponawia tam raz z user agentem przeglądarki. Pewnym sposobem na zablokowanie ShieldWave jest więc robots.txt albo wyłączenie domeny.

Kontakt

Jeśli sprawdzenie Twojej strony było dla Ciebie zaskoczeniem, chcesz zgłosić nadużycie albo zadać pytanie, napisz na support@shieldwave.io. Podaj domenę i wiersz z logu dostępu z czasem zapytania.