Portál AbcLinuxu, 14. května 2025 00:00
Dobry den,
Bojuju ted trochu s nasim webserverem je tam asi 60 webu. Nevim proc se mi stane ze behem kratke doby narostou procesy u apache do maxima a ten vytuhne. Zkousel jsem zvysovat hranici poctu procesu ale doslo az k tomu ze jich najednou bylo 1400 a vytuh server. Nastavil jsem v konfiguraci:
Timeout 15
KeepAlive Off
MaxKeepAliveRequests 100
Takze by procesy se meli standardne hned ukoncit coz se i normalne deje je jich normalne kolem 12 jak je to nastavene. Narust se vyznacuje tim ze vzrostou behem kratke chvile treba 2 - 3 minut. Nejsou to zadne zombie, sami se po cca 15 minutach kdy apache neodpovida (je zahlcen) ukonci.
V iptables mam:
root@z142:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5
a instaloval jsem rovnez modul:
http://www.zdziarski.com/projects/mod_evasive
Ale porad se to deje, jinak v syslogu az na mesi problem s APCI pri bootu nic neni.
Vykon serveru je dostatecny, prostredky nejsou zdalka vycerpany (pokud tedy nepovolim velky pocet procesu na apache(1400)).
Prosim o jakoukoli radu.
1/ co nastavit max. mozny pocet procesu?
2/ tusis co ty procesy delaj? necekaj na neco? disk/nfs/resolveni?
3/ zkousel jsi nejaky ten "divne pomaly proces" stracnout?
Zapni si mod_status - tam uvidíš v akom sú stave jednotlivé procesy apache a aký request práve spracúvajú. A tiež by som sa pozrel na load, že či je výkon serveru naozaj dostatočný. Ja napríklad teraz bojujem s tým, že výkon serveru bol dostatočný ešte minulý týždeň, ale v nedeľu prišiel rekordný počet používateľov a totálne to odišlo. Vybavenie jedného requestu trvalo dlhšie než intervaly v akých requesty chodili a tak sa nahromadili, až jednu stránku načítavalo 10 minút.
diky,
Maximalni pocet procesu nepomuze, muzu jich tam nastavit, tolik ze to nezvlada server.
Ty procesy myslim nedelaji nic zasadniho, stracnout to zkusim jen musim nastudovat co to je a jak se to dela.
Vykon serveru je snad ok, zacal jsem delat statistiku:
07:45:01 CPU %user %nice %system %iowait %steal %idle
07:55:01 all 1.96 0.00 0.34 0.61 0.00 97.08
08:05:01 all 2.61 0.00 0.40 0.72 0.00 96.26
08:15:01 all 2.41 0.00 0.45 0.94 0.00 96.20
08:25:01 all 2.27 0.00 0.43 0.65 0.00 96.65
08:35:01 all 8.39 0.00 2.04 0.49 0.00 89.08
08:45:01 all 7.92 0.00 1.90 0.73 0.00 89.46
08:55:01 all 3.12 0.00 0.69 0.83 0.00 95.36
v 8:35 nastal opet ten problem, dle sar (vyse) ale vykon byl ok.
Nicmene ted jsem asi prisel na to ze pres vsechny pokusy o ochranu se me snazi nekdo hackovat. V iptables jsem zablokoval ip ktera to asi dela a hned to slo dolu.
cat /data/www/virtuals/xxx/access_log | grep 80.250.251.88 | wc -l
3470
To je trochu moc, ten log bezi dnes od 6:30.
V iptables sice blokuju pocet tech paketu syn za 1/s ale pokud se nejedna o syn pakety, jde se nejak branit?
diky
Ty procesy myslim nedelaji nic zasadniho, stracnout to zkusim jen musim nastudovat co to je a jak se to dela.strace -p $cislo-divneho-procesu
> cat /data/www/virtuals/xxx/access_log | grep 80.250.251.88 | wc -lneni to nejakej vas zakaznik? pripadne robot kterej treba dela nejake divne dotazy do db?
Jojo, přesně tohle je řešení... nějaké trasování procesů je extrém a míří na chybu v software nebo větší problém v nastavení, což není pravděpodobné.
Klasický postup je analýza výstupu mod-status a logů a (ideálně automatická) reakce formou úpravy apache pravidel popř. firewallu.
Pokud je na tom webu něco atraktivního pro hackery, tak se bez podobného mechanizmu nedá fungovat. No ale to už je jasné z předcházejících postů.
Jsou to skutecne procesy spoustene webserverem? Nemuze to byt nejaky druh DoS utoku? (hping apod.)
Co rika netstat -a ?
Myslim ze ano ze to je spustene apachem (takto to zjistuji: ps -ALL | grep apache | wc -l) , ted je vse v poradku zakazal jsem tem ip adresam pristup, takze je ted klid, jedna se o soutez, takze je to uz asi jasne, nechal jsem provest upravu v php aby jejich hlasovani nemelo ucinek. Jdu nastudovat ten mod_status.
zatim diky, pokud se problem zase objevi, napisu, pripadne popisu reseni, zatim pomohlo to zakazani IP adresy ze ktere to slo
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.