Newsgroup: it.comp.os.linux.sys
Titolo: individuare script apache

Ciao a tutti,
ho un problema con un simil problema di hacking sul web server.
Ogni tanto partono una marea di connessioni dal mio server verso la 
porta 80 di un server nel Regno Unito, il problema ovviamente è 
tamponabile sul firewall interno, ma volevo capire dove si trova lo 
script o la pagina che lancia tutte ste connessioni. Sniffando i 
pacchetti vedo che le GET sono riferite a un sistema di affiliation o 
robe simili, ma non capisco come detto quale sia lo script che apache fa 
girare per generarle. Cercarlo in tutto il file system con un grep direi 
che diventa praticamente impossibile.
Qualche idea?
Grazie mille.

 
Il problema come avrai intuito č che quel server č in produzione, ci 
fosse un metodo meno drastico sarebbe meglio, mi sembra cmnq strano che 
girando il processo su apache non si riesca a individuarlo, se io butto 
giů apache il problema scompare e riappare casualmente, come se venisse 
invocato da remoto. Per assurdo potrebbe essere anche uno script di un 
cliente un po' malizioso ulpodato semplicemente via ftp e lanciato da 
browser!

 browser!
Immagino che tu non abbia ancora guardato i log, giusto?
Fabio


sui log di apache non trovo nulla, ma se uno script su un virtualhost fa 
chiamate verso l'esterno come in questo caso, sul log relativo risulta?

 invocato da remoto.
Sento puzza di mod_proxy...
-- 
Chaos A.D.		|	Raging crowd
Tanks on the streets	|	Burning cars
Confronting police	|	Bloodshed starts
Bleeding the Plebs	|	Who'll be alive?

 
Qualche info a proposito per cortesia?
Grazie mille

 Grazie mille
Potrebbe darsi che hai mod_proxy attivo e mal configurato e che qualcuno
utilizzi il tuo apache come proxy http, molto banalmente.
Ma è un'ipotesi buttata lì, non avendo alcun elemento.



Forse ho risolto, è 'banalmente' un banner di affiliazione che viene 
richiamato da qualche furbetto.
Rimane che non è uscita una soluzione per capire quale script gira su 
apache :(

 apache :(
Non ho capito da dove ti viene la sicurezza che tale script giri "su" 
apache, e ad essere sincero non neanche capito come fa uno script a 
girare "su" apache. Ti riferisci a php per caso?
-- 
Fabrizio "Hermooz" Ermini

 
Sě php o q.cosa di simile (cgi..).
Il fatto č che mi sono reso conto del problema notando un rallentamento 
pauroso del server web. Dopo breve indagine ho notato piů di 200 
connessioni in ESTABLISHED di media, ben oltre quelle che di solito sono 
su quel server, la maggior parte delle quali DAL mio server ALLA porta 
80 di un server esterno. Ovviamente stoppando brutalmente Apache queste 
connessioni sparivano, da qui l'intuizione che fosse qualche 
script/pagina processata da apache a crear danno.
Mi scuso se non mi sono espresso in termini troppo tecnici, ma quando si 
č di fretta si sa, non č semplice essere chiari :(

 script/pagina processata da apache a crear danno.
Duecento connessioni sono una bazzeccola.
il rallentamento pauroso può essere di natura di rete (no more bandwidth) o
incroccamento per troppi processi.
Se quella roba che hai detto era qualche chiamata a dei banner, direi che a
meno che tu non abbia una adsl a cui hai attaccato il server, il problema
non è quello.
Oppure hai banda insufficiente.
I clienti che fanno i lamer, esclusi, ovviamente.
Max

 
No la banda non è così scarsa, il problema è che oltre alle connessioni 
su web , ci sono anche quelle su ftp e altri servizi...
mediamente (so che ci sono molte variabili in gioco) con banda di 
diversi Mbit quante connessioni è in grado di reggere un server linux 
dual  xeon 2.8GHz con 1Gb di RAM? Può esere un limite di Apache. E' un 
problema che non mi sono mai posto avendo diversi server in gestione 
mediamente non troppo carichi.
Grazie

 Mi scuso se non mi sono espresso in termini troppo tecnici, 
Senza offesa, ma casomai ti esprimi in modo un po' troppo POCO tecnico :-)
E' meglio se le cose le chiami sempre con il loro nome...
-- 
Fabrizio "Hermooz" Ermini

 
Comunque le indagini proseguono ....
Il tutto pare funzionare cosě :
- siti esterni includono all'interno delle loro pagine un codice di 
affiliazione (credo valuti le impression) che crea connessioni con 
pagine di un cliente sul nostro server
- queste a loro volta richiamano un server in Inghilterra, da qui la 
marea di connessioni , che a quanto pare rimangono in qualche modo 
appese, da qui il problema.
Nessuno ha cmnq idea di quante connessioni possa reggere Apache?
Grazie di nuovo

 Nessuno ha cmnq idea di quante connessioni possa reggere Apache?
Non c'e' una risposta definitiva. Il numero massimo di connessioni 
dipende da un gran numero di fattori. Con l'hardware che citi comunque 
dovresti essere in grado di saturare una banda di diversi megabit senza 
alcuna difficoltà.
-- 
Fabrizio "Hermooz" Ermini

 Quindi il rallentamento è dovuto solo ed esclusivamente alla banda.
Mica certo...
io oggi ho avuto un server web lentissimo a causa di hda fottuto nella 
catena raid :-/
Senza contare che mio cugggino mi ha parlato di top falsati e/o processi 
malevoli che non vi compaiono...
e una volta ha anche dato un passaggio a una ragazza morta...
Non potresti fare un controllo del traffico per stare certo?
~omar

 e una volta ha anche dato un passaggio a una ragazza morta...
LOL! Ovvio, se gli hanno rootkittato la macchina, col piffero che i 
processi che gliela intasano compaiono nel top...
bye!
-- 
Fabrizio "Hermooz" Ermini


Ok , sto facendo la figura dell'incompetente.
Grazie comunque del supporto.
Alla prossima

 mediamente non troppo carichi.
Ad ogni modo consiglio VIVAMENTE di bloccare le connessioni in OUTPUT
(escluse le canoniche porte 53) per l'utente con cui gura apache.
Ti eviti tanti, ma tanti problemi.
Iptables permette di farlo in base all'utente con cui gira il processo che
genera connessioni.
Max

 Grazie comunque del supporto.
Sorry, non era mia intenzione farti sentire preso in giro, giurin 
giurello. Anzi, capisco la tua preoccupazione.
Seriamente, dicci di più (quello che puoi e ti senti di dire in 
pubblico, ovviamente) di questo cliente diciamo "sospetto", e cerchiamo 
tutti di capire cosa c'e' dietro. Anche perchè è importante capire se 
c'e' davvero il rischio che qualcuno abbia preso il controllo della tua 
macchina (cioè che il rischio ci sia è pacifico, perchè c'e' per 
qualunque web server esistente, bisogna capire quanto è grosso nel tuo 
caso!). Ovviamente se ci fosse ragione di crederlo probabile dovresti 
attivarti con una certa urgenza.
A disposizio' :-)
-- 
Fabrizio "Hermooz" Ermini


Ok ok, scusate ma ieri giornata di merda.
Mah, per ora il problema pare ristretto a un problema di rimbalzi di 
connessioni tra un server e l'altro tramite pagine asp e php per 
beneficiare di impressions, abbiamo già contattato il cliente per 
segnalare la cosa ovviamente. Ho anche fatto un check con un "anti 
rootkit" se così si può definire, ma non ha trovato nulla di strano.
Il dubbio che mi rimane ora è perchè Apache non sia in grado di gestire 
più di 220-250 connessioni (in ESTABLISHED). Tempo fa ricordo di aver 
'giocato' sul KeepAlive per limitare il numero di connessioni per un 
problema simile, riporto quelli che potrebbero essere i parametri 
influenti in tal senso, magari mi date una mano :) :
Timeout 300
KeepAlive On
MaxKeepAliveRequests 300
KeepAliveTimeout 5
<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
MaxClients       150
MaxRequestsPerChild  4000
</IfModule>
Grazie mille :)

 MaxClients       150
Beh, con questa opzione attiva la vedo dura onorare 200 connessioni :-)
-- 
Fabrizio "Hermooz" Ermini

 
Me ne sono reso conto anche io immediatamente dopo averlo postato :(
Grazie ancora :D

 Grazie ancora :D
Occhio che non è comunque salutare aumentarlo oltre 256 (per spingersi a 
tanto bisogna andare a toccare anche diversi altri parametri).
D'altra parte non son pochine, eh...
-- 
Fabrizio "Hermooz" Ermini

 D'altra parte non son pochine, eh...
Se il problema era causato dalle connessioni un uscita da quella 
macchina, dubito che intervenire su maxclients possa risolvere i
problemi :-)
Fabio