Примеры антиспамерских m4 Еще добавка в mc LOCAL_RULESETS HContent-Type: $>CheckCType SCheckCType R$* boundary= "bound" $* $#error $@ 5.7.1 $: "554 Virus Win32.AZY" x x x Origin http://quanta.khu.ac.kr/~dacapo/sendmail/rulesets/quanta_spam-killer.m4 ║ http://quanta.khu.ac.kr/~dacapo/sendmail/rulesets/quanta_spam-killer.m4 divert(0) VERSIONID(`@(#)quanta_spam-killer.m4 0.4 (dacapo) 07/22/2001') divert(2) LOCAL_CONFIG #### Headers to be checked ################### HSubject: $>check_subject HContent-Type: $>check_ct HDate: $>check_date HX-Mailer: $>check_mailer HX-MimeOLE: $>check_ole HMessage-Id: $>check_msgid HTo: $>check_to HContent-Disposition: $>check_sircam #### If any of these fields #### shows up, It is bogus. HX-Spanska: $>check_happy99 HX-PMFLAGS: $>check_all HX-Reply-To: $>check_all HX-AD2000-Register: $>check_all HX-AD2000-Serial: $>check_all ## Error messages definition ## Error codes refer to RFC821. D{Msg_mailer}"553 SPAMWARE is not allowed here" D{Msg_adv}"553 ADV mail not accepted" D{Msg_virus}"553 Your message may contain the" D{Msg_master}"If you have questions please email postmaster@$j." D{Msg_date}"553 Bogus date format - SPAMMER " D{Msg_to}"501 Bogus recipient address" LOCAL_RULESETS ################################################################## # quanta local rulesets v.0.3 (2001/07/22) # # written by dacapo@quanta.kyunghee.ac.kr # # MAP_REGEX is not needed in this version # # report your received spam to abuse@quanta.kyunghee.ac.kr # # for future updates of these rulesets :-) # ################################################################## ################################################### #### Local Rulesets (dacapo, 2001/07/22) ##### ################################################### Scheck_subject R $#error $: ${Msg_adv} - ${Msg_master} RADV:$* $#error $: ${Msg_adv} - ${Msg_master} RADV$* $#error $: ${Msg_adv} - ${Msg_master} R[ADV]$* $#error $: ${Msg_adv} - ${Msg_master} R$* $#error $: ${Msg_adv} - ${Msg_master} R$*[╠╓╟н]$* $#error $: We don't accept SPAM - Go away. RImportant Message From $* $#error $: ${Msg_virus} Melissa virus - See http://www.cert.org/advisories/CA-99-04-Melissa-Macro-Virus.html - ${Msg_master} RRe: Important Message From $* $#error $: ${Msg_virus} Melissa virus - See http://www.cert.org/advisories/CA-99-04-Melissa-Macro-Virus.html - ${Msg_master} RC:\CoolProgs\Pretty Park.exe $#error $: ${Msg_virus} PrettyPark virus - See http://www.symantec.com/avcenter/venc/data/prettypark.worm.html - ${Msg_master} R©╣╩уА╦╥О ╨╦Ё╩╢В ЖнБц $#error $: ${Msg_virus} Ecokys virus - See http://www.ahnlab.com/newvir/warn19990330.htm - ${Msg_master} RILOVEYOU $#error $: ${Msg_virus} LoveLetter virus - See http://www.symantec.com/avcenter/venc/data/vbs.loveletter.a.html - ${Msg_master} Scheck_ct R$*boundary=AD_2000_PART_BOUNDARY_19990606 $#error $: ${Msg_mailer} - ${Msg_master} R$*boundary=WC_MAIL_PaRt_BoUnDaRy_05151998 $#error $: ${Msg_mailer} - ${Msg_master} R$+boundary="====_ABC1234567890DEF_====" $#error $: 550 ${Msg_virus} NIMDA.worm !! ### check_date, refer to RFC 822 Scheck_date R$* З╔БШ╫Г $#error $: ${Msg_date} - ${Msg_master} R$* ╢лЗС╧О╠╧З╔БШ╫Г $#error $: ${Msg_date} - ${Msg_master} R$+Standard Time $#error $: ${Msg_date} - ${Msg_master} R$+Daylight Time $#error $: ${Msg_date} - ${Msg_master} R$+AM $#error $: ${Msg_date} - ${Msg_master} R$+PM $#error $: ${Msg_date} - ${Msg_master} R$* $-:$-:$- $#error $: ${Msg_date} - ${Msg_master} Scheck_mailer RLightningMail$+ $#error $: ${Msg_mailer} - ${Msg_master} RMailKing$+ $#error $: ${Msg_mailer} - ${Msg_master} R $#error $: ${Msg_mailer} - ${Msg_master} R $#error $: ${Msg_mailer} - ${Msg_master} RMail Bomber $#error $: ${Msg_mailer} - ${Msg_master} RThe Bat! ($+) $+ $#error $: ${Msg_mailer} - ${Msg_master} RThe Red Spider $+ $#error $: ${Msg_mailer} - ${Msg_master} R$+emsoft$+ $#error $: ${Msg_mailer} - ${Msg_master} RMegaMail $+ $#error $: ${Msg_mailer} - ${Msg_master} RDiffondiCool$* $#error $: ${Msg_mailer} - ${Msg_master} REasy Mail$* $#error $: ${Msg_mailer} - ${Msg_master} Scheck_ole RProduced By Microsoft MimeOLE V(null).$* $#error $: 553 Bogus X-MimeOLE Scheck_msgid R $#error $: ${Msg_mailer} - ${Msg_master} R<$-.$-.$- $u@$h> $#error $: ${Msg_mailer} - ${Msg_master} R< $+ @ $+ > $@ OK R$* $#error $: 553 Header Error - ${Msg_master} # R< $-.$-.$- @ localhost > $#error $: ${Msg_mailer} - ${Msg_master} # А╖ lineА╨ Б╓╩у╦ЮАПА╩ reject ЗП╢В ╟ж©м╟║ Б╬Б╬ ╧Я╟Я╣З╬о comment out ГЁ╦ъЗХ╢П╢Щ. Scheck_happy99 R$* $#error $: ${Msg_virus} Happy99 virus - See http://www.symantec.com/avcenter/venc/data/happy99.worm.html - ${Msg_master} Scheck_all R$* $#error $: 553 We do not accept mail from spammers - ${Msg_master} Scheck_to R$@ $#error $: 553 No reciepient specified -${Msg_master} R $#error $: ${Msg_mailer} - ${Msg_master} Scheck_sircam RMultipart message $#error $: 550 ${Msg_virus} Sircam.worm divert(0) Дикий sendmail или nuber of open TCP/IP connections From: Valentin Nechayev (netch@lucky.net) Date: 9 Jul 1999 В качестве правильного рецепта надо написать: включить HostStat и SingleThreadDelivery. Тогда получится не более 1 соединения к одному хосту одновременно. Больше одного - да, надо дикие патчи привешивать. А у меня действует патч для mci.c, который разрешает перечислить в некотором классе те хосты, на которые не распространять такое (соседи по эзернету, как правило). А еще я думаю, как ему сделать аналог QueueLA/RefuseLA, но не по LA, а по мере использования VM (например, занято 80% - идти спать). Только вот беда - для каждой системы такие вещи сугубо по-своему получаются... From: er@sai.msu.su (E.Rodichev) Ivan Dementiev writes: > > > > Мои юзеры взялись посылать здоровые файлы путем разбиения их > > на 20-30 писем. Вот мой sendmail и открывает по 20 smtp соединений > Это еще что, вот если к тебе будет ломиться штук 50-70 входных > SMTP-соединений!!! > > к одному хосту :( Моожно ли заставить его, родимого, не открывать > > больше 5 соединений к одному хосту? Или как это можно исправить по > > другому? В документации есть про LoadAverage, но не сказано ничего > > о количестве открытых соединений / запущенных копий sendmail-а. > > Ты бы знал солько я с этим мучился - у меня постоянно кончалось 128Mb > swap на relay1.ksu.ru, начинались глюки с nis+ и др. ........ > Интересно, как подобные проблемы решают другие большие ISP? V sendmail.cf есть в частности, такое # load average at which we just queue messages O QueueLA=8 # load average at which we refuse connections O RefuseLA=20 # work recipient factor O RecipientFactor=30000 # deliver each queued job in a separate process? O ForkEachJob # work class factor O ClassFactor=1800 # work time factor O RetryFactor=90000 # shall we sort the queue by hostname first? #O QueueSortOrder=priority # minimum time in queue before retry O MinQueueAge=30m # Вполне достаточно, чтоб настроить под конкретный линк and server, # не прибегая к дополнительним patches. # # Evgeny Rodichev Sternberg Astronomical Institute # System/Net Admin Moscow State University # er@sai.msu.su Sendmail и 1-й отдел [Q] нужно сделать так, чтобы sendmail всю исходящую почту посылал еще и в файл или конкретному пользователю Можно стартовать sendmail с ключом -X имя_файла тогда в файл имя_файла будет валится вся входяще-исходящая почта и т.д.