[Postfixbuch-users] Welcher client_name bei RHSBL checks?

Jan P. Kessler postfix at jpkessler.info
Di Jul 3 21:42:07 CEST 2007


Uwe Driessen schrieb:
> reject_rhsbl_client rbl_domain=d.d.d.d 
> Reject the request when the client hostname is listed with the A record "d.d.d.d" under
> rbl_domain (Postfix version 2.1 and later only). If no "=d.d.d.d" is specified, reject the
> request when the client hostname is listed with any A record under rbl_domain. See the
> reject_rbl_client description above for additional RBL related configuration parameters.
> This feature is available in Postfix 2.0 and later.
> 
> Also das schaut mir schon nach IP aus A record "d.d.d.d"

Nein, dabei geht es um das Ergebnis der Abfrage (lies mal richtig ;)).
Das ist i.d.R. 127.0.0.2, wenn der Client gelisted ist. Kann aber auch
unterschiedlich belegt sein. Das gilt ebenso für RBLs, siehe SORBS:

"SORBS returns 127.0.0.x codes to indicate which database the test
result was obtained from. If you use the aggregate zone, the return
codes will still reflect the specific database(s) from which the results
have been obtained."

          http.dnsbl.sorbs.net    127.0.0.2
	 socks.dnsbl.sorbs.net    127.0.0.3
	  misc.dnsbl.sorbs.net    127.0.0.4
	  smtp.dnsbl.sorbs.net    127.0.0.5
      new.spam.dnsbl.sorbs.net    127.0.0.6
   recent.spam.dnsbl.sorbs.net    127.0.0.6
      old.spam.dnsbl.sorbs.net    127.0.0.6
	  spam.dnsbl.sorbs.net    127.0.0.6
   escalations.dnsbl.sorbs.net    127.0.0.6
	   web.dnsbl.sorbs.net    127.0.0.7
	 block.dnsbl.sorbs.net    127.0.0.8
	zombie.dnsbl.sorbs.net    127.0.0.9
	   dul.dnsbl.sorbs.net    127.0.0.10
       badconf.rhsbl.sorbs.net    127.0.0.11
	nomail.rhsbl.sorbs.net    127.0.0.12

oder zen.spamhaus.org:

	127.0.0.2  	Spamhaus Block List
	127.0.0.4-8 	Exploits Block List
	127.0.0.10-11 	Policy Block List

RBLs sind für IPs, RHSBLs sind zur Abfrage von Hostnamen und
Senderdomains. Und mal im Ernst: Was für eine IP, außer dem Ergebnis der
Abfrage, sollte es auch sonst sein...?

Das ganze ist dann sehr nützlich, wenn man nur Bestandteile einer RBL
abfragen möchte. So kannst Du in Deinen Restrictions folgendes angeben:

smtp_whatever_restrictions = ...bla...,
	reject_rbl_client=dsbl.sorbs.net=127.0.0.10

um nur Dialup clients zu erwischen (sagen wir weil Du auf OpenRelays
stehst ;)). Macht so erst mal wenig Sinn, wird aber interessant, wenn
Greylisting ins Spiel kommt. In meinem kleinen policy daemon, kann ich
dann folgendes machen:

# Greylisting für Dynclients:
rbl=dnsbl.sorbs.net/127.0.0.10 ; action=Greylisting
# Greylisting bei 2 RBL Treffern
rbl=zen.spamhaus.org,list.dsbl.org ; action=REJECT too many RBLs
...

Denn Greylisting macht eben nur bei Dialups Sinn.

Ein Lookup bei einer RBL "von Hand" läuft also folgendermaßen:

Client=1.2.3.4
nslookup 4.3.2.1.zen.spamhaus.org
-> 127.0.0.x  (wenn gelistet)

bei einer RHSBL:
Client=nimbus.jpberlin.local
nslookup nimbus.jpberlin.local.rhsbl.sorbs.net
-> 127.0.0.x  (wenn gelistet)

Glaub mir einfach: Das ganze funktioniert bestens und die false-positive
Rate ist verschwindend - ganz ähnlich macht das ja auch policy-weight.

> Ansonsten vermute ich mal das es der Name ist welcher dem connect folgt
> 
> connect from ilpostino.jpberlin.de[213.203.238.6]
>
> reject_rhsbl_sender rbl_domain=d.d.d.d 
> Reject the request when the MAIL FROM domain is listed with the A record "d.d.d.d" under
> rbl_domain (Postfix version 2.1 and later only). If no "=d.d.d.d" is specified, reject the
> request when the MAIL FROM domain is listed with any A record under rbl_domain.

Also nochmal Schritt für Schritt:

Postfix bietet zwei Arten zur Abfrage/Prüfung von Hostnamen an - den
"client_name" und den "reverse_client_name" (s. auch die Parameter
(reject_unknown_client_hostname und
reject_unknown_reverse_client_hostname). Dabei haben beide absolut gar
nichts mit irgendwelchen übergebenen Werten (außer der IP natürlich) zu
tun. Dafür gibt es die HELO-Parameter.

Der Unterschied zwischen den beiden liegt in der Art, wie sie
verifiziert werden (s.
http://www.postfix.org/postconf.5.html#reject_unknown_client_hostname :

CLIENT_NAME: Reject the request when 1) the client IP address->name
mapping fails, 2) the name->address mapping fails, or 3) the
name->address mapping does not match the client IP address. (PF macht
hier also eine zusätzliche "vorwärts"-Verifizierung)

REVERSE_CLIENT_NAME: ... (Eben einfach nur der Reverse-Lookup.)

Ich wollte nun wissen, welche dieser beiden Varianten Postfix zur
Prüfung gegen RHSBLs verwendet.

Gruß, Jan



Mehr Informationen über die Mailingliste Postfixbuch-users