Problem z przeciążeniem serwera spowodowanym przez boty: facebookexternalhit i meta-externalagent

Ostatnio na jednym z naszych serwerów VPS, gdzie działał sklep internetowy oparty na PrestaShop, napotkaliśmy poważny problem związany z nadmiernym obciążeniem przez boty. W ciągu zaledwie 1,5 godziny boty z domen związanych z Facebookiem i Meta wygenerowały 2394 zapytań, co doprowadziło do zawieszenia serwera.

Boty odpowiedzialne za problem:

facebookexternalhit/1.1

Jest to bot, który służy Facebookowi do pobierania treści podczas udostępniania linków na platformie. W logach serwera pojawiał się wpis w postaci:

1662 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

meta-externalagent/1.1

Ten bot działa w podobnym celu, aby pobierać dane do Meta, co znajduje potwierdzenie w jego identyfikatorze w logach serwera:

302 0 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"

Skutki

Wskutek nadmiernej liczby zapytań serwer VPS, na którym znajdował się nasz sklep, całkowicie przestał działać. Restart oraz próby przywrócenia usługi nie przyniosły oczekiwanych efektów, a sklep był niedostępny przez dłuższy czas. Stało się jasne, że boty te skutecznie uniemożliwiały prawidłowe funkcjonowanie serwera.

Rozwiązanie

Na początku próbowaliśmy zablokować bota facebookexternalhit bezpośrednio w pliku .htaccess, co często jest zalecaną metodą ograniczania dostępu dla konkretnych user-agentów. Przykładowa reguła, którą dodaliśmy do pliku .htaccess, wyglądała następująco:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_USER_AGENT} facebookexternalhit [NC]
    RewriteRule .* - [F,L]
</IfModule>

Jednak z informacji dostępnych na różnych forach i od innych administratorów stron wynika, że bot facebookexternalhit często ignoruje tego rodzaju blokady w pliku .htaccess. Dlatego, aby zapobiec dalszemu przeciążeniu serwera i niestabilności działania strony, zdecydowaliśmy się całkowicie zablokować boty z Facebooka na poziomie firewall, do momentu pełnego wyjaśnienia sytuacji i zapewnienia stabilności serwera.

Ostatecznie problem udało się rozwiązać poprzez blokadę na firewallu konkretnych zakresów adresów IP, z których pochodziły zapytania od botów. Oto zakresy IP, które zostały zablokowane:

  • 173.252.64.0/18
  • 57.141.0.0/24
  • 69.63.176.0/20
  • 66.220.144.0/20
  • 69.63.184.0/21
  • 69.63.176.0/21

Po wdrożeniu tych zmian praca serwera wróciła do normy, a obciążenie spadło do poziomu umożliwiającego normalne funkcjonowanie sklepu.

Wnioski

Z tego doświadczenia możemy wyciągnąć kilka ważnych wniosków:

  1. Monitoring ruchu – Ważne jest, aby regularnie monitorować ruch na serwerze i logi, szczególnie pod kątem botów. Dzięki temu można wykryć potencjalne zagrożenia zanim doprowadzą do przeciążenia.
  2. Ochrona serwera – Firewall jest kluczowym narzędziem w ochronie przed niechcianym ruchem. Warto przygotować reguły blokujące zakresy IP pochodzące od podejrzanych botów.
  3. Boty od dużych platform – Nawet boty od zaufanych i renomowanych platform takich jak Facebook mogą powodować nieprzewidziane problemy, jeśli zbyt intensywnie skanują treści na stronie.

Zadbajmy o zabezpieczenie naszych serwerów, a jednocześnie o monitorowanie ruchu, aby unikać podobnych incydentów w przyszłości.

Zamów wycenę
Polityka prywatności | Regulamin
Pro-link 2005-2020