← Wszystkie testy
BezpieczeństwoTypowa waga: Krytyczny

Skaner pobieralnych kopii zapasowych

Szuka pobieralnych archiwów strony i zrzutów SQL, które ujawniają Twój kod i dane.

Co sprawdza

Ten skaner szuka publicznie dostępnych kopii zapasowych na twojej stronie, takich jak skompresowane archiwa witryny czy możliwe do pobrania zrzuty bazy danych. Wykrywa, gdy te pliki zostały na serwerze w zasięgu każdego.

Dlaczego to ważne

Możliwa do pobrania kopia zapasowa może zawierać cały twój kod źródłowy i, co gorsza, zrzut bazy danych z danymi użytkowników, hasłami i sekretami konfiguracji. To jeden z najpoważniejszych wycieków, bo za jednym razem oddaje całą twoją stronę i dane.

Jak to naprawić

Usuń z publicznego folderu każdy plik kopii zapasowej lub zrzut SQL i przechowuj je w prywatnym miejscu poza zasięgiem witryny. Skonfiguruj proces tworzenia kopii tak, aby nigdy nie zapisywał w katalogu serwowanym przez serwer WWW.

Jak działa ta kontrola

Scanaris żąda dziewięciu nazw plików, których ludzie wciąż używają do przechowywania kopii zapasowych w roocie strony: backup.zip, backup.tar.gz, website.zip, www.zip, public_html.zip, site.zip, database.sql, dump.sql i db.sql. Dla każdego sprawdza, czy odpowiedź to prawdziwy plik, a nie ogólna strona Twojej witryny: patrzy na typ zawartości, a przy zrzutach SQL na to, czy tekst wygląda jak SQL. Wszystkie ustalenia mają wagę krytyczną, bo taki plik zawiera albo pełny kod strony, albo całą bazę danych.

Dlaczego to ważne

Dostępny backup.zip to Twój kompletny projekt: kod, konfiguracja, klucze, które walały się po plikach, i często kopia bazy w środku. dump.sql to baza taka, jaka jest: użytkownicy, e-maile, zahaszowane hasła (do łamania na spokojnie), zamówienia, wiadomości. Żadna technika nie jest potrzebna: to pobranie pliku. A automatyczne skanery próbują dokładnie tych nazw na każdej domenie, którą znajdą, więc „nikt nie zna adresu" nie jest ochroną.

Dlaczego tak się dzieje

Z wygody w złym momencie: przed migracją lub aktualizacją kompresuje się katalog strony „na wszelki wypadek" i zostawia tam. Albo wtyczka do kopii zapasowych zapisuje do publicznego katalogu. Albo eksport bazy zapisuje się obok kodu, żeby komuś go przekazać. Na serwerze serwującym root projektu każdy plik, który tam trafi, jest natychmiast publiczny.

Jak to naprawić

  • Usuń plik teraz i działaj tak, jakby został pobrany: zrotuj wszystkie klucze i hasła, które zawierał, a jeśli były w nim dane osobowe, oceń obowiązek zgłoszenia.
  • Przenieś kopie zapasowe poza katalog publiczny. Kopie trafiają do osobnego magazynu (prywatny bucket, inny serwer), nigdy do katalogu serwowanego przez serwer WWW.
  • Skonfiguruj narzędzie do kopii, żeby zapisywało poza webrootem. Wtyczki WordPressa zwykle pozwalają wybrać katalog albo wysyłać do zewnętrznej usługi.
  • Zablokuj rozszerzenia po stronie serwera jako drugą barierę. W nginx: location ~* \.(zip|tar|gz|sql|bak)$ { deny all; }. W Apache równoważny FilesMatch z Require all denied. Jeśli legalnie oferujesz pobieranie skompresowanych plików, ogranicz je do konkretnego katalogu.
  • Sprawdź logi dostępu pod kątem żądań z kodem 200 do tych nazw: powiedzą Ci, czy ktoś już tam był.

Sprawdź, czy naprawione

for p in backup.zip backup.tar.gz website.zip www.zip public_html.zip site.zip database.sql dump.sql db.sql; do
  printf "%-18s " "$p"; curl -s -o /dev/null -w "%{http_code} %{content_type}\n" "https://twojadomena.pl/$p"
done

Oczekiwane: 404 lub 403. 200 z text/html w aplikacji jednostronicowej to jej ogólny HTML; 200 z application/zip, application/octet-stream lub text/plain to prawdziwy plik.

Często zadawane pytania

Moja kopia ma nazwę, której nikt by nie zgadł.

Narzędzia atakujących próbują tysięcy nazw i kombinacji z domeną, datą i słowami jak „old" czy „bak". Nietypowa nazwa zmniejsza ryzyko, ale go nie eliminuje; rozwiązaniem jest, żeby pliku nie było w publicznym katalogu.

A jeśli plik jest chroniony hasłem?

ZIP z hasłem pobiera się tak samo i łamie bez limitu prób na komputerze atakującego. To nadal ustalenie krytyczne.

Kontrola patrzy tylko na root. A podkatalogi?

Zgadza się, te dziewięć nazw testowanych jest w roocie. Otwarte listingi katalogów, które mierzy inna kontrola, to zwykły sposób znajdowania kopii w podkatalogach; zamknięcie ich i zablokowanie rozszerzeń pokrywa resztę.

Sprawdź to na swojej stronie

Przeskanuj swoją stronę za darmo i zobacz, czy ten i 44 inne testy przechodzą, z promptem naprawczym dla każdego problemu.

Przeskanuj moją stronę za darmo

Powiązane testy