https://postfwd.org/
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(a)domain.local
instance=6748.46adf3f8.62156.0
protocol_name=ESMTP
encryption_keysize=0
recipient_count=0
ccert_issuer=
sender=owner-postfix-users(a)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(a)lists.vpsfree.cz
http://lists.vpsfree.cz/listinfo/community-list
--
Jan Hrach |
https://jenda.hrach.eu/
GPG CD98 5440 4372 0C6D 164D A24D F019 2F8E 6527 282E