Boty przeszukujące strony internetowe najczęściej należą do twórców wyszukiwarek internetowych, którzy próbują zaindeksować Twoją stronę. Coraz częściej zdarza się jednak, że boty skanują Internet w innych celach, na przykład w celu szkolenia modeli AI (sztucznej inteligencji), co może prowadzić do wysycania zasobów usługi hostingowej (procesora, pamięci RAM itd.) przez co Twoja strona może wczytywać się wolniej.
Ponieważ możesz nie życzyć sobie aby Twoja strona obsługiwała taki ruch, postępuj według poniższych instrukcji aby zmniejszyć częstotliwość odwiedzin botów lub całkowicie je zablokować.
Spis treści (kliknij aby przejść do wybranej sekcji):
- Pierwsza warstwa obrony – mod_security
- Obrona Twojej aplikacji – WAF
- Jak ograniczyć częstotliwość odwiedzin botów internetowych?
- Jak zablokować wszystkie żądania konkretnego bota internetowego?
Pierwsza warstwa obrony – mod_security
Na hostingach Direct Admin udostępniamy zabezpieczenie mod_security które filtruje żądania jakie docierają do Twojej strony. Blokuje ono również ponad 200 szkodliwych botów internetowych, dlatego warto aby było włączone dla Twoich stron internetowych.
Możliwość włączenia oraz wyłączenia mod_security dla poszczególnych stron na hostingu, znajdziesz w Panelu Administracyjnym Direct Admin w sekcji „Bezpieczeństwo” -> „Ustawienia mod_security”
WAŻNE!: W przypadku niektórych integracji zewnętrznych, mod_security może blokować żądania docierające do strony, których potrzebujesz. W takiej sytuacji skorzystaj z poniższego poradnika, aby dodać pewne reguły do wyjątków, a tym samym zezwolić na niektóre blokowane żądania: https://cyberfolks.pl/pomoc/blokowanie-zdarzen-przez-mod_security/
Obrona Twojej aplikacji – WAF
Web Application Firewall (WAF) jest to rodzaj zabezpieczenia sieciowego, które broni aplikacje internetowe przed różnymi atakami. Nie blokuje bezwzględnie botów internetowych, działa jako filtr, śledząc ruch sieciowy do aplikacji/stron internetowych i blokując lub ograniczając dostęp do strony jeżeli reguły zabezpieczeń zostaną naruszone. Mechanizmowi WAF poświęcamy odrębny poradnik, znajdziesz go tutaj: https://cyberfolks.pl/pomoc/waf-web-application-firewall/
Jak ograniczyć częstotliwość odwiedzin botów internetowych?
Tworząc plik o nazwie „robots.txt” w katalogu głównym wybranej strony, możesz w jego zawartości utworzyć odpowiednie wpisy, które będą prosić wyszukiwarki o nieindeksowanie Twojej strony, lub ograniczenie swojej aktywności (pozwalając im działać tylko raz na określoną liczbę sekund). Jeżeli nie masz pewności jak ograniczyć aktywność konkretnych robotów, wklej do pliku robots.txt poniższe linijki (ograniczą działanie botów, do maksymalnie jednego żądania co 20 sekund):
User-agent: *
Crawl-delay: 20
Disallow: /tmp/
Disallow: /private/
Disallow: /admin/
Jeżeli natomiast chcesz aby konkretny bot miał inny limit niż wszystkie:
1. Skopiuj jego nazwę z logów Twojej strony – logi sprawdzisz z pomocą tego poradnika:
https://cyberfolks.pl/pomoc/jak-sprawdzic-logi/
Przykładowy log (nazwa bota której z niego potrzebujesz to „GPTBot/1.2„):
52.23.X.X - - [11/Jul/2024:12:01:21 +0200] "GET /category/uncategorized/ HTTP/1.1" 403 1074 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"
2. Wklej na początku pliku robots.txt poniższe linijki (nazwa bota „GPTBot/1.2” to przykład, jeżeli chcesz zmodyfikować limit dla innego bota, usuń tę nazwę i wklej pożądaną):
User-agent: GPTBot/1.2
Crawl-delay: 15
WAŻNE!: Pamiętaj, że plik robots.txt jedynie „prosi” roboty internetowe o konkretne zachowania, boty dużych firm internetowych respektują te „prośby”, istnieją jednak boty ignorujące plik robots.txt, w związku z czym jedynym sposobem ograniczenia ich aktywności, jest całkowite zablokowanie.
Jak zablokować wszystkie żądania konkretnego bota internetowego?
Odnotowujemy w ostatnim czasie przypadki botów internetowych ignorujących plik robots.txt. Przykładowym jest ClaudeBot (blokuje go mod_security – jeżeli włączony) należący do firmy która uczy swój model sztucznej inteligencji na podstawie stron dostępnych w Internecie. Spotkaliśmy się z przypadkami gdzie aktywność tego typu robotów wysyca zasoby procesora na hostingach naszych klientów. Rozwiązaniem jest blokada takich robotów poprzez plik .htaccess. Aby to zrobić, dodaj w jego zawartości poniższe linijki (modyfikując frazę „ClaudeBot” w drugiej linijce na inną, zablokujesz innego robota):
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ClaudeBot [NC]
RewriteRule .* - [F,L]
WAŻNE!: Pamiętaj że blokując pożyteczne boty, jak np. Robot Google, możesz uniemożliwić im indeksowanie Twojej strony w Internecie, na przykład w wyszukiwarkach internetowych. Przed zablokowaniem danego bota upewnij się zatem czy nie zaszkodzi to pozycji Twojej strony w Internecie.