Merhaba, linux sanal sunucumda barındığım 3 sitem var biri işletme, biri blog (wordpress) ve bir de smf forum olmak üzere.
Son 1 haftadır facebookexternalhit/1.1 user-agent i ile botlardan sanki dos saldırısı gibi çok fazla istek geliyor facebook ip adreslerinden. Siteleri ve sunucuyu yavaşlatıyor. Ip adreslerinin hepsini csf firewall tarafında engellemelimiyim veya başka ne yapabiliriz. Teşekkürler
Merhaba, meta tarafında sanırım bir geliştirme/güncelleme var ve bizde şu sıralar facebook botlarından gelen yoğun istek sayısı ile karşılaşıyoruz.
Tüm ip adreslerini belirleyerek engellemek çok iyi bir çözüm olmayabilir. Facebook tarafında botlara giden 403 yasak mesajları bir süre sonra gerektiğinde de botların ziyaretinin engellenmesine yol açabilir.
Bu konuda yapılabilecek en güzel şey, modsecurity kurallarıyla botlara bir ratelimit uygulamak. Yani yapabilecekleri istek sayısını kısıtlamak ve çok fazla istek göndermeleri durumunda bunu onlara bildirmek.
SecAction "id:6666660,phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},initcol:user=%{USER_AGENT}"
SecRule REQUEST_HEADERS:User-Agent "@rx (?:facebookexternalhit|meta-externalagent)" \
"id:6666661,phase:2,pass,nolog,setvar:ip.bothit=+1,deprecatevar:ip.bothit=5/1"
SecRule IP:bothit "@gt 1" \
"chain,id:6666662,deny,status:429,setenv:RATELIMITED,log,msg:'Rate limit exceeded for Facebook or Meta bot'"
SecRule REQUEST_HEADERS:User-Agent "@rx (?:facebookexternalhit|meta-externalagent)"
Header always set Retry-After "5" env=RATELIMITED
ErrorDocument 429 "Too Many Requests"
Bu şekilde facebookexternal hit ve ya meta-externalagent user-agentlarına ait her bir ip adresinden gelen istekler sayılıyor ve bir saniye içerisinde 1den fazla istek gelirse “ErrorDocument 429 Too Many Requests” hata koduyla 5 saniye beklemesi söyleniyor.
Buradaki istek sayısı 1 ve bekleme süresi 5 değerlerini isteğinize göre değiştirebilirsiniz. Esenlikler.