Likes: 0
De blokkade via IPtables is echter niet permanent, dat heb je zelf in de hand (zoals met alles in linux). Volgende restart is zo'n block sowieso al flushed.
Bovendien is de kans dat juist jouw bezoekers vanaf dat ene IP-adres je server op willen dermate klein dat je je daar nu niet echt zorgen over hoeft te maken, ik denk dat de kans dat je door de bliksem geraakt wordt flink wat groter zal zijn.
Je kunt ook eens kijken naar psad of mod_security, lijken me beiden interessant voor je casus in dezen.
Dat weet ik wel :-), maar dat bedoelde ik ook niet. Vaak zijn er meerder mensen in dezelfde internetcafes op mijn site, vandaar.
mod_security gebruik ik al. psad ga ik ook maar installeren.
Net waren er vanaf 1 ip ca 12 connecties, nadat ik die had geblokt zakte de load onmiddelijk naar ca 1%....
Hoe vind je uit wat er precies tussen de connectie van een bepaalde ip en een service gebeurd? Welke ip's er verantwoordelijk voor zijn dat apache door het lint gaat?
Als je bijv met netstat kijk dan zie honderden connecties naar apache, maar hoe vind je uit welke van die paar honderd zich misdragen?
Snifferen.Hoe vind je uit wat er precies tussen de connectie van een bepaalde ip en een service gebeurd?
Levert alleen erg veel data op.
Maar je kan bijvoorbeeld de HTTP requests er tussen uit plukken om te kijken of er wellicht een bepaald scriptje wordt aangeroepen:
Voeg -V toe voor meer details.Code:tshark -nR http.request
Met "top" kijk je welk process ID veel CPU slurpt.
Stel dat dit 1234 is, dan doe je:
(indien de webserver nog enigzins te bereiken is kan je het ook in mod_status zien)Code:netstat -np | grep 80 |grep 1234
Laatst gewijzigd door maxnet; 07/07/09 om 23:33.
wat staat in je httpd.conf ?
kijk gewoon even naar mod_status, en bij problemen kijk je eerst maar eens even welke pagina's het probleem geven. Ik vermoed dat je dan snel naar een permanente oplossing zal gaan...
Ze zijn nu weer bezig. Maar ik kan met bovenstaande methode niet zien welk ips mijn server attacken, omdat apache alleen maar bezig is met het creeren van nieuwe processen?
comando werkt nu niet niet meer:
Code:apache2ctl statusCode:***:/etc/apache2# apache2ctl status Looking up localhost Making HTTP connection to localhost Sending HTTP request. HTTP request sent; waiting for response. Retrying as HTTP0 request. Looking up localhost Making HTTP connection to localhost Sending HTTP request. HTTP request sent; waiting for response. Alert!: Unexpected network read error; connection aborted. Can't Access `http://localhost/server-status' Alert!: Unable to access document. lynx: Can't access startfile
Wat kan ik nu doen?
Waar baseer je dat op?
Zodra het aantal verbindingen gelijk is aan MaxClients/ServerLimit, maakt Apache geen nieuwe processen meer aan.
Als je bedoelt dat de pid's in top steeds wisselen, dan zijn waarschijnlijk al je Apache processen druk bezig hetzelfde foutieve script aan het uitvoeren, dat veel CPU loopt te verbruiken.
Kijk met tshark welke scripts aangeroepen worden.
Apache schrijft pas naar de access_log als het script klaar is.
Als je dus met snifferen ziet dat scripts aangeroepen worden, die nooit in de access_log komen, dan zit dat script waarschijnlijk in een oneindige loop.
Laatst gewijzigd door maxnet; 08/07/09 om 14:57.
Ja maar wanneer ik een pid uit top neem en die grep op netstat dan is de pid alweer verdwenen..
IK heb gecheckt met tshark, maar er worden gewoon topics aan geroepen. Zo op het eerste gezicht staat er niks bijzonders tussen.
Wat betekent dit '[TCP Retransmission]'?
Kijk ik draai alleen een forum en verder niks meer. Zoals ik al eerder zei normaliter zelfs als het heel druk is komt de load niet boven de 10%.
Als er een foutief script was, dan zou de load altijd heel hoog moeten zijn en dat is niet het geval het is iets van de laaste weken.
En zoals gisteravond toen ik een ip met veel connecties blokte daalde de load naar 1% tot vanochtend weer.
"Verdwenen" uit het overzicht van "top" (wat ik "wisselende pid's" noem), of niet te vinden in netstat (geen verbinding meer)?
Dat er wat packet loss is, en dat een van de computers daarom het TCP pakketje nog een keer gestuurd heeft.Wat betekent dit '[TCP Retransmission]'?
Dat kan ook aan de verbinding van de bezoeker liggen.
Bugs hoeven niet altijd op te treden.Kijk ik draai alleen een forum en verder niks meer. Zoals ik al eerder zei normaliter zelfs als het heel druk is komt de load niet boven de 10%.
Als er een foutief script was, dan zou de load altijd heel hoog moeten zijn en dat is niet het geval het is iets van de laaste weken.
Is het verder een standaard forum pakket of heb je die zelf geschreven?
Geen rare extra modules die RSS feeds weergeven, of anderzijds van externe bronnen afhankelijk zijn?
Pas anders even je conifguratie aan zodat PHP als CGI wordt gedraait, i.p.v. via mod_php.
Dan staan PHP en Apache apart in "top" en kan je gemakkelijker zien wat CPU slurpt.
Tenzij het om honderden verbindingen gaat, hoeft dat niet te betekenen dat diegene wat kwaads in zijn zin had.En zoals gisteravond toen ik een ip met veel connecties blokte daalde de load naar 1% tot vanochtend weer.
Kan zijn dat de browser het te lang vondt duren, een nieuwe verbinding opzette, en hetzelfde probleemscript nog een keer aanroept.
Wel in top maar niet in netstat.
Een standaard pakket die ik al zo'n twee jaar probleemloos draai
Ik heb verder tshark een poosje laten capturen en vervolgens verschillende statistieken gegrept maar er is niets wat eruit springt
Laatst gewijzigd door no_player_4u; 08/07/09 om 17:44.