Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witajcie
Piszę tu po raz pierwszy gdyż nie mogę poradzić sobie z diagnozą problemu jakim jest zajęcie całej pamięci na moim VPS . Z 2 gb pamięci ram mój system zjadał do tejh pory lekko do 1 gb . Nagle pewnego dnia skoczyło zajęcie ramu do 2 gb. i całego prawie swapa. (500 mb). Z tego co widzę po komendzie top większość ramu trawi apache. Chciałbym mieć jakiś zapas ramu a nie wiem jak sprawdzić co powoduje te zajęcie. Może jakieś logi przejrzeć ??
z góry dziękuję za wszelką pomoc.
Offline
Optymalizacja:
-prześledzić jakie moduły są włączone i czy muszą być włączone,
-ilość sesji i to co z tym związane (ile czasu etc)
-ilość otwartych plików przez www-data/apache
jest mysql więc może zapytania mogą być mało wydajne i apache czeka na ich wykonanie. Bardzo wiele zależności.
Na szczęście są narzędzia automatyzujące - szukaj frazy "apache tuning script" (nie pamiętam czego się używało)
Offline
w przypadku apacza masz kilka razy pokazaną tą samą pamięć (ot, takie uroki fork/thread).
mod_status włączony? co pokazuje?
w logach apacza nie widać jakichś zbyt długich zapytań?
nikt nie zrobił kuku przez dziurawego wordpressa/drupala/joomlę?
Offline
2649
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:33:08)
Offline
Zamiast Apacha radziłbym Nginxa z PHP-FPM, i do tego wszystkie procesy obciąć troszkę przez cgroup na twardo, i być może przez softlimit (pakiet daemontools) na miękko.
Ostatnio edytowany przez Jacekalex (2016-02-02 19:49:52)
Offline
nginx jako proxy dla apache zrobić.
Offline
owszem ja tak mam - nginx (ssl) via varnish (cache) i na końcu jakiś wordpress na apaczu (directadmin). tyle że ja mam jakiś kiloserwis...
Offline
ethanak napisał(-a):
w przypadku apacza masz kilka razy pokazaną tą samą pamięć (ot, takie uroki fork/thread).
mod_status włączony? co pokazuje?
w logach apacza nie widać jakichś zbyt długich zapytań?
nikt nie zrobił kuku przez dziurawego wordpressa/drupala/joomlę?
Dziękuję wszystkim za odpowiedzi . Przeglądając logi z apache error faktycznie dużo jest zapytań z wordpressa. Przeanalizuję to gdyż wcześniej było o połowę mniej ramu zużytego.
Offline
A można to gdzieś w logach odczytać ?? Teraz po wyłączeniu prawie wszystkich wtyczek dalej zarzyna ram .
W logach jest między inymi taki wpis co pare sekund
Ostatnio edytowany przez Gregorov (2016-02-02 23:06:39)
Offline
Używasz modułu Xmlrpc do Wordpressa?
Jeśli nie, to zablokuj dostęp do skrypta /xmlrpc.php na poziomie Apache lub Nginxa (jeśli połączenie idzie przez Nginxa) - żeby zwracał odpowiedź 403 lub 404 najlepiej, natychmiast, bo to na 99.9% próba włamania do WP.
Jeśli natomiast używasz tego modułu WP, to przy dostępie do niego wsadź jakąś autoryzację na serwerze WWW, np przez htpasswd, albo lepiej przez certyfikaty SSL/PKCS#12.
Ethanak napisał(-a):
poza tym nginx nie zastąpi apacza (i vice versa).
Czy byłbyś tak uprzejmy wskazać jakieś tajemnicze właściwości Apacha, dzięki którym lepiej się nadaje od Nginxa+PHP-FPM do serwowania Wordpressa?
Bo ja wiem, że Apache ma pierdylion rożnych modułów i opcji, ale jakoś
w przypadku Wordpressa nie ogarniam tej doskonałości Apacha, chyba, że ktoś nie potrafi żyć bez htacces. :D
Nginx z resztą też już ma pierdylion różnych modułów.
Ostatnio edytowany przez Jacekalex (2016-02-02 23:18:12)
Offline
zablokuj ip 185.130.5.209 na firewallu, boty odowłuja sie do xmlrpc.php a pózniej radze poszukać wtyczki która to zabezpieczy albo w pliku .htaccess
Offline
Ustaw allow dla tego pliku tylko z IP serwera i 127.0.0.1. Dla reszty: deny from all.
dla htaccess:
<Files "xmlrpc.php"> Order Allow,Deny Allow from 127.0.0.1 Allow from X.X.X.X Deny from all </Files>
Offline
woitekd napisał(-a):
zablokuj ip 185.130.5.209 na firewallu, boty odowłuja sie do xmlrpc.php a pózniej radze poszukać wtyczki która to zabezpieczy albo w pliku .htaccess
Przy miliionach dynamicznych adresów IP, banować po adresach?
Przyjemnej zabawy, możesz tak banować do usranej śmierci, aż w htacces albo w firewallu będziesz miał 2 mln wpisów z samego Orange. :D
Ostatnio edytowany przez Jacekalex (2016-02-02 23:21:11)
Offline
tego jednego na teraz, z htaccess nie chodzilo mi o blokowanie ip.
Offline
mati75 napisał(-a):
Ustaw allow dla tego pliku tylko z IP serwera i 127.0.0.1. Dla reszty: deny from all.
dla htaccess:Kod:
<Files "xmlrpc.php"> Order Allow,Deny Allow from 127.0.0.1 Allow from X.X.X.X Deny from all </Files>
Dziękuję Ci bardzo bo coś pomogło i nagle po zablokowaniu jak mówiłeś ram zużyty 300 mb :) (yupi) ... nie wiem jak mam dziękować człowiek ciągle się uczy :)
teraz wyglada tak:
może warto zblokować ten ip ??
Ostatnio edytowany przez Gregorov (2016-02-02 23:49:24)
Offline
Przydałby się jeszcze sensowny hashlimit w firewallu.
Np tak:
iptables -I INPUT -m hashlimit -m tcp -p tcp -m multiport --dports 80,443 --hashlimit-above 20/sec --hashlimit-mode srcip --hashlimit-name http -m state --state NEW -j DROP
Sznurek:
http://tlfabian.blogspot.com/2014/06/how-does-iptab … ule-work.html
Względnie możesz naskrobać małego demonka np w Peru czy Pythonie, który będzie czytał tego loga i wrzucał adresy do tablicy ipseta.
Tu masz conieco o użyciu ipseta:
https://forum.dug.net.pl/viewtopic.php?pid=269260
Można też jako wzór użyć skrypta httpd-guardian i modułu mod_evasive albo mod-security do Apacha.
Sznurki:
https://www.trustwave.com/Resources/SpiderLabs-Blog … orce-Attacks/
http://apache-tools.cvs.sourceforge.net/viewvc/apac … ?revision=1.6
Offline
Jacekalex napisał(-a):
Używasz modułu Xmlrpc do Wordpressa?
Jeśli nie, to zablokuj dostęp do skrypta /xmlrpc.php na poziomie Apache lub Nginxa (jeśli połączenie idzie przez Nginxa) - żeby zwracał odpowiedź 403 lub 404 najlepiej, natychmiast, bo to na 99.9% próba włamania do WP.
Ja tylko dodam, że by nie stosować 404, bo google bardzo nie lubi tego kodu. xD
No i te nowsze apacze mają nieco inna składnie, przykładowo:
<Files "xmlrpc.php"> Require all denied Require ip 127. 192.168. </Files>
Offline
Ja tylko dodam, że by nie stosować 404, bo google bardzo nie lubi tego kodu. xD
A co ma google do interfejsu komunikacyjnego xmlrpc w WP?
Z resztą od czego jest robots.txt? xD
Ostatnio edytowany przez Jacekalex (2016-02-03 04:08:01)
Offline
A czy macie może jakiś tutorial jak blokować ip przez firewall w debianie ??
Offline
2657
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:33:18)
Offline
Dzięki jesteście najlepsi :)
Offline
Jacekalex napisał(-a):
Ja tylko dodam, że by nie stosować 404, bo google bardzo nie lubi tego kodu. xD
A co ma google do interfejsu komunikacyjnego xmlrpc w WP?
No google weryfikuje strukturę strony. W nagłówku masz info o tym pliku, no i jak ten twój WP zwróci 404, to google da mu w łeb i obniży rating strony. No bo co to za serwis gdzie brakuje plików? xD Tak czy inaczej w WP można te mechanizmy powyłączać, tak by nie były uwzględniane w nagłówku. Plików też raczej bym nie usuwał (czy nie dawał 404) tylko odmawiał dostępu. Ten ktoś i tak nie uzyska dostępu do tego pliku, a po co dodatkowo drażnić googla? xD
Offline