[Карта]
[Начало]
[Sendmail-ссылки]
[Синтаксис]
[Типовые задачки]
[Задачки по маршрутизации]
[Задачки по маcкарадингу]
[SendmailACL]
[Spamooborona]
[VadeRetro]
[Regex]
[Тонкости]
[Недок.особен.]
[Несущ.юзеры]
[Прячемся!]
[RFC1893.Цитаты]
[ТП.Эмоции]
[Антиспам&Разум]
[Экзерсисы]
Типовые задачки по sendmail. Рейтинг срабатываний. ([Часть первая] [Часть вторая] )
0.Общая таблица
1.check_relay
2.check_mail
3.check_rcpt
4.CheckFrom
5.CheckReceived & CheckHeader
6.CheckSubject
7.check_eoh
8.
24/09/2009. Уже не актуален.
Здесь я приведу статистику по срабатываниям не только моих рулсетов, но и встроенных антиспам-средств sendmail'a
Текстовый вариант с нормально читаемыми таблицами здесь.
А эта страница сформирована из текстового файла с.п. sed, поэтому получилась такая порнография с таблицами :(
Зато здесь ссылки работающие.
Итак, фильтруется почта для 450 пользователей.
Мысленно разделяю их на 3 группы:
- пофигисты или spam-check группа (около 50 человек);
- дотошные и мнительные (около 10);
- молчуны.
Большинство фильтрующих правил sendmal'а срабатывают для всех пользователей.
Часть правил, по которым возможны или уже случались ложные срабатывания, выполняется только для spam-check группы:
это люди, которые предупреждены о возможных казусах, и для которых потеря письма не является громадной трагедией, то есть
это представители первой группы - пофигисты.
Срабатывания правил для этой группы я помечу зеленым цветом.
Кроме фильтрации почты средствами sendmail, как правило, именно эта группа указывает собственный, сильно заниженный,
уровень спам-веса письма для discard'a Спамообороной.
Дотошные юзеры смертельно переживают при одной мысли, что их почта может потеряться, поэтому требуют статистику
по своим почтовым ящикам. Именно с этой группой связаны все мои проблемы при составлении отчетов discard'ов
Спамообороны. Их не так много, но внимания к своей почте они требуют непомерного,
поэтому кажется, что их много.
Молчуны молчат ло определенного момента. Это либо тихие пофигисты, либо люди, так и не удосужившиеся ознакомиться
с регламентом работы почтового домена anrb.ru, а поэтому не знающие о предоставляемых им услугах.
Как правило, молчуны потом либо просятся в spam-check группу, либо требуют всевозможные отчеты,
то есть попадают в группу "дотошные", а чаще всего так и остаются молчунами.
1. Общая таблица по всем рулсетам:
relay mail rcpt From Subj To Ms Rece Head eoh Total Date
ID eived
178766 2811 70 2598 18 0 0 928 105 1077 185551 14May
165879 1193 42 1568 4 0 0 1050 114 157 169590 15May
160251 2023 76 2888 15 0 0 1046 121 587 166095 16May
45655 4009 154 5487 15 0 0 1116 104 1848 56437 17May
21120 2679 128 2137 8 0 0 530 79 508 26581 18May
24057 2745 138 2537 8 0 0 474 75 573 29800 19May
25455 8421 272 7014 37 1 0 1348 141 1315 41609 20May
79227 8351 394 6968 29 0 0 2776 1782 1295 98480 21May
87169 6144 327 7315 31 0 0 2389 1703 827 103196 22May
72702 4093 235 7369 35 0 0 915 83 557 83278 23May
61987 3491 241 3969 14 0 0 596 86 536 70241 24May
28270 2712 157 1719 6 0 0 341 75 575 33855 25May
24644 2527 96 2136 12 0 0 421 94 418 30348 26May
62132 4465 216 4448 35 0 0 786 110 554 72746 27May
1. check_relay
1. DNSBL:
FEATURE(`dnsbl',`bl.spamcop.net', `Spam blocked see: http://spamcop.net/bl.shtml?$&{client_addr}')
FEATURE(`dnsbl',`list.dsbl.org', `Spam blocked (list) - see http://www.dsbl.org/')
2. DNSBL_NEW:
FEATURE(dnsbl, `cbl.abuseat.org', `"550 Mail from " $&{client_addr} " rejected - see cbl.abuseat.org"')
FEATURE(dnsbl, `dnsbl.njabl.org', `"550 Mail from " $&{client_addr} " rejected - see dnsbl.njabl.org"')
FEATURE(dnsbl, `dnsbl.sorbs.net', `"550 Mail from " $&{client_addr} " rejected - see dnsbl.sorbs.net"')
FEATURE(dnsbl, `zen.spamhaus.org', `"550 Mail from " $&{client_addr} " rejected - see zen.spamhaus.org"')
Этот список подключается только при сбоях Спамообороны (14-16 мая были как раз такие дни):
во-первых, передо мной не стоит задача сокращения трафика;
а во-вторых, в эти 4 списка попали диалап-сети почти всех местных провайдеров.
За дополнительный список спасибо Косте из Пятигорска.
3.Pre-greeting:
FEATURE(`greet_pause',`3000')
4. discard:
/etc/mail/access
1.2.3.4 DISCARD
domain.net DISCARD
5. Too many open connections:
FEATURE(`conncontrol')dnl
/etc/mail/access:
ClientConn: 6
По этому показателю срабатываний мало в силу аналогичного ограничения, сделанного ранее:
iptables -A INPUT -p tcp --syn --dport 25 -m connlimit --connlimit-above 4 -j DROP
6. Connection rate limit:
FEATURE(`ratecontrol')dnl
/etc/mail/access:
ClientRate: 20
А здесь мне бы пришлось пересобирать ядро с поддержкой соответствующей фичи iptabels,
что сделать я поленилась, поэтому столько срабатываний.
-----------------------------------------------------------------------
1 2 3 4 5 6 Total
-----------------------------------------------------------------------
108099 63283 5 6372 1 1011 178766 14May
93886 65050 1 5903 0 1040 165879 15May
92708 60820 2 5618 0 1105 160251 16May
42014 0 4 2864 0 777 45655 17May
19374 0 7 1665 0 81 21120 18May
22157 0 1 1875 0 25 24057 19May
20263 0 14 4654 0 538 25455 20May
72430 0 12 6479 0 318 79227 21May
81211 0 3 5805 0 153 87169 22May
68302 0 4 4376 0 24 72702 23May
57986 0 4 3457 0 544 61987 24May
26213 0 5 2057 0 0 28270 25May
23417 0 6 1216 0 11 24644 26May
58220 0 7 3892 0 20 62132 27May
-----------------------------------------------------------------------
2. check_mail
2.1. mx ссылается на 127.0.0.1 (sendmail2.html#7)
2.2. mx ссылается на otblaze.com (sendmail2.html#6)
2.3-5. Bad data in HELO. Проверяю макрос $&s(HELO) как можно раньше:
-мой домен anrb.ru в HELO
-адреса моих локальных сетей в HELO
-localhost.localdomain в HELO (sendmail.html#22.3.1)
2.6-7. определенные слова в имени или домене отправителя:
game|dollar|bonus|casino|re[kc]lam|nouser|prize|job|market и тд
2.8. внешняя почта, подписанная моими адм-адресами
2.9. discard:
/etc/mail/access:
domain.net DISCARD
2.10. notex,notres -
R<TEMP>
$* $#error $@
4.1.8 $: "451 Domain of sender address " $&f " does not resolve"
R<PERM>
$* $#error $@
5.1.8 $: "553 Domain of sender address " $&f " does not exist"
2.11. Почта, подписанная заблокированными в /etc/mail/access адресами моего домена
(Mailbox .+@$anrb.ru is full|Unknown user .+@anrb.ru|Bogus user"
-----------------------------------------------------------------------
1 2 3 4 5 6 Total
----------|------------|-----------|---|-----------------|-------------
19 13 88 0 17| 319 176| 3| 638 1538 0 | 2811 14May
4 3 67 0 0| 80 80| 0| 326 633 0 | 1193 15May
10 25 8 0 90| 180 93| 0| 515 1102 0 | 2023 16May
22 52 203 1 258| 317 180| 0| 960 2016 0 | 4009 17May
15 46 32 1 238| 88 106| 0| 673 1480 0 | 2679 18May
22 53 4 0 366| 152 92| 0| 677 1379 0 | 2745 19May
11 28 324 3 84| 870 479| 0| 2571 4051 0 | 8421 20May
24 29 144 3 31| 657 469| 0| 3533 3461 0 | 8351 21May
20 31 148 5 50| 369 260| 0| 2480 2781 0 | 6144 22May
7 15 30 1 56| 386 223| 0| 962 2412 0 | 4093 23May
5 19 20 1 33| 233 166| 0| 991 2023 0 | 3491 24May
15 16 32 0 15| 161 96| 0| 639 1738 0 | 2712 25May
4 3 9 0 0| 152 83| 0| 676 1600 0 | 2527 26May
13 12 32 2 30| 315 200| 1| 1063 2797 0 | 4465 27May
----------------------------------------------------------------------------
3. check_rcpt
3.1. Точка после домена (sendmail2.html#2)
3.2. Блокировка по спискам рассылок, на которые запрещено посылать почту извне
(sendmail.html#4A)
3.3. Часть локальных адресов заблокирована в /etc/mail/access по причине переполнения ящика или отсутствия активности,
3.4. Здесь отвергается почта через /etc/mail/access вот с таких адресов (их никогда не было и скорее всего не будет):
support@anrb.ru
550 Bogus user
manager@anrb.ru
550 Bogus user
info@anrb.ru
550 Bogus user
clients@anrb.ru 550 Bogus user
orders@anrb.ru 550
Bogus user
recipient@anrb.ru 550
Bogus user
service@anrb.ru 550
Bogus user
register@anrb.ru 550
Bogus user
admin@anrb.ru
550 Bogus user
administartor@anrb.ru 550
Bogus user
sms@anrb.ru 550
Bogus user
james@anrb.ru 550
Bogus user
john@anrb.ru 550
Bogus user
3.5. MBoxdis. Если какой-либо e-mail указать в access с ключом REJECT/DISCARD, то в maillog
запишется "Mailbox disabled for this recipient"
3.6. User unknown - это отлупы самого sendmail почте для несущ. юзеров. В Total не учитываются.
3.7. Relay denied: проверка на разрешение релеинга через наш почтовик происходит в check_rcpt,
в 7 столбце мы это и обсчитываем
3.8. Discard: лок юзер отправил письмо на домен, который задискаден в access
----------------------------------------------------------------------------
Trailing Mail Mbox Unkuser Mboxdis Userunk Relay Discard Total Date
dot list full denied
1 2 3 4 5 6 7 8
----------------------------------------------------------------------------
0 8 39 15 0 23683 8 0 70 14May
0 1 19 9 0 6334 13 0 42 15May
0 6 40 12 0 17126 18 0 76 16May
0 18 82 39 0 33259 9 6 154 17May
0 17 65 32 0 13243 14 0 128 18May
2 8 99 19 0 17612 10 0 138 19May
0 6 220 20 0 81757 26 0 272 20May
0 13 286 21 0 65778 74 0 394 21May
0 11 200 19 0 46966 97 0 327 22May
0 16 127 37 0 47515 55 0 235 23May
1 14 168 28 0 34521 30 0 241 24May
0 25 69 41 0 17030 22 0 157 25May
0 3 47 9 0 18796 37 0 96 26May
0 1 183 23 0 40568 9 0 216 27May
----------------------------------------------------------------------------
4. CheckFrom
4.1. Моя самая любимая проверка на количество неопознанных об[ектов в списке получателей (perebor.html#1)
Первая цифра - количество строк ruleset=CheckFrom, имеющих отношение именно к этой проверке (те количество срабатываний этого рулсета)
Вторая в скобках - количество писем, имевших статус этого отказа (те на одно срабатывние может приходиться несколько получателей)
4.2. Это ловля на живца: если среди конвертных получателей есть давным-давно уволившиеся сотрудники или адреса-приманки - блокируем (sendmail2.html#9)
4.3. Проверяем заголвочного отправителя на KChFrom1 regex -a@YES E-RE.LAM|RE(C|K)LAM|finklfan.com|planirovanie
4.4-5. Проверяется $&_ только для spam-check группы
#исключения
KNOSPAM78 regex -a@MATCH ispdial.com|trais.+tenet.odessa.ua|dialognauka|89.179.240.87
#многоцифровые адреса
KSPAM7 regex -a@MATCH [0-9]+[._-]+[0-9]+[._-]+[0-9]+.+\[.+\]
#dial,adsl,etc
KSPAM8 regex -a@MATCH ppp|customer|dhcp|dial|cable|modem|adsl|dynamic|[.]dyn[.]
4.6. Только для spam-check группы. Проверяется заголовочный отправитель на наличие:
KCH1 regex -a@YES
outblaze|check1check|mindspring|bigfoot|funnymail|bellsouth.net|tiscali.(it|nl|fr)|wanadoo.(it|nl|fr)|nic.*olastse.(com|net)|videotron.ca|blueyonder|mailcity[.]|mexico[.]|comcast.net|earthlink.com|libertysurf.net|mozartmail.com|edomex.com|quintanaroo.com|telia.com|hideakifan.com|icq.com|delphi.com|optonline.net|interbusiness.it
KCH2 regex -a@YES
sunrise.ch|netvision.net|guadalupano.com|chello.(nl|pl|at)|midco.net|mexican..com|adelphia.net|telepac.pt|louiskoo.com|rickymail.com|terra.com.br|slamdunkfan.com|barak.net.il|client.*attbi.com|concentric.com|veloxzone.com.br|wartaponsel.com|bezeqint.net|tlcfan.com|roxette.org
KCH3 regex -a@YES
swip[.]net|surfer.at|ezagenda.com|kyokofukada.net|nic[h]*olastse.(com|net)|hispeed.ch|speedy.net|(tele|sky)net.be|home.nl|interpo(c|s)hta.ru|badtzmail.com|zapopan.com|zipolit..com|netcabo.pt|YourBizHelp\.biz|hsuchi.net|hinet.net|malaysia.net|dbzmail.com|infostroy.ru
KCH4 regex -a@YES
fairgamemail.us|brainpod.com|garaga.info|puertorrico.com|garzagarcia.com|takuyakimura.com|suslik.biz|phreaker.net|hostingseries.+net|bellnexxia.net|punkass.com|smapxsmap.net|norika-fujiwara.com|avistacorp.com|mailexcite.com|kubrik.biz|rusaero.ru|spamcactus.com|fiestabrava.com|standarthost.ru|nekto.info|chokofan.com|speed.planet.nl|asianet.co.th
KCH5 regex -a@YES
centurytel.net|verisign.com|pacbell.net|versanet.de|acadia.net|accesspro.net|netzero\.com|priest.com|veretekk.com|inetekk.com|barbara.+com|barak.net|barnhallrfc.com
KCH6 regex -a@YES [.]net[.]il|volia.net|rapidshare
KChHeader sequence CH1 CH2 CH3 CH4 CH5 CH6
4.7. Проверяется заголовочный отправитель только для spam-check группы. То же, что и 2.6-7.
4.8. То же самое, что и в п.5, но проверяется для всех пользовтаелей, но срабатывает только если количество получателей письма превышает 3 человека (sendmail2.html#10)
4.9. _- (sendmail2.html#13)
---------------------------------------------------------------------------
Unkn Honey From| Relay Relay| Header Envel | Relay _- | Total Date
>=3 Pot | $&_ $&_ | from from($&f)| $&_ |
1 2 3 | 4 5 | 6 7| 8 9 |
----------------------------------------------------------------------------
822(2835) 18(77) 2| 471 38 32 0| 379(2738) 14| 2598 14May
417(1289) 14(92) 1| 261 4 13 0| 435(3647) 6| 1568 15May
912(3253) 13(107) 2| 418 24 19 0| 569(4444) 19| 2888 16May
1951(6214) 24(117) 8| 655 126 88 3| 664(4217) 17| 5487 17May
608(1933) 51(175) 6| 361 53 49 1| 389(1903) 11| 2137 18May
807(2704) 16(60) 7| 415 85 53 2| 328(1879) 17| 2537 19May
2395(7572) 15(96) 18| 1171 180 178 4| 622(4133) 36| 7014 20May
2342(7149) 23(70) 8| 1113 180 227 3| 699(4999) 31| 6968 21May
2709(8056) 25(73) 8| 777 170 102 0| 797(5786) 18| 7315 22May
2711(8124) 10(36) 5| 767 173 56 0| 919(6826) 17| 7369 23May
1993(6048) 14(55) 4| 558 102 42 1| 559(4078) 17| 3969 24May
897(2563) 17(92) 0| 363 52 40 0| 342(1874) 8| 1719 25May
1238(3994) 9(39) 2| 384 63 54 0| 377(2347) 9| 2136 26May
2756(9218) 11(50) 5| 615 168 69 5| 797(5783) 22| 4448 27May
----------------------------------------------------------------------------
5. CheckReceived & CheckHeader
5.1. То же что и 4.6
5.2 То же что и 4.6 но для макроса $&{currHeader} (весь заголовок)
5.3 То же что и 4.6 но для макроса $&{s} (HELO)
5.4 KChHeader2 regex -a@YES by.anrb.ru.with.(esmtp|ESMTP)\(.*[A-Z].*\)
(sendmail2.html#14)
---------------------------------------
ChRec ChHd ChHELO ChRec Total Date
1 2 3 4
---------------------------------------
246 105 682 0 1033 14May
131 114 919 0 1164 15May
244 121 798 4 1167 16May
172 104 944 0 1220 17May
85 79 445 0 609 18May
102 75 372 0 549 19May
429 141 919 0 1489 20May
1918 1782 857 1 4558 21May
1773 1703 587 29 4092 22May
223 83 657 35 998 23May
173 86 423 0 682 24May
101 75 240 0 416 25May
149 94 272 0 515 26May
238 110 466 82 896 27May
---------------------------------------
6. CheckSubject
Потом опишу
----------------------------------
SPam1 SPam2 ruSPam1 Total Date
----------------------------------
8 10 0 18 14May
3 1 0 4 15May
8 7 0 15 16May
13 2 0 15 17May
5 3 0 8 18May
6 2 0 8 19May
21 16 0 37 20May
17 12 0 29 21May
11 1 0 31 22May
4 6 0 35 23May
6 5 0 14 24May
6 0 0 6 25May
4 8 0 12 26May
5 2 0 35 27May
----------------------------------
7. сheck_eoh
7.1. Только для spam-check группы: если письмо направлется непосредственно через мой почтовик, например, с/п telnet, блокирую (sendmail.html#13)
7.2. Если письмо направлется непосредственно через мой почтовик, например, с/п telnet,
и если при этом в msgid указан мой домен - блокирую (regex.html#Received:)
-----------------------------
1 2 Total Date
-----------------------------
189 888 1077 14May
34 123 157 15May
117 470 587 16May
461 1387 1848 17May
318 190 508 18May
315 258 573 19May
718 597 1315 20May
499 796 1295 21May
325 502 827 22May
300 257 557 23May
308 228 536 24May
281 294 575 25May
222 196 418 26May
285 269 554 27May
-----------------------------
8. CheckTo
Потом опишу про нули ;)
CheckTo
1 2 3 4
0 0 0 0 14May
0 0 0 0 15May
0 0 0 0 16May
0 0 0 0 17May
0 0 0 0 18May
0 0 0 0 19May
0 1 0 1 20May
0 0 0 0 21May
0 0 0 0 22May
0 0 0 0 23May
0 0 0 0 24May
0 0 0 0 25May
0 0 0 0 26May
0 0 0 0 27May
qwwwwwqwe
qwwwwwqwe
qwwwwwqwe
qwwwwwqwe
qwwwwwqwe
qwwwwwqwe
qwwwwwqwe
qwwwwwqwe
qwwwwwqwe
qwwwwwqwe
Обратная связь
Страница создана 27 мая 2008г. Последнее обновление - 27 мая 2008г.