Řešení síťových problémů

https://groups.google.com/forum/?fromgroups#!topic/cz.comp.linux/dmhBSS5bp-g

Zdravim,
mam takovy mensi problem s kterym si lamu hlavu uz nekolik tydnu, ale
marne. Oc jde:

Na webhostingovem serveru, kde bezi primarne apache se zacalo nekolikrat
denne objevovat obrovsky odchozi traffic na nahodne IP adresy. Vzdy se
jedna o UDP (co jsem zkoumal tcpdump, tak je to nejaka p2p sit)

Problem se projevuje jednak obrovskym odchozim trafficem a druhak
zaplnenim ip_conntract tabulky. /proc/net/ip_conntrack
Mam podezreni, ze nektery z uzivatelu ma ve svem webovem prostoru vir,
ktery se cas od casu spusti.
Nemuzu ale zjistit co ten traffic zpusobuje, nebo kdo ho vyvovala nebo
zacina.
Zvlastni je, ze v dobe ‚utoku‘ nejsou videt zadna spojeni ve vypisu
netstat, nedari se mi tedy urcit ani ownera, ani pid procesu.

co uz jsem vsechno vyzkousel:
– spoustel jsem stale dokola ps -auxfw jestli bych nevidel v dobe utoku
nejake divne procesy (nevidel)
– naloadoval jsem .so modul a pomoci ld.so.preload ho pouzil – modul
logoval volani funkci sendto a sendmsg (logovalo to pouze SNMP packety z
nasi site)
– v tcpdump vidim miliony zaznamu vzdy na dane IP, ale z tohoto vystupu
neumim poznat ani vlastnika, ani proces
– zkousel jsem dokola volat lsof, ani odtud se mi nepodarilo proces najit
– prosel jsem komplet access log apache, nenasel jsem zadne URL, ktere
by se mi zdalo nebezpecne
– progrepoval jsem vsechny php soubory na funkci fsockopen, ale take nic
(uzivatele maji zapnuty safe_mode, nemuzou tedy spoustet zadne binarky)

Myslim ze klicem ke zjisteni by by ktere pid/uid proces ten udp traffic
vyvolava, pak by se podle otevrenych souboru uz asi nechalo jednoduse
najit co to spousti.

moc diky za jakoukoliv pomoc

Ondrej
Ondřej Němeček
Přihlásit se a odpovědět
Další akce zpráv
09.10.10
Další příjemci:
Zdravim tez,

nemuze ten webserver fungovat (treba nechtene) jako router? Pak by tam
zadny proces nebyl.

O.

Dne 9.10.2010 16:50, Ondrej Svoboda napsal(a):
– Zobrazit citovaný text –

> Zdravim,
> mam takovy mensi problem s kterym si lamu hlavu uz nekolik tydnu, ale
> marne. Oc jde:
>
> Na webhostingovem serveru, kde bezi primarne apache se zacalo nekolikrat
> denne objevovat obrovsky odchozi traffic na nahodne IP adresy. Vzdy se
> jedna o UDP (co jsem zkoumal tcpdump, tak je to nejaka p2p sit)
>
> Problem se projevuje jednak obrovskym odchozim trafficem a druhak
> zaplnenim ip_conntract tabulky. /proc/net/ip_conntrack
> Mam podezreni, ze nektery z uzivatelu ma ve svem webovem prostoru vir,
> ktery se cas od casu spusti.
> Nemuzu ale zjistit co ten traffic zpusobuje, nebo kdo ho vyvovala nebo
> zacina.
> Zvlastni je, ze v dobe ‚utoku‘ nejsou videt zadna spojeni ve vypisu
> netstat, nedari se mi tedy urcit ani ownera, ani pid procesu.
>
> co uz jsem vsechno vyzkousel:
> – spoustel jsem stale dokola ps -auxfw jestli bych nevidel v dobe utoku
> nejake divne procesy (nevidel)
> – naloadoval jsem .so modul a pomoci ld.so.preload ho pouzil – modul
> logoval volani funkci sendto a sendmsg (logovalo to pouze SNMP packety z
> nasi site)
> – v tcpdump vidim miliony zaznamu vzdy na dane IP, ale z tohoto vystupu
> neumim poznat ani vlastnika, ani proces
> – zkousel jsem dokola volat lsof, ani odtud se mi nepodarilo proces najit
> – prosel jsem komplet access log apache, nenasel jsem zadne URL, ktere
> by se mi zdalo nebezpecne
> – progrepoval jsem vsechny php soubory na funkci fsockopen, ale take nic
> (uzivatele maji zapnuty safe_mode, nemuzou tedy spoustet zadne binarky)
>
> Myslim ze klicem ke zjisteni by by ktere pid/uid proces ten udp traffic
> vyvolava, pak by se podle otevrenych souboru uz asi nechalo jednoduse
> najit co to spousti.
>
> moc diky za jakoukoliv pomoc
>
> Ondrej

Pavel Kankovsky
Přihlásit se a odpovědět
Další akce zpráv
09.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
On Sat, 9 Oct 2010, Ondrej Svoboda wrote:

> Na webhostingovem serveru, kde bezi primarne apache se zacalo nekolikrat
> denne objevovat obrovsky odchozi traffic na nahodne IP adresy. Vzdy se
> jedna o UDP (co jsem zkoumal tcpdump, tak je to nejaka p2p sit) […]

> Zvlastni je, ze v dobe ‚utoku‘ nejsou videt zadna spojeni ve vypisu
> netstat, nedari se mi tedy urcit ani ownera, ani pid procesu.

Když je to UDP tak žádné „spojení“ asi neuvidíte. Ale mělo by tam být
vidět socket odpovídající použitému lokálnímu portu (či portům). Pokud ne,
tak je něco hodně ale hodně špatně.

> – naloadoval jsem .so modul a pomoci ld.so.preload ho pouzil – modul
> logoval volani funkci sendto a sendmsg (logovalo to pouze SNMP packety
> z nasi site)

Ani žádné DNS? Tak to asi nefungoval úplně dobře. Restartoval jste po
té změně všechny procesy?

> – progrepoval jsem vsechny php soubory na funkci fsockopen, ale take nic
> (uzivatele maji zapnuty safe_mode, nemuzou tedy spoustet zadne binarky)

Safe mode? To je ta věc, kterou vývojáři PHP nedávno oficiálně prohlásili
za mrtvou, protože pochopili, že nikdy nebude fungovat pořádně? 😉

> Myslim ze klicem ke zjisteni by by ktere pid/uid proces ten udp traffic
> vyvolava, pak by se podle otevrenych souboru uz asi nechalo jednoduse
> najit co to spousti.

UID by asi šlo zjistit přes iptables modul LOG s parametrem –log-uid.

Nevím, jestli z toho lze dostat PID, ale pokud to nějakou dobu trvá a je
to dost intenzívní, tak by mohla fungovat klasická metoda: postupně
procesy na chvilku zastavujte (pokročilí uživatelé této metody můžou
použít půlení intervalu) a uvidíte, kdy to přestane.


Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
„For death is come up into our MS Windows(tm)…“ \ 21st century edition /


Premysl Hruby
Přihlásit se a odpovědět
Další akce zpráv
10.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
On (09/10/10 16:50), Ondrej Svoboda wrote:
> Date: Sat, 09 Oct 2010 16:50:41 +0200
> From: Ondrej Svoboda <svoboda@svoon.net>
> To: linux@linux.cz
> Subject: monitoring odchoziho UDP trafficu
> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US;
>         rv:1.9.1.12) Gecko/20100915 Thunderbird/3.0.8
> List-Id: Diskuse o Linuxu v cestine <linux.linux.cz>

>
> Zdravim,
> mam takovy mensi problem s kterym si lamu hlavu uz nekolik tydnu,
> ale marne. Oc jde:
>
> Na webhostingovem serveru, kde bezi primarne apache se zacalo
> nekolikrat denne objevovat obrovsky odchozi traffic na nahodne IP
> adresy. Vzdy se jedna o UDP (co jsem zkoumal tcpdump, tak je to
> nejaka p2p sit)
>

A cilove/zdrojove porty vypadaji taky nahodne, nebo jak? A jste si jisty
ze jde o odchozi spojeni?

-Ph


Premysl „Anydot“ Hruby, http://www.redrum.cz/

I’m a signature virus. Please add me to your signature and help me spread!
Ondrej Svoboda
Přihlásit se a odpovědět
Další akce zpráv
10.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>

> A cilove/zdrojove porty vypadaji taky nahodne, nebo jak? A jste si jisty
> ze jde o odchozi spojeni?
>
cilo (i zdrovojove) porty jsou nahodne.
v tuto chvili resim situaci tak, ze ctu /proc/net/ip_conntrack a pokud
pocet spojeni z/na nejake IP presahne 3000, IP zafirewalluju:
iptables -t raw -I OUTPUT -d $ip -j DROP

– timto jsem zjistil ze se jedna o odchozi traffic – puvodne jsem
bolokoval pomoci -I INPUT -s $ip, ale nechytlo to zadny packet.

Peakovi diky za info o –log-uid – to jsem pouzil, takze ted vim, ze je
to uzivatel nobody, pod kterym apache bezi 🙂

ted uz bych potreboval jen ten pid podle ktereho bych dohledal webovy
prostor.

ondrej
Leonardo
Přihlásit se a odpovědět
Další akce zpráv
10.10.10
Další příjemci: li…@linux.cz
9 října 2010 16:50:41 Ondrej Svoboda napsal(a):

> Zdravim,
> mam takovy mensi problem s kterym si lamu hlavu uz nekolik tydnu, ale
> marne. Oc jde:
>
> Na webhostingovem serveru, kde bezi primarne apache se zacalo nekolikrat
> denne objevovat obrovsky odchozi traffic na nahodne IP adresy. Vzdy se
> jedna o UDP (co jsem zkoumal tcpdump, tak je to nejaka p2p sit)
>
Mozna vam nepomuzu, ale s tou p2p siti me napada jedna technologie, ktera umi
udelat pekny odchozi trafik a to bittorrent. Pokud stroj
stahne vsechny torrenty, tak se stava seedem, ktery nic nestahuje, jen odesila
a to na UDP (poripade TCP), kazdy si muze nastavit porty jak chce. Zkusil bych
prohledat adresare, jestli v nich neni nejaky soubor *.torrent popripade CGI-
skripty (aplikace) s podobnym nazvem.
> _______________________________________________
> Linux mailing list
> Linux@linux.cz
> http://www.linux.cz/mailman/listinfo/linux


Leonardo
—-
„Teoretické znalosti dnes už nestačí.
Člověk musí překročit jejich hranice a umění se stane neumělým uměním, které
vyrústá z nevědomí“
Daitsu Suzuki ( 1870 – 1966 )
—-
Prosím, neposílejte mi přílohy ve formátech .doc nebo .ppt (PowerPoint)
Přečtěte si http://www.gnu.org/philosophy/no-word-attachments.cs.html
—-
Feder ajsi romňi, so buter manušňi sar džuvli.
David Hrbáč
Přihlásit se a odpovědět
Další akce zpráv
11.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
Dne 10.10.2010 16:04, Ondrej Svoboda napsal(a):

> cilo (i zdrovojove) porty jsou nahodne.
> v tuto chvili resim situaci tak, ze ctu /proc/net/ip_conntrack a pokud
> pocet spojeni z/na nejake IP presahne 3000, IP zafirewalluju:
> iptables -t raw -I OUTPUT -d $ip -j DROP
>
> – timto jsem zjistil ze se jedna o odchozi traffic – puvodne jsem
> bolokoval pomoci -I INPUT -s $ip, ale nechytlo to zadny packet.
>
> Peakovi diky za info o –log-uid – to jsem pouzil, takze ted vim, ze je
> to uzivatel nobody, pod kterym apache bezi 🙂
>
> ted uz bych potreboval jen ten pid podle ktereho bych dohledal webovy
> prostor.

a) grep ip_co_banuju /kde_mam_logy_webů

b) Jinak samozřejmě asi bych šel cestou projít veškeré logy a vybrat
nejnavštěvovanější url a jejich zdrojáky zkontroloval.
DH
Ondrej Svoboda
Přihlásit se a odpovědět
Další akce zpráv
11.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
zdravim,

On 10/11/2010 08:40 AM, David Hrbáč wrote:
> a) grep ip_co_banuju /kde_mam_logy_webů
> b) Jinak samozřejmě asi bych šel cestou projít veškeré logy a vybrat
> nejnavštěvovanější url a jejich zdrojáky zkontroloval.
> DH
>
>
tak to jsem samozrejme zkousel, ale nic. To zabanovane IP si bud stahuje
samotny PHP skript a nebo mu ho nekdo podstrci do zakodovaneho URL. a
nebo to taky muze byt hostname, kazdopadne v logu apache se tyto IP
nevyskytuji.
Jinak nejnavstevovanejsi URL to taky nebude – tenhle utok se spoustel
drive tak 1-2x denne, ted uz je to tak 8x. Problem je, ze v te minute
kdy utok probehne je v logu webserveru treba 5tis webhitu, takze ani to
se nedanijak rozume projit. I kdyz jsem samozrejme zkousel vyhazet
obrazky a pod, tak jsem tam ale nic nenasel.

os
David Hrbáč
Přihlásit se a odpovědět
Další akce zpráv
11.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
Dne 11.10.2010 8:47, Ondrej Svoboda napsal(a):

> Jinak nejnavstevovanejsi URL to taky nebude – tenhle utok se spoustel
> drive tak 1-2x denne, ted uz je to tak 8x. Problem je, ze v te minute
> kdy utok probehne je v logu webserveru treba 5tis webhitu, takze ani to
> se nedanijak rozume projit. I kdyz jsem samozrejme zkousel vyhazet
> obrazky a pod, tak jsem tam ale nic nenasel.

Vizuálně to nemá smysl. Je to třeba rozparsovat a udělat si nad tím
nějaké rozumné pohledy. Podle mého názoru jsou logy klíčem k rozluštění.
Dále bych se zaměřil na to, jak je možné, že to dlouhodobě komunikuje…
PHP má timeout na dobu běhu scriptu… Takže je otázka, zda v kódu není
něco jako:
shell_exec(‚/usr/bin/php -q mujscript.php &‘);
DH
Ondrej Svoboda
Přihlásit se a odpovědět
Další akce zpráv
11.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
dnes jsem zkusil nasledujici vec:
utok probehl cca v 02:24 rano. Vytahl jsem z logu apache vsechny webhity
mezi 02:20 a 02:29 (pro jistotu) a pomoci lynx –dump jsem je vsechny
zavolal. Doufal jsem ze tim vyvolam odchozi traffic na stejne IP,
bohuzel se nestalo vubec nic :/ (vse bylo GET, krome par radku POST, ty
jsem proveril rucne).

os

– Zobrazit citovaný text –
On 10/11/2010 11:50 AM, David Hrbáč wrote:
> Dne 11.10.2010 8:47, Ondrej Svoboda napsal(a):
>
>> Jinak nejnavstevovanejsi URL to taky nebude – tenhle utok se spoustel
>> drive tak 1-2x denne, ted uz je to tak 8x. Problem je, ze v te minute
>> kdy utok probehne je v logu webserveru treba 5tis webhitu, takze ani to
>> se nedanijak rozume projit. I kdyz jsem samozrejme zkousel vyhazet
>> obrazky a pod, tak jsem tam ale nic nenasel.
>>
> Vizuálně to nemá smysl. Je to třeba rozparsovat a udělat si nad tím
> nějaké rozumné pohledy. Podle mého názoru jsou logy klíčem k rozluštění.
> Dále bych se zaměřil na to, jak je možné, že to dlouhodobě komunikuje…
> PHP má timeout na dobu běhu scriptu… Takže je otázka, zda v kódu není
> něco jako:
> shell_exec(‚/usr/bin/php -q mujscript.php&‘);
> DH
> _______________________________________________
> Linux mailing list
> Linux@linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>
Pavel Kankovsky
Přihlásit se a odpovědět
Další akce zpráv
11.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
On Mon, 11 Oct 2010, Ondrej Svoboda wrote:

> utok probehl cca v 02:24 rano. Vytahl jsem z logu apache vsechny webhity
> mezi 02:20 a 02:29 (pro jistotu) a pomoci lynx –dump jsem je vsechny
> zavolal.

Jestli jste tím nic nevyvolal, tak to asi ta problémová činnost není
aktivovaná přes webový server.

Určitě jste *pořádně* zkontroloval všechny běžící procesy? Viděl jsem už
backdoory, které se po spuštění zkoušely maskovat jako „httpd“ — sice
imho celkem trapně, ale za prověření to stojí.

Nemáte tam nějaký divný otevřený port? Nebo nějaké divné spojení na cizí
stroj — třeba IRC server?


Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
„For death is come up into our MS Windows(tm)…“ \ 21st century edition /

iko
Přihlásit se a odpovědět
Další akce zpráv
12.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
co skusit pustit chkrootkit ci nieco nenajde?

iko


Táto správa neobsahuje vírusy, pretože nepoužívam MS Windows.

On 10/11/2010 07:57 PM, Pavel Kankovsky wrote:
> On Mon, 11 Oct 2010, Ondrej Svoboda wrote:
>
>> utok probehl cca v 02:24 rano. Vytahl jsem z logu apache vsechny webhity
>> mezi 02:20 a 02:29 (pro jistotu) a pomoci lynx –dump jsem je vsechny
>> zavolal.
>
> Jestli jste tím nic nevyvolal, tak to asi ta problémová činnost není
> aktivovaná přes webový server.
>
> Určitě jste *pořádně* zkontroloval všechny běžící procesy? Viděl jsem už
> backdoory, které se po spuštění zkoušely maskovat jako „httpd“ — sice
> imho celkem trapně, ale za prověření to stojí.
>
> Nemáte tam nějaký divný otevřený port? Nebo nějaké divné spojení na cizí
> stroj — třeba IRC server?
>

David Hrbáč
Přihlásit se a odpovědět
Další akce zpráv
12.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
Dne 12.10.2010 9:36, iko napsal(a):

> co skusit pustit chkrootkit ci nieco nenajde?

případně rkhunter.
DH
Ondrej Svoboda
Přihlásit se a odpovědět
Další akce zpráv
14.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
dobry den,
jak to myslite, resp. jak to poznam ze jako router funguje?

diky os

On 10/09/2010 07:32 PM, Ond�ej N�me�ek wrote:
> Zdravim tez,
>
> nemuze ten webserver fungovat (treba nechtene) jako router? Pak by tam
> zadny proces nebyl.
>
> O.
Ondrej Svoboda
Přihlásit se a odpovědět
Další akce zpráv
14.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
zdravim,
chkrootkit jsem zkousel – spousti se mi kazdy den, pro jistotu jsem jej
jeste preinstaloval z repository, ale nic nenasel.

abych to tedy nejak shrnul – zrejme neexistuje zpusob, jak sparovat UDP
spojeni s PID (krom netstat, kde UDP nejsou) a bohuzel se nedari najit
ani zadne jine reseni jak zjistit, ktery url/php spojeni otevira.

diky ondrej

On 10/12/2010 09:36 AM, iko wrote:
> co skusit pustit chkrootkit ci nieco nenajde?
>
> iko
>
> —
> T�to spr�va neobsahuje v�rusy, preto�e nepou��vam MS Windows.

>
> On 10/11/2010 07:57 PM, Pavel Kankovsky wrote:
>
>> On Mon, 11 Oct 2010, Ondrej Svoboda wrote:
>>
>>
Pavel Kankovsky
Přihlásit se a odpovědět
Další akce zpráv
15.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
On Thu, 14 Oct 2010, Ondrej Svoboda wrote:

> abych to tedy nejak shrnul – zrejme neexistuje zpusob, jak sparovat UDP
> spojeni s PID (krom netstat, kde UDP nejsou)

1. Není žádné „UDP spojení“.
2. netstat UDP sockety ukazuje (jsou-li jaké).

Máte jádro s auditem a potřebné usespace věci kolem?


Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
„For death is come up into our MS Windows(tm)…“ \ 21st century edition /

David Hrbáč
Přihlásit se a odpovědět
Další akce zpráv
15.10.10
Další příjemci: Diskuse o Linuxu…@linux.cz>
Dne 14.10.2010 22:05, Ondrej Svoboda napsal(a):

> abych to tedy nejak shrnul – zrejme neexistuje zpusob, jak sparovat UDP
> spojeni s PID (krom netstat, kde UDP nejsou) a bohuzel se nedari najit
> ani zadne jine reseni jak zjistit, ktery url/php spojeni otevira.

Tak aby bylo mo�n� nav�zat komunikaci, tak mus� naslouchat na va�em
stroji „nďż˝co“ a pokud tomu tak nenďż˝, pak vaďż˝e maďż˝ina je iniciďż˝torem
spojen�. Nap�. na z�klad� http requestu. a p�esn� jak p�e kolega,
netstat samoz�ejm� uk�e lok�ln� UDP listenery. Jako� fuser -vn udp
��slo_portu.
DH