Ahoj, pred mnoha lety se mi tady tento problem stal. Ale neslo o napadeni serveru, jednomu zakaznikovi (spis jen jednomu cloveku s jednim mailem z jedne domeny z mnoha bezich ze serveru) se asi zaviroval PC a utocnik se dostal k jeho heslu (treba keyloggerem) a zacal pres server "legalne" odesilat maily. Zmena hesla/upozorneni a nasledne zadosti na blacklisty. Pak mi kamarad na server napsal nejaky script, ktery mi posle mail, pokud se zvetsi fronta. Pak musim rucne v logu zjistit, kdo to je a zmenit heslo. Od te doby jsem se na blacklist nedostal, ale stalo se to asi jen 2x a vzdy jsem byl "v dosahu", takze jsem to stihl.
Sel by napsat nejaky script, ktery by zautomatizoval i ten zbytek a jak pres nejakou adresu odejde vic jak treba 100 mailu za hodinu, tak ho to primo zjisti a zmeni mu to heslo za me? A me jen oznami, ze se to stalo a ja to s dotycnym vyresim?
Libor Boldan
Icinga a monitoring mailove fronty - proc neco vymyslet
Dne 16.8.2018 v 21:51 Libor Boldan napsal(a):
Ahoj, pred mnoha lety se mi tady tento problem stal. Ale neslo o napadeni serveru, jednomu zakaznikovi (spis jen jednomu cloveku s jednim mailem z jedne domeny z mnoha bezich ze serveru) se asi zaviroval PC a utocnik se dostal k jeho heslu (treba keyloggerem) a zacal pres server "legalne" odesilat maily. Zmena hesla/upozorneni a nasledne zadosti na blacklisty. Pak mi kamarad na server napsal nejaky script, ktery mi posle mail, pokud se zvetsi fronta. Pak musim rucne v logu zjistit, kdo to je a zmenit heslo. Od te doby jsem se na blacklist nedostal, ale stalo se to asi jen 2x a vzdy jsem byl "v dosahu", takze jsem to stihl.
Sel by napsat nejaky script, ktery by zautomatizoval i ten zbytek a jak pres nejakou adresu odejde vic jak treba 100 mailu za hodinu, tak ho to primo zjisti a zmeni mu to heslo za me? A me jen oznami, ze se to stalo a ja to s dotycnym vyresim?
Do /etc/postfix/postfwd.cf se dá id=A001; client_address=whi.te.li.st/32; action=rate(client_address/5000/86400/DEFER Stop, only 5000 messages per day for $$client_address) id=A002; client_address=whi.te.li.st/32; action=dunno id=R001; client_address=0.0.0.0/0; action=rate(client_address/300/86400/DEFER Stop, only 300 messages per day for $$client_address) id=R002; client_address=0.0.0.0/0; action=rate(client_address/100/3600/DEFER Stop, only 100 messages per hour for $$client_address)
a do main.cf se přidá smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10040 smtpd_relay_restrictions = check_policy_service inet:127.0.0.1:10040
Následně mám v cronu grep -E "(Stop, only |127.0.0.1:10040)" /var/log/mail.log | tail -n 1000
Ten software (postfwd) je dost strašný a například blbne s openvz, alokuje stovky MB RAM a tak.
Ten protokol, kterým to mluví, je ale velmi jednoduchý. Můžeš si tak napsat něco svého. Pověsíš si na :10040 svůj program a kdykoli přijde mail, přijde ti následující:
ccert_fingerprint= size=64063 helo_name=english-breakfast.cloud9.net reverse_client_name=english-breakfast.cloud9.net queue_id= encryption_cipher= encryption_protocol= etrn_domain= ccert_subject= request=smtpd_access_policy protocol_state=RCPT recipient=someone@domain.local instance=6748.46adf3f8.62156.0 protocol_name=ESMTP encryption_keysize=0 recipient_count=0 ccert_issuer= sender=owner-postfix-users@postfix.org client_name=english-breakfast.cloud9.net client_address=168.100.1.7 sasl_username=xx <prázdný řádek>
A ty musíš odpovědět: action=DUNNO (nebo DEFER) <prázdný řádek>
Můžeš tedy počítat kolik poslal jaký sender, client_address a sasl_username a pokud to přesáhne třeba 100 za hodinu, zablokovat.
On 16.8.2018 21:51, Libor Boldan wrote:
Ahoj, pred mnoha lety se mi tady tento problem stal. Ale neslo o napadeni serveru, jednomu zakaznikovi (spis jen jednomu cloveku s jednim mailem z jedne domeny z mnoha bezich ze serveru) se asi zaviroval PC a utocnik se dostal k jeho heslu (treba keyloggerem) a zacal pres server "legalne" odesilat maily. Zmena hesla/upozorneni a nasledne zadosti na blacklisty. Pak mi kamarad na server napsal nejaky script, ktery mi posle mail, pokud se zvetsi fronta. Pak musim rucne v logu zjistit, kdo to je a zmenit heslo. Od te doby jsem se na blacklist nedostal, ale stalo se to asi jen 2x a vzdy jsem byl "v dosahu", takze jsem to stihl.
Sel by napsat nejaky script, ktery by zautomatizoval i ten zbytek a jak pres nejakou adresu odejde vic jak treba 100 mailu za hodinu, tak ho to primo zjisti a zmeni mu to heslo za me? A me jen oznami, ze se to stalo a ja to s dotycnym vyresim?
Libor Boldan _______________________________________________ Community-list mailing list Community-list@lists.vpsfree.cz http://lists.vpsfree.cz/listinfo/community-list
community-list@lists.vpsfree.cz