sobota, 20 lutego 2016

Nienaturalne obciążenie apache i ilość procesów

Ostatnio zauważyłem, że mój serwer bardzo często jest przeciążony. Szybkie oględziny pozwoliły mi zaobserwować dużą ilość procesów apache (w programie top), 100% wykorzystanie procesora i duże zużycie pamięci.

Pierwsza rada z jaką się spotkałem, to [źródło]:
please check/post your log file size and logs?? 
Okazało się, że dużo jeśli chodzi o ilość jak i wagę. Wywaliłem. Trochę to pomogło, ale problem szybko powrócił.

Przeglądając logi apacha zauważyłem sporą ilość wpisów dotyczących pliku xmlrpc.php [Wordpress] oraz tego samego ip. Rozwiązaniem było dopisanie reguły z tym związanej do plików programu fail2ban [źródło].

Do pliku /etc/fail2ban/filter.d/apache-xmlrpc.conf regułę rozpoznającą problem:
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
ignoreregex =
I do pliku /etc/fail2ban/jail.local (w przeciwieństwie do pliku /etc/fail2ban/jail.conf, zalecanego przez źródło) reguły uruchamiającej usługę rozpoznawania zagrożenia:

[apache-xmlrpc] enabled = true port = http,https filter = apache-xmlrpc logpath = /var/logapache2/access.log maxretry = 6
Reset fail2ban i apacha2, chwila na uspokojenie serwera i jak na razie przeciążenia nie obserwuję.