Extremne zatizeny postfix

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Leden 13 19:20:03 CET 2002


On Sat, 12 Jan 2002, David Olszyński wrote:

> Mam velice neprijemny problem a nenasel jsem zatim zadne uspokojive
> reseni. Na jednom serveru mam velice zatizeny postfix. V narazech tam
> prijde i 30 spojeni za jednu vterinu. Normalne to pak pod 5 neklesa.
> Skoro vzdy jde o prichozi maily pro neexistujici uzivatele (casto
> kvuli errors-to z ruznych spamu pro jine servery). [...]

Nejaci zk... spammeri se rozhodli, ze budou sve sr... rozesilat s cizimi
adresami. Nam to take chodi, nastesti jen dve nebo tri adresy, ktere jsem
snadno zablokoval, a v relativne snesitelnem mnozstvi. Bohuzel veskere me
pokusy smerujici k tomu, aby byl pachatel dopaden a po zasluze potrestan,
se setkaly na mistech, kde jsem si stezoval, s nulovou reakci. Jednou
z velkych chyb TCP/IP je absence mechanismu, ktery by umoznil automaticky
pacifikovat ty uzivatele, kteri delaji bordel.

> Napsal jsem si skript, ktery podle toho, co se objevuje v maillogu,
> blokuje na urcitou dobu prislusne ip adresy pomoci iptables. Nechal
> jsem to chvili bezet a behem nekolika hodin tam bylo pres deset tisic
> ip adres a jadro to celkem pochopitelne prestavalo stihat (v topu bylo vse
> na 0% krome 99% u systemu).

Vzhledem k tomu, ze pokud to davate vsechno do jedne rady, pak musi pri
kazdem prichozim paketu vyhodnotit jedno po druhem 10 000 pravidel, tak se
neni co divit.

Pri takovem mnozstvi to musite zorganizovat nejak chytreji. Jedna moznost
je datova struktura nazyvana trie. IP adresu si predstavite jako sekvenci
symbolu (bitu, bajtu...) a vytvorite strom pravidel, ktery pakety postupne
roztriduje podle techto symbolu. Tak muzete zmensit pocet pravidel, ktere
musi pro kazdy paket jadro vyhodnotit, na radove desitky.

Krome toho umi smerovaci mechanismy v 2.2 a 2.4 nejake hashovani (viz
dokumentaci k iproute2) a bud iptables umi neco podobneho, nebo by bylo
mozno stejneho efektu jako filtrovanim dosahnout smerovanim "do cerne
diry".


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux