kiltum (kiltum) wrote,
kiltum
kiltum

Category:
Сегодня в порядке написания сами-знаете-чего решил посмотреть на стандартные средства postfix в деле убивания спама. Почему-то у меня внутри сложилось впечатление, что всякие антиспамные средства типа RBL, Spamasassin, Razor и так далее приносят больше вреда, чем пользы, поэтому на моих серверах их не стоит, по крайней мере в "боевом" режиме. Так, побаловаться разве что ...

Взял для пробы один сервер, через которых проходит около 4х тыщ хороших и правильных (и хз сколько неправильных) мессаг в день и добавил следующее в main.cf

smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname, reject_non_fqdn_hostname

postfix начал материться примерно так:

RCPT from unknown[59.94.177.63]: 450 <computer>: Helo command rejected: Host not found; from=<contact@0privacy.com> to=<мыло> proto=ESMTP helo=<computer>

Посмотрим, насколько эффективна такая штука за неполный день. Ибо включил я её где-то в обед 1 декабря.

# cat /var/log/maillog|grep Dec|grep reject|grep Host\ not\ found|wc -l
242

Потом добавил строчку

smtpd_sender_restrictions = reject_unknown_sender_domain,reject_non_fqdn_sender

Но за сегодня она так и не сработала ни разу - видимо спамеры научились писать <cardhacker@hotmail.com> вместо обычных "Ваш лучший друк"

Следующей стала моя самая любимая строка

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining, check_helo_access hash:/etc/postfix/helo_access, reject_unknown_hostname, reject_non_fqdn_recipient

Потребовалось ещё добавить одну строчку в файл

# cat /etc/postfix/helo_access
localhost.localdomain REJECT

Постфикс стал ругаться так:

RCPT from unknown[89.100.224.81]: 554 <localhost.localdomain>: Helo command rejected: Access denied; from=<vittorio3844@bartbaggett.com> to=<мыло> proto=SMTP helo=<localhost.localdomain>

или так:

RCPT from 82-171-190-102.dsl.ip.tiscali.nl[82.171.190.102]: 504 <localhost>: Helo command rejected: need fully-qualified hostname; from=<thanh896@apr.com> to=<мыло> proto=SMTP helo=<localhost>
RCPT from p54806FDD.dip.t-dialin.net[84.128.111.221]: 504 <84.128.111.221>: Helo command rejected: need fully-qualified hostname; from=<mmqthqs@rora.com> to=<мыло> proto=SMTP helo=<84.128.111.221>

или даже так:

RCPT from unknown[62.165.39.202]: 450 <62-165-39-202.uralhosting.ru>: Helo command rejected: Host not found; from=<info@bults.org> to=<мыло> proto=SMTP helo=<62-165-39-202.uralhosting.ru>

Поглядим эффективность:

# cat /var/log/maillog|grep Dec|grep reject|grep localhost.localdomain|wc -l
300

# cat /var/log/maillog|grep Dec|grep reject|grep localhost|wc -l
325

Всего 25 спамеров с helo=localhost. И общий итог:

# cat /var/log/maillog|grep Dec|grep reject|wc -l
1082

Как видим, половину отлупов мне дал reject_unknown_hostname (тыща - 200 - 300). Хороший параметр! Правда, надо следить, что бы "хорошие" сервера управляемые тупыми админами, не попали бы в отлуп. Ибо если сервер пришел с нормально резолвящегося хоста, но представился "левым" хостом (типа server.companyname), то он тоже получит отлуп.

P.S. Теперь осталось вспомнить, как пишутся всякие гадости типа регекспов (убил бы автора самой идеи регекспа) и запихать их в нужное место постфиксу, что бы безжалостно рубил все сервера, чьи имена резолвятся в домены выше 3его уровня. Кто-нить не пожалеет времени на заглядывание в свой main.cf, ежели там у него такое есть? Куда его пинать, а что чего-то я того ...

Охота отрубить домены типа ip.85.202.31.114.dyn.sub-15.broadband.voliacable.com или c-69-139-213-106.hsd1.ar.comcast.net - и так понятно, что там ничего хорошего нет ... а адреса типа fig.domain.tld - допускал до тела.

P.P.S. А некоторые, на которых я не буду показывать пальцами, пусть не возникают. Легальные юзвери с подобных адресов отправят почту совершенно спокойно, ибо permit_sasl_authenticated идет раньше, чем все запрещающие правила ...

P.P.P.S письма на несуществующие адреса проходят по другой категории (в смысле постфикс на них ругается по другому):
# cat /var/log/maillog|grep Dec|grep unknow|wc -l
4656
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 13 comments