Добрый день! Помогите заткнуть дыру.
Имеется почтовый сервер на sendmail на FreeBSD.
Имеется следующая проблемка:
Можно послать письмо с адресса не указанного в access листе( через этот smtp), на ящик пользователя зарегистрированного на этом сервере. На другие адреса послать таким образом письмо нельзя.
Похоже через эту дыру юзерам сыпится большое количество спама.
Например мне приходит письмо адресованное не мне но якобы другому пользователю на моем сервере. Помогите плз.
>
>Можно послать письмо с адресса не указанного в access листе( через этот
>smtp), на ящик пользователя зарегистрированного на этом сервере. На другие адреса
>послать таким образом письмо нельзя.
Здесь не понятно>Например мне приходит письмо адресованное не мне но якобы другому пользователю на моем сервере.
Отправитель указывает в RCPT TO: твой адрес (И ИМЕННО ОН БУДЕТ УКАЗАН В ЛОГЕ), а на этапе DATA -другой.
В итоге ты получаешь письмо, в котором указан посторнний получатель.Это обычная спамеровская практика.
Если очень это не нравится - пиши правила на проверку соответствия
этих значений. Но этому есть противопоказания
Например, форвардинг почты; почтовые рассылки, указывающие в качестве получателя имя списка получателей; BCC:
>>
>>Можно послать письмо с адресса не указанного в access листе( через этот
>>smtp), на ящик пользователя зарегистрированного на этом сервере. На другие адреса
>>послать таким образом письмо нельзя.
>Здесь не понятноНу например я спамер и знаю что есть ящик user@myserver.ru
я могу указать при в настройках своей почтовой программы smtp - smtp.myserver.ru и послать письмо, и оно дойдет. хотя на ящик user@otherserver.ru ак полсать уже нельзя
>
>>Например мне приходит письмо адресованное не мне но якобы другому пользователю на моем сервере.
>Отправитель указывает в RCPT TO: твой адрес (И ИМЕННО ОН БУДЕТ УКАЗАН
>В ЛОГЕ), а на этапе DATA -другой.
>В итоге ты получаешь письмо, в котором указан посторнний получатель.
>
>Это обычная спамеровская практика.
>Если очень это не нравится - пиши правила на проверку соответствия
>этих значений. Но этому есть противопоказания
Как это делается и
какие противопоказания?
И еще вопрос: Каким образом в спамерские рассылки попадают ящики со сложными названиями и негде не засвеченные?(тоесть ими почти не пользовались)
>Ну например я спамер и знаю что есть ящик user@myserver.ru
>я могу указать при в настройках своей почтовой программы smtp - smtp.myserver.ru
>и послать письмо, и оно дойдет. хотя на ящик user@otherserver.ru ак
>полсать уже нельзя
Это разрешает любой почтовик - прямая доставка почты локальному клиенту непосредственно через почтовый сервер получателя.
Если хочешь это запретить - в sendmail.mc добавь и пересобери sendmail:
LOCAL_CONFIG
LOCAL_RULESETS
HReceived: $>+CheckReceived
Запоминаем текущее состояние подзаголовков "Received:". Если рассылка произведена непосредственно через ваш почтовик, то на вход набору правил CheckReceived не будет подано ничего, нижеследующее правило не сработает, и переменная {ReceivedCheck} окажется пустой.
SCheckReceived
R$* $: $(storage {ReceivedCheck} $@ OK $) $1Scheck_eoh
# Проверяем $&{ReceivedCheck}:
R$* $: < $&{ReceivedCheck} >
R$* $: $(syslog $&{ReceivedCheck} $1 $) $1
# Очищаем эту переменную для следующего сообщения:
R$* $: $(storage {ReceivedCheck} $) $1
#Если переменная не пустая, то пропускаем письмо:
R< $+ > $@ OK#Разрешаем также почту из нашей локальной сети:
R$* $: < $&{client_addr} >
R< $* $=R $* > $@ OK
#Чтобы предыдущее правило сработало, нужно релей разрешать через файл /etc/mail/relay-domains## Разрешаем почту с локального адреса - root@localhost (имеет место при отсутствии файла submit.cf):
#R$* $: <$&_>
#R $@ OK# Разрешаем почту, прошедшую smtp-авторизацию:
R$* $: < $&{auth_authen} >
R< $+ > $@ OK# Во всех остальных случаях блокируем письмо:
R$* $#error $: "553 You are not a local user and you cannot send a letter to my server directly.">ще вопрос: Каким образом в спамерские рассылки попадают ящики со сложными названиями и негде не засвеченные?(тоесть ими почти не пользовались)
Среди спамеров телепатов нет, значит, все-таки засвеченные либо высчитанные спамером путем перебора.
Ты же, наверное, видишь в логах кучу сообщений "User unknown"