Есть sendmail, работает как релей и антиспам
при просмотре tail -f /var/log/maillog видно около 30 сообщений в секунду спама, реальных писем 0-1 в секундуСо спамом sendmail справляется отлично, но теряется много писем, с ошибкой mailbox busy, try again later
Если попытатся отправить письмо то оно отправится раза со второго-третьего, иногда с первого.
Я подозреваю что sendmail не справляется с потоком спама.
Как избавится от такого брутфорса на sendmail?Раньше когда спама было меньше, таких ошибок небыло и почта ходила отлично
Попробуйте блокировать IP адреса спамеров
например с помощью iplistИли можно блокировать страны (к примеру азию), где особо много спамерских ботов. но такое решение не есть true.
>Попробуйте блокировать IP адреса спамеров
>например с помощью iplist
>
>Или можно блокировать страны (к примеру азию), где особо много спамерских ботов.
>но такое решение не есть true.Спам у меня отлично блокируется антиспамом. у меня подозрение на то что сендмайл не успевает все сообщения обработать и часть отбрасывает
покажите полный вывод в лог по этой ошибке
>покажите полный вывод в лог по этой ошибке----------------------------------------------------
[root@mail ~]# tail -f /var/log/maillog |grep busy
Mar 13 22:51:27 mail sm-mta[11475]: n2DHpDqw011475: Milter: to=<gp2bgxeqanybc1dgeaaaaa@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:29 mail sm-mta[11491]: n2DHpNZT011491: Milter: to=<montag@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:29 mail sm-mta[11489]: n2DHpJ1s011489: Milter: to=<dolnik@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:30 mail sm-mta[11493]: n2DHpN51011493: Milter: to=<rkweaaaaa@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:30 mail sm-mta[11492]: n2DHpN1b011492: Milter: to=<20@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:30 mail sm-mta[11463]: n2DHp1Dc011463: Milter: to=<tblaeaaaaa@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:30 mail sm-mta[11464]: n2DHp3sr011464: Milter: to=<gusev@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:30 mail sm-mta[11457]: n2DHowQC011457: Milter: to=<endir@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:30 mail sm-mta[11478]: n2DHpGIv011478: Milter: to=<an2bgxeaanybc1dgeaaaaa@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:30 mail sm-mta[11477]: n2DHpGTL011477: Milter: to=<bogdann@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:31 mail sm-mta[11455]: n2DHovnn011455: Milter: to=<pf@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:31 mail sm-mta[11453]: n2DHovrg011453: Milter: to=<geu53aeaaaaa@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
Mar 13 22:51:31 mail sm-mta[11475]: n2DHpDqw011475: Milter: to=<uex4gzzqz3erqeaaaaa@stks.ru>, reject=451 4.2.1 Mailbox busy, try again later
-------------------------------------------------Интерисует почему так происходит. Отбрасывается и реальная почта, которую нельзя терять!
Вот конфиг сендмайла
----------------------------------------------------------------------
divert(-1)divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.30.2.4 2007/11/22 16:20:01 gshapiro Exp $')
OSTYPE(freebsd6)
DOMAIN(generic)FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')
FEATURE(dnsbl, `bl.spamcop.net', `"550 Mail from " $&{client_addr} " rejected - see http://bl.spamcop.net"')
FEATURE(dnsbl, `dnsbl.njabl.org', `"550 Mail from " $&{client_addr} " rejected - see http://dnsbl.njabl.org"')
FEATURE(dnsbl, `dnsbl.sorbs.net', `"550 Mail from " $&{client_addr} " rejected - see http://dnsbl.sorbs.net"')
FEATURE(`dnsbl', `dul.ru')FEATURE(`greet_pause',1000)
define(`confCW_FILE', `-o /etc/mail/local-host-names')
FEATURE(`delay_checks')
FEATURE(`ratecontrol', `nodelay', `terminate')DAEMON_OPTIONS(`Name=IPv4, Family=inet')
define(`confTO_CONNECT', `30s')
define(`confTO_IDENT', `0')
define(`confTO_COMMAND', `30s')
define(`confTO_DATABLOCK', `2m')define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')
MAILER(local)
MAILER(smtp)INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clmilter.sock, T=C:15s')dnl
INPUT_MAIL_FILTER(`smf-grey', `S=unix:/var/run/smfs/smf-grey.sock, T=S:30s;R:30s')dnl
INPUT_MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav/smfsav.sock, T=S:30s;R:4m')dnl
define(`confMILTER_MACROS_CONNECT',`b, , r, j, _, {daemon_name}, {if_name},{if_addr}')dnl
define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
define(`confINPUT_MAIL_FILTERS', `smf-grey,clamav')define(`confPRIVACY_FLAGS', `goaway,noetrn,nobodyreturn,noreceipts')dnl
define(`confTO_COMMAND', `1m')dnl
define(`confTO_IDENT', `0s')dnl
define(`confMAX_DAEMON_CHILDREN', `512')dnl enlarge if it's required
define(`confCONNECTION_RATE_THROTTLE', `8')dnl enlarge if it's required
define(`confBAD_RCPT_THROTTLE', `1')dnl Sendmail v8.12+
define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
define(`confMILTER_MACROS_CONNECT',`b, , r, j, _, {daemon_name}, {if_name},{if_addr}')dnl
define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnlLOCAL_RULESETS
LOCAL_CONFIGKnondsl1 regex -a@MATCH (^|[0-9.-])(epn|zoo|tkagora|rambler|hotmail|perm|ufa|tagil|tmn|mail|mailrelay|mta|mx|relay|smtp|stks|intektelecom|planet-a|c-timus|yandex|sfap|87.229.162.12|uralhosting|uralhosting.ru)[0-9.-]
Knondsl2 regex -a@MATCH \.(.planet-a\.mail\.intektelecom\.stks\.com|rax\.ru|ip\.net\.ua\.uralhosting.ru)$Kdsl2 regex -a@MATCH (^|[0-9.-])([axv]dsl|dsl|dyn|dynamic|modem|pppoe|user|users)[0-9.-]
Kdsl3 regex -a@MATCH [0-9a-f]{8,}
Kdsl5 regex -a@MATCH (-.*){3,}
Kdsl6 regex -a@MATCH \.(ipt\.aol\.com|internetdsl\.tpnet\.pl|rr\.de|adelphia\.net|osnanet\.de|dedicado\.com\.uy)$LOCAL_RULESETS
SLocal_check_relay
R$* $: $(nondsl1 $&{client_name} $)
R@MATCH $@ OK
R$* $: $(nondsl2 $&{client_name} $)
R@MATCH $@ OK
R$* $: $(dsl2 $&{client_name} $)
R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (2), please use Provider SMTP 2"
R$* $: $(dsl3 $&{client_name} $)
R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (3), please use Provider SMTP 3"
R$* $: $(dsl5 $&{client_name} $)
R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (5), please use Provider SMTP 5"
R$* $: $(dsl6 $&{client_name} $)
R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (6), please use Provider SMTP 6"LOCAL_CONFIG
KSPAM0 regex -a@MATCH admin|kirpich|193-138-178-6.uralhosting.ru|193.138.178.6
KSPAM1 regex -a@MATCH ^([[:alnum:]]*)(_+)([[:alnum:]]*)(_+)([[:alnum:]]*)(_+)[[:alnum:]_]*$
KSPAM2 regex -a@MATCH movie|woman|discount|astrolog|nomail|adres|addres|viagra|rassylk|anonymous|game|dollar|offer|deal|proces|bonus|casino|reclam|reklam|office|noemail|nouser|sms|prize|sale|job|market|money|cash|shop|xxx|sex|donna|girl|adult|fuck|honey|sweet|porno|playboy|love|lolita|penis|cock|kiss
KChSbVIRAvron regex -a@CATCHED IREX.+fields|FSAU.*2003|ACCELS|Avril|Redirection|Ocho|According|ecurity\.breach|for.+Incorrect.+MIME-header|senior|Specification.+requested|Crime|Junior.+Achievement|perduto|customers|Daos|IIS-Sec|estate|Admission
KChSbVIRKlez regex -a@CATCHED mail(\.+)--|A.+IE.+6.+0.+patch|W32|Klez|\.Eden|removal.+tools
KChSbSpam regex -a@CATCHED \$$[[:digit:]]+|toefl|game|\.xxx|woman|discount|dollar|casino|rassylk|reclam|prize|sale|cash|bonus|money|game|donna|girl|adult|fuck|honey|sweet|porno|cock|playboy|play.+boy|\.love|lolita|penis|movie|darling|passwd
KChSbSpam2 regex -a@CATCHED [[:digit:]]+%|\.ass\.|\.sex|titt|nude|.+vogue|\.elle|harper's.+bazaar|marie.+claire|astrolog|viagra|fetish|\.oral|shit|topless|orgy|\.suck\.|shop|lesbo|urgent\.assistance|mobil|kiss|motorsLOCAL_RULESETS
SLocal_check_mail
R$* $: $>Parse0 $>3 $1R$+<@$*> $: $(SPAM0 $1 $)
R@MATCH $: OKR$+ $: $(SPAM1 $1 $)
R@MATCH $#error $: 553 SPAM1 is not wanted!R$+ $: $(SPAM2 $1 $)
R@MATCH $#error $: 553 SPAM2 is not wanted!
SCheck_Subject
R$+ $: $(ChSb $1 $)
R@CATCHED $: OK
R$+ $: $(ChSbVIRAvron $1 $)
R@CATCHED $#error $: 553 This message may contain Avron.VIRUS
R$+ $: $(ChSbVIRKlez $1 $)
R@CATCHED $#error $: 553 This message may contain Klez.VIRUS
R$+ $: $(ChSbSpam $1 $)
R@CATCHED $#error $: 553 This message may contain SPam
R$+ $: $(ChSbSpam2 $1 $)
R@CATCHED $#error $: 553 This message may contain SPam2HX-Mailer: $>CheckMailer
HX-Server: $>CheckMailerSCheckMailer
RAdvanced Direct Remailer $* $#error $@ 5.7.1 $: "554 Spam (ADR)"
RAdvanced Mass Sender $* $#error $@ 5.7.1 $: "554 Spam (AMS)"
RSpammer $* $#error $@ 5.7.1 $: "554 Spam (Spammer)"
R$* Bomber $* $#error $@ 5.7.1 $: "554 Spam (Bomber)"
RMega-Mailer $* $#error $@ 5.7.1 $: "554 Spam (Mega-Mailer)"
RMMailer $* $#error $@ 5.7.1 $: "554 Spam (MMailer)"
RMailer $* $#error $@ 5.7.1 $: "554 Spam (Mailer)"
RLigra Mailer $* $#error $@ 5.7.1 $: "554 Spam (Ligra Mailer)"
RDynamic Opt-In Emailer $* $#error $@ 5.7.1 $: "554 Spam(Dynamic Opt-In Emailer)"
R$* Group Spamer $#error $@ 5.7.1 $: "554 Spam (WE Group Spamer)"
RMail Sender $* $#error $@ 5.7.1 $: "554 Spam (Mail Sender)"
RMail Service $* $#error $@ 5.7.1 $: "554 Spam (Mail Service)"
RMailloop $* $#error $@ 5.7.1 $: "554 Spam (Mailloop)"
RPersMail $* $#error $@ 5.7.1 $: "554 Spam (PersMail)"
RLK SendIt $* $#error $@ 5.7.1 $: "554 Spam (LK SendIt)"
RWC Mail $* $#error $@ 5.7.1 $: "554 Spam (WC Mail)"
RZUBA ZUB $* $#error $@ 5.7.1 $: "554 Spam (ZUBA ZUB)"
RMailList Express $* $#error $@ 5.7.1 $: "554 Spam (MailList Express)"
RCaretop $* $#error $@ 5.7.1 $: "554 Spam (Caretop)"
RMailer Signature $#error $@ 5.7.1 $: "554 Spam (Mailer Si)"
Rnone $#error $@ 5.7.1 $: "554 Spam (none)"
RPG-MAILINGLIST $#error $@ 5.7.1 $: "554 Spam (PG-MAILINGLIST)"
R$* advcomtest $* $#error $@ 5.7.1 $: "554 Spam (advcomtest)"
Ryo yo mail $#error $@ 5.7.1 $: "554 Spam (yo yo mail)"
RZanziMailer $* $#error $@ 5.7.1 $: "554 Spam (ZanziMailer)"
--------------------------------------------------------------------
Ничего особенного нету
>[root@mail ~]# tail -f /var/log/maillog |grep busyзачем мне tail?
egrep "n2DHpDqw011475" /var/log/maillog + все, что сказали по поводу ЭТОГО письма
все milter-фильтры
>>[root@mail ~]# tail -f /var/log/maillog |grep busy
>
>зачем мне tail?
>
>egrep "n2DHpDqw011475" /var/log/maillog + все, что сказали по поводу ЭТОГО письма
>все milter-фильтрыegrep ничего не показывает, но я немного разобрался, это smf-grey так издеватся над почтой, вроде режет кучу спама, но и часть писем не доходит, видимо не все сервера отправляют повторно письма.
Может кто подскажет хороший фильтр? А то за письма меня рвут на части? так же меня и рвут за спам
Вобщем используются у меня на данный момент:
clamav
smf-sav
smf-greyСтоит ли попробывай milter-greylist?
Предложите начальству купить железку ironport. Может после того, как оно узнает цену действительно надежной защиты от спама, станет больше ценить имеющееся.
>Предложите начальству купить железку ironport. Может после того, как оно узнает цену
>действительно надежной защиты от спама, станет больше ценить имеющееся.Тут не о какой железке не может идти речи, если он даже не может купить спамоборону.
Вот приходится выкручивытся тем что есть. Да мне и самому охото собрать хороший антиспам, зато буду знать что где крутить
>[оверквотинг удален]
>реальных писем 0-1 в секунду
>
>Со спамом sendmail справляется отлично, но теряется много писем, с ошибкой mailbox
>busy, try again later
>Если попытатся отправить письмо то оно отправится раза со второго-третьего, иногда с
>первого.
>Я подозреваю что sendmail не справляется с потоком спама.
>Как избавится от такого брутфорса на sendmail?
>
>Раньше когда спама было меньше, таких ошибок небыло и почта ходила отличноЯ пользовался spamassassin, правда, в связке с exim, а не sendmail.
В Вашем случае, я думаю, целесообразно сесть за написание скриптов и сделать следующее:
1. Отфильтровать диапазоны IP, с которых идёт основная масса спама, и позакрывать их на файрволле. Скажем, ряд подсетей Кореи, Китая, Бразилии можно достаточно безболезненно блокировать (конечно, если у вас нет там контрагентов).
2. В spamassassin'е включить логирование срабатывающих правил и заняться анализом. Лично я делал следующее:
а) Засадил эникейщика за разбор прошедшей за неделю почты на 4 категории:
- полезная почта, пропущенная спаморезкой
- полезная почта, определённая как спам (false positives)
- спам, отфильтрованный как спам (он у меня не убивался совсем, а сваливался в отдельное место)
- спам, пропущенный фильтрами.б) написал кучку скриптов по парсингу логов, выгрузив в БД следующее:
- Message-ID
- статус письма по мнению робота (SPAM/HAM)
- статус письма по мнению человека (SPAM/HAM)
- сработавшие фильтры SA.потом выгрузил всё это счастье в экселевские таблички и на основании полученных данных стал менять веса правилам SA. Тут уже просто: видишь, что некое правило почти никогда не срабатывало на легальной почте, но часто срабатывало на спаме - увеличиваешь вес. И наоборот.
В принципе - помогло. Но потом в итоге всё равно купил спамооборону, ибо ценю своё время дороже 20 килорублей/год :)
Spamassasin стоял, отказались от него из за того что он спамом помечал нормальную почту. Спамассасин настраивали 3 человека, постоянно вносили изменения, добится хорошего результата не смогли. Решили использовать грейлист. Грей-лист действительно ловит 90% спама, но из за криворуко настроенных почтовых серверов, почта иногда теряется, т.к не пытается послать ее еще раз.
Буду пробывать milter-greylist