Postfix - nefunguje blokování domén pomocí DNSBL

Postfix - nefunguje blokování domén pomocí DNSBL
« kdy: 29. 11. 2020, 20:52:37 »
Snazim se zprovoznit blokovani IP adres a domen v postfixu pomoci vlastniho DNSBL. V main.cf mam:

Kód: [Vybrat]
smtpd_recipient_restrictions =
     permit_mynetworks
     permit_sasl_authenticated
     reject_unauth_destination
     reject_unlisted_recipient
     check_recipient_access hash:/etc/postfix/recipient
     reject_unknown_reverse_client_hostname
     reject_rbl_client           dnsbl.mydomain.tld
     reject_rhsbl_helo           dnsbl.mydomain.tld
     reject_rhsbl_sender         dnsbl.mydomain.tld
     reject_rhsbl_reverse_client dnsbl.mydomain.tld
     check_policy_service inet:127.0.0.1:10040
     check_policy_service inet:127.0.0.1:60000

Vychazel jsem z https://www.linuxbabe.com/mail-server/block-email-spam-postfix :
  • rhs stands for right hand side, i.e, the domain name.
  • reject_rhsbl_helo makes Postfix reject email when the client HELO or EHLO hostname is blacklisted.
  • reject_rhsbl_reverse_client: reject the email when the unverified reverse client hostname is blacklisted. Postfix will fetch the client hostname from PTR record. If the hostname is blacklisted, reject the email.
  • reject_rhsbl_sender makes Postfix reject email when the MAIL FROM domain is blacklisted.
  • reject_rbl_client: This is an IP-based blacklist. When the client IP address is backlisted, reject the email.

Mym cilem je zablokovat emaily z IP 10.20.30.40 a domeny example.net.
Takze chapu-li dobre, mel bych pouzit reject_rbl_client a reject_rhsbl_sender.
Do DNS jsem si pridal:
Kód: [Vybrat]
martin@X1 ~ $ dig +short 40.30.20.10.dnsbl.mydomain.tld A
127.0.0.2
martin@X1 ~ $ dig +short 40.30.20.10.dnsbl.mydomain.tld TXT
"Protoze posilas spam."
martin@X1 ~ $ dig +short example.net.dnsbl.mydomain.tld A
127.0.0.2
martin@X1 ~ $ dig +short example.net.dnsbl.mydomain.tld TXT
"Protoze posilas spam."
martin@X1 ~ $
martin@X1 ~ $ dig +short net.example.dnsbl.mydomain.tld A
127.0.0.2
martin@X1 ~ $ dig +short net.example.dnsbl.mydomain.tld TXT
"Protoze posilas spam."
martin@X1 ~ $

Blokovani podle IP funguje skvele, ale podle domeny ne. Na domene example.net mam google apps, ale v mail from je sparavne @example.net.
Co jsem hledal, IP se zapisuje obracene, ale domena normalne. Zkusil jsem i domenu zapasat obracene, ale nefunguje to.
Tusi nekdo, co delam spatne?
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."


jvb

Re:Postfix - nefunguje blokování domén pomocí DNSBL
« Odpověď #1 kdy: 30. 11. 2020, 12:27:45 »
Zkus http://www.postfix.org/postconf.5.html#debug_peer_list a podivej se, co to presne dela.

Re:Postfix - nefunguje blokování domén pomocí DNSBL
« Odpověď #2 kdy: 08. 12. 2020, 00:28:41 »
Zkus http://www.postfix.org/postconf.5.html#debug_peer_list a podivej se, co to presne dela.

Prave jsem to zkousel a uz jsem aspon prisel na problem

Kód: [Vybrat]
martin@X1 ~ $ dig +short example.net.dnsbl.mydomain.tld A
127.0.0.2
martin@X1 ~ $ dig +short example.net.dnsbl.mydomain.tld TXT
"Protoze posilas spam."
martin@X1 ~ $
martin@X1 ~ $ dig +short net.example.dnsbl.mydomain.tld A
127.0.0.2
martin@X1 ~ $ dig +short net.example.dnsbl.mydomain.tld TXT
"Protoze posilas spam."
martin@X1 ~ $

Kdyz posilam ze serveru, ktery ma DNS A+PTR "example.net", tak to DNSBL odchyti.

Ale kdyz jsem si zkusil takhle zablokovat domenu, pro kterou si platim Google Apps, tak muzu bez problemu posilat a DNSBL to vubec neodchyti. Jak je to mozne? Vzdyt "reject_rhsbl_sender" by mel resit From hlavicku.
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

Re:Postfix - nefunguje blokování domén pomocí DNSBL
« Odpověď #3 kdy: 08. 12. 2020, 07:54:20 »
MAIL FROM a From: hlavička sú dve odlišné a nezávislé veci. Adresa v nich obsiahnutá nemusí byť vždy totožná.

Pre lepšie pochopenie, predstav si to ako klasický list posielaný v obálke poštou - adresa odosielatelia uvedená na obálke a adresa odosielateľa uvedená na vloženom liste tiež nemusia sedieť. Vo väčšine najbežnejších prípadov budú totožné, ale v niektorých scenároch to tak byť nemusí (napríklad advokát posiela list od svojho klienta, na obálke je ako odosielateľ napísaný advokát ale na liste bude uvedený/podpísaný klient).

Čiže v tvojom prípade bude asi v MAIL FROM uvedená adresa google a iba vo From: je adresa tvojej domény.

Re:Postfix - nefunguje blokování domén pomocí DNSBL
« Odpověď #4 kdy: 08. 12. 2020, 11:05:45 »
Chapu, ale to je na strane gmailu a neovlivnim to :-(

Je nejaka jina moznost, jak domenu zablokovat?
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."


Re:Postfix - nefunguje blokování domén pomocí DNSBL
« Odpověď #5 kdy: 08. 12. 2020, 11:17:14 »
Tak podle https://wiki.centos.org/HowTos/postfix_restrictions patri MAIL FROM do  smtp_sender_restrictions tak jsem to pridal. Nyni mam:
Kód: [Vybrat]
127.0.0.1:10040_time_limit   = 3600
smtpd_recipient_restrictions =
                permit_mynetworks
                permit_sasl_authenticated
                reject_unauth_destination
                reject_unlisted_recipient
                check_recipient_access hash:/etc/postfix/recipient
                reject_unknown_reverse_client_hostname
                reject_rbl_client zen.spamhaus.org
                reject_rbl_client b.barracudacentral.org
                reject_rbl_client           dnsbl.mydomain.tld
                reject_rhsbl_helo           dnsbl.mydomain.tld
                reject_rhsbl_sender         dnsbl.mydomain.tld
                reject_rhsbl_reverse_client dnsbl.mydomain.tld
                check_policy_service inet:127.0.0.1:10040
                check_policy_service inet:127.0.0.1:60000

smtpd_sender_restrictions =
                permit_sasl_authenticated
                reject_non_fqdn_sender
                reject_unknown_sender_domain
                reject_unauth_pipelining
                reject_unlisted_sender
                check_sender_access hash:/etc/postfix/sender_access
                reject_rhsbl_sender         dnsbl.mydomain.tld
ale porad to nejde :-(
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

Re:Postfix - nefunguje blokování domén pomocí DNSBL
« Odpověď #6 kdy: 08. 12. 2020, 12:26:15 »
To je jedno, kde to dáš, stále platí, že to kontroluje adresu na obálke (MAIL FROM) a nie na liste (From:). Pomocou reject_rhsbl_sender  sa to skontrolovať nedá.

Na kontrolu obsahu From: hlavičky by ale malo byť možné napísať vhodný regex pomocou tzv. header_checks, viď.
http://www.postfix.org/header_checks.5.html

To je jedniná cesta čo ma použitím Postfixu napadá. Ale tam je problém, že musíš napísať pravidlá pre jednotlivé blokované domény, nemôžeš na to používať DNS blocklist. Ak by si chcel DNS blocklist, nevyhnutné je asi použiť nejaký externý checker (ak ti niekto neporadí niečo lepšie).

Re:Postfix - nefunguje blokování domén pomocí DNSBL
« Odpověď #7 kdy: 08. 12. 2020, 13:02:57 »
Tak jsem na to prisel. Gmail je ok.

Problem je s funkci "Posílání e-mailů z jiné adresy nebo aliasu" https://support.google.com/mail/answer/22370?hl=cs
kdyz si do sve neco@gmail.com schranky pridam pravo posilat z adresy moje@domena.tld - to pak blacklist neodchyti.
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."