RP> Извините, но я тут ничего не понял. Почему локальные пользователи
RP> не могут формировать Message-ID? Какой уязвимостью?
Может неточно выразился. Как раз именно только локальным пользователям
оставить возможность формировать Message-Id. При соединении телнетом
на 25 порт Message-Id генерируется как от локального клиента, но
клиент не является локальным.
В sendmail блокировка выглядела следующим образом:
LOCAL_CONFIG
LOCAL_RULESETS
Kstorage macro
# Check for valid Message ID
# Check message id for valid hostname (after @)
HMessage-Id: $>CheckMessageId
SCheckMessageId
# Record the presence of the header
R$* $: $(storage {MessageIdCheck} $@ OK $) $1
# check for local Message-Id: header for non-local headers
# Put client hostname in an initial lookup focus
# anything -> < lookup focus > anything
R$* $: < $&{client_name} > < $1 >#R< $j > <$+> $@ OK
# test if client hostname in lookup focus ends with one of our
# domains, $=m, if so the message is locally generated and all
# Message-Id: header are OK
R< localhost > < $+ > $@ OK
# Check for myhostname.mydomain.com
#R<$+> <$+> $: <$1 . $m> <$2>
Scheck_eoh
# This could break some mail
# Check the macro
R$* $: < $&{MessageIdCheck} >
# Clear the macro for the next message
R$* $: $(storage {MessageIdCheck} $) $1
# Has a Message-Id: header
R< $+ > $@ OK
# Allow missing Message-Id: from local mail
R$* $: < $&{client_name} > R< > $@ OK R< $=w > $@ OK
R< $+ > $: $(access $1 $: $1 $)Получено Tue Jul 20 10:28:19 2004
# Now check for brackets around an IP
R[ $+ ] $: $(access $1 $: $1 $) ROK$* $@ OK RREJECT$* $#error $: "553 Delivery blocked; HMessage-ID: missing or null, and client reverse DNS failed access database lookup." RDISCARD$* $#discard $: discard RERROR:$* $#error $: $1
# Block anything else
R$* $#error $: "553 Delivery blocked; HMessage-ID: missing or null but client is not local"
Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:13:08 MSK