[Postfixbuch-users] Erkennen der eigenen IP im HELO/EHLO command
Matthias Haegele
mhaegele at linuxrocks.dyndns.org
Mi Mai 24 21:20:30 CEST 2006
Rainer Wiesenfarth schrieb:
> Matthias Haegele schrieb:
>
>>Marcel Hartmann schrieb:
>>
>>>>/^[0-9.]+$/ 550 Your software is not RFC 2821 compliant
>>>
>>>Was bewirkt diese zeile denn knapp gesagt?
>>
>>scnr: Was die regex sagt ;-).
>>Grob: Wer keine Ziffern [0-9] gefolgt von einem Punkt . verwendet, hat
>>keine gültige IP-Adresse ...
>>(Ziffern. nächster Block etc: z.B. 192.)
>
>
> ??? Hab' ich's jetzt nur nicht kapiert oder hast Du da einen Aussetzer
> gehabt? IMHO matcht die RE, wenn der Eintrag nur aus Ziffern und Punkten
> besteht, also z.B. bei "192.168.0.1" oder "127.0.0.1" oder auch bei
> "1..2..3".
Ja, ja du hast Recht ;-). Klar habe ich einen Aussetzer (nicht den
ersten) ;-).
Letzteres wird trotzdem geblockt aber wohl nicht von dieser Restriction
und mit einem 501er wo das herkommt k. A.:
May 24 17:20:56 mein_mailserver postfix/smtpd[9244]:
NOQUEUE: reject: RCPT from [84.164.225.115]: 501 <[192..168..1.1]>:
Helo command rejected: invalid ip address;
from=<meine_mailadresse at t-online.de>
to=<meine_mailadresse at meine_domain.dyndns.org> proto=ESMTP
helo=<[192..168..1.1]>
>
> Ohne in den RFC geschaut zu haben, würde ich vermuten, dass die Angabe
> aus einem Hostname und/oder einer IP-Adresse, dieser aber in '[]',
> bestehen muss.
Jup. Sobald eine IP-Adresse gesendet wird wird verlangt dass diese
gefälligst in [] eingebettet daherkommt.
Weil mir so langweilig ist hab ich mal in die RFC geschaut:
> To promote interoperability and consistent with long-standing
> guidance about conservative use of the DNS in naming and applications
> (e.g., see section 2.3.1 of the base DNS document, RFC1035 [22]),
> characters outside the set of alphas, digits, and hyphen MUST NOT
> appear in domain name labels for SMTP clients or servers. In
> particular, the underscore character is not permitted. SMTP servers
> that receive a command in which invalid character codes have been
> employed, and for which there are no other reasons for rejection,
> MUST reject that command with a 501 response.
Das wär dann wohl der Grund für die 501 er von oben?
> 4.1.3 Address Literals
>
> Sometimes a host is not known to the domain name system and
> communication (and, in particular, communication to report and repair
> the error) is blocked. To bypass this barrier a special literal form
> of the address is allowed as an alternative to a domain name. For
> IPv4 addresses, this form uses four small decimal integers separated
> by dots and enclosed by brackets such as [123.255.37.2], which
Das isses wohl ...
> indicates an (IPv4) Internet Address in sequence-of-octets form. For
> IPv6 and other forms of addressing that might eventually be
> standardized, the form consists of a standardized "tag" that
> identifies the address syntax, a colon, and the address itself, in a
> format specified as part of the IPv6 standards [17].
>
[...]
>
> Die Frage ist nun noch, ob sich P at ricks Zeilen:
> /^194\.126\.158\.24$/ 550 Don't use my own IP address: 194.126.158.24
> /^212\.14\.92\.88$/ 550 Don't use my own IP address: 212.14.92.88
> /^212\.14\.92\.89$/ 550 Don't use my own IP address: 212.14.92.89
> /^212\.14\.92\.90$/ 550 Don't use my own IP address: 212.14.92.90
> dann nicht erübrigen (es sei denn, er will sich explizit über die
> Nutzung seiner Adresse beschweren).
>
> Sinn machen würden sie übrigens dann, wenn man '^' und '$' weg lässt,
> dann kann man sich auch die Version mit '[]' sparen ...
Das kapier ich jetzt nicht würde das dann nicht das Ergebnis verfälschen?.
>
> Best regards / Mit freundlichen Grüßen
> Rainer Wiesenfarth
Grüsse
MH
Mehr Informationen über die Mailingliste Postfixbuch-users