RSS beslemesi GET spam'i sunucu CPU'sunun% 100 çalışmasına neden olur


1

Sitemi yeni bir ana bilgisayara aktardım ve muazzam miktarda RSS yayını spam görüyorum.

Apache günlüklerimin içinde mevcut olmayan bir RSS besleme URL’sine bir grup GET isteği görüyorum (saniyede en az 20):

2017-11-03T12:06:43.128572347Z [03/Nov/2017:12:06:42 +0000] 192.168.37.231 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /?feed=ads HTTP/1.1" 2475
2017-11-03T12:06:43.389441028Z 192.168.37.231 - - [03/Nov/2017:12:06:43 +0000] "GET /?feed=ads HTTP/1.1" 301 -
2017-11-03T12:06:43.389574732Z [03/Nov/2017:12:06:43 +0000] 192.168.37.231 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /?feed=ads HTTP/1.1" -
2017-11-03T12:06:43.408464613Z 192.168.37.231 - - [03/Nov/2017:12:06:43 +0000] "GET /?feed=ads HTTP/1.1" 301 -
2017-11-03T12:06:43.40850661Z [03/Nov/2017:12:06:43 +0000] 192.168.37.231 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /?feed=ads HTTP/1.1" -
2017-11-03T12:06:43.411540849Z 192.168.37.231 - - [03/Nov/2017:12:06:43 +0000] "GET /?feed=ads HTTP/1.1" 301 -
2017-11-03T12:06:43.411641255Z [03/Nov/2017:12:06:43 +0000] 192.168.37.231 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /?feed=ads HTTP/1.1" -
2017-11-03T12:06:43.468777814Z 192.168.37.231 - - [03/Nov/2017:12:06:43 +0000] "GET /?feed=ads HTTP/1.1" 503 2475

Apache günlüklerimde sürekli% 100 sorunla çalışan bu CPU'nun sebebi olacak bir şey göremiyorum.

Php-fpm günlüklerimin içinde görüyorum:

2017-11-03T13:20:07.466546451Z [03-Nov-2017 13:20:07] NOTICE: [pool www] child 117 started
2017-11-03T13:20:14.359871929Z [03-Nov-2017 13:20:14] NOTICE: [pool www] child 91 exited with code 0 after 606.968836 seconds from start
2017-11-03T13:20:14.359917735Z [03-Nov-2017 13:20:14] NOTICE: [pool www] child 127 started
2017-11-03T13:20:43.867682884Z [03-Nov-2017 13:20:43] NOTICE: [pool www] child 90 exited with code 0 after 637.440716 seconds from start
2017-11-03T13:20:43.867694486Z [03-Nov-2017 13:20:43] NOTICE: [pool www] child 135 started
2017-11-03T13:20:58.577836366Z [03-Nov-2017 13:20:58] NOTICE: [pool www] child 86 exited with code 0 after 662.714762 seconds from start
2017-11-03T13:20:58.578920398Z [03-Nov-2017 13:20:58] NOTICE: [pool www] child 136 started
2017-11-03T13:22:25.865573438Z [03-Nov-2017 13:22:25] NOTICE: [pool www] child 89 exited with code 0 after 742.035998 seconds from start

Ve nihayetinde fpm havuzu sınırına ulaşır:

2017-11-03T11:59:03.178672211Z [03-Nov-2017 11:59:03] WARNING: [pool www] server reached max_children setting (15), consider raising it

Bunun nasıl önleneceği hakkında hiçbir fikrim yok, ancak işlemcimin% 100 dönmesine neden oluyor ve sitemi erişilemez hale getiriyor.

Dahası, neden son konuğumda bunun bir sorun olmadığından emin değilim, ama şimdi bunu aktardım sorun oldu.

Bu GET isteklerini nasıl önleyebilirim? .Htaccess dosyamda bunu engellemeye çalışıyordum, sahip olduğum herhangi bir RSS besleme şablonu dosyasını kaldırdım ve sitede RSS'i devre dışı bıraktım - ama hiçbiri çalışmıyor gibi görünüyor.

Yanıtlar:


0

Belki de çözümü kullanabilirsiniz İşte ?

Kısacası:

RewriteCond %{QUERY_STRING} feed=ads
RewriteRule .* - [F]
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.