Примеры антиспамерских m4
LOCAL_RULESETS
HContent-Type: $>CheckCType
SCheckCType
R$* boundary= "bound" $* $#error $@ 5.7.1 $: "554 Virus Win32.AZY"
Origin 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 ЗПґВ °жїм°
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
[Q] нужно сделать так, чтобы sendmail всю исходящую почту
посылал еще и в файл или конкретному пользователю
Можно стартовать sendmail с ключом -X имя_файла тогда в файл имя_файла
будет валится вся входяще-исходящая почта и т.д.
Last-modified: Thu, 22 Nov 2001 10:41:06 GMT