Gentoo Archives: gentoo-user-ru

From: "Anton S. Ustyuzhanin" <kit@×××××××××.kz>
To: gentoo-user-ru@l.g.o
Subject: Re: [gentoo-user-ru] Борьба со спамом (exim)
Date: Wed, 12 Nov 2008 04:54:10
Message-Id: 491A6158.4080005@miras.edu.kz
In Reply to: Re: [gentoo-user-ru] Борьба со спамом (exim) by "Andrew A. Sabitov"
1 50 на ящик.
2 Спасибо за совет, попробую!
3
4 Andrew A. Sabitov wrote:
5 > Ну, 20-50 писем в сутки на домен это не много. (или на ящик??? из
6 > контекста не понятно)
7 >
8 > Я использую постфикс, так что конфиги приводить не буду :) Но все основано
9 > на самописном фильтре (перловка с мускулом), который реализует грейлистинг
10 > + еще кое-какую фильтрацию, например по СПФ, по сендерам вида
11 > akstc anilkaraca mnsdgs@ anilkaraca .com # пробелы я вставил :)
12 >
13 > Этот же фильтр поддерживает понятие белых/черных списков, пользовательских
14 > контактов (т.е. не просто IP, а связка IP+сендер+ресипиент), а также
15 > список пользователей, для которых фильтрация не выполняется.
16 >
17 > Спам проходит. Если измерять в штуках, то довольно много, если измерять
18 > процентиками... http://ash.catalysis.ru/cgi-bin/mailgraph.cgi
19 >
20 >
21 > Так что "рекомендации ведущих собаководов": пиши свой грейлист и живи в
22 > счастье. :)
23 >
24 >
25 > On Tue, 11 Nov 2008, Anton S. Ustyuzhanin wrote:
26 >
27 >> Всем привет.
28 >> Помогите кто как борится со спамом. Я использую exim. Нашел несколько
29 >> методов борьбы со спамом на www.lissyara.su:
30 >> использую следующие:
31 >> ----------------------------------------------------------
32 >> # Запрещаем письма содержащие в локальной части
33 >> # символы @; %; !; /; |. Учтите, если у вас было
34 >> # `percent_hack_domains` то % надо убрать.
35 >> # Проверяются локальные домены
36 >> deny message = "Недопустимые символы в адресе"
37 >> domains = +local_domains
38 >> local_parts = ^[.] : ^.*[@%!/|]
39 >>
40 >> # Проверяем недопустимые символы для
41 >> # нелокальных получателей:
42 >> deny message = "Недопустимые символы в адресе"
43 >> domains = !+local_domains
44 >> local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
45 >>
46 >> # Принимаем почту для постмастеров локальных доменов без
47 >> # проверки отправителя (я закомментировал, т.к. это -
48 >> # основной источник спама с мой ящик).
49 >>
50 >> # accept local_parts = postmaster
51 >> # domains = +local_domains
52 >>
53 >> # Запрещщаем, если невозможно проверить отправителя
54 >> # (отсутствует в списке локальных пользователей)
55 >> # У себя я это закоментил, по причине, что некоторые
56 >> # железяки (принтеры, & etc) и программы (Касперский, DrWEB)
57 >> # умеют слать почту, в случае проблем но не умеют ставить
58 >> # нужного отправителя. Такие письма эта проверка не пускает.
59 >> # require verify = sender
60 >>
61 >> # Запрещщаем тех, кто не обменивается приветственными
62 >> # сообщениями (HELO/EHLO)
63 >> deny message = "HELO/EHLO обязано быть по SMTP RFC"
64 >> condition = ${if eq{$sender_helo_name}{}{yes}{no}}
65 >>
66 >>
67 >>
68 >> # Рубаем нах, тех, кто подставляет свой IP в HELO
69 >> deny message = "Не надо пихать свой IP в качестве HELO!"
70 >> hosts = *:!+relay_from_hosts
71 >> condition = ${if eq{$sender_helo_name}\
72 >> {$sender_host_address}{true}{false}}
73 >>
74 >>
75 >> # Рубаем тех, кто в HELO пихает мой IP (2500 за месяц!)
76 >> deny condition = ${if eq{$sender_helo_name}\
77 >> {$interface_address}{yes}{no}}
78 >> hosts = !127.0.0.1 : !localhost : *
79 >> message = "Это мой IP-адрес! Пшёл прочь!"
80 >>
81 >> # Рубаем тех, кто в HELO пихает только цифры
82 >> # (не бывает хостов ТОЛЬКО из цифр)
83 >> deny condition = ${if match{$sender_helo_name}\
84 >> {\N^\d+$\N}{yes}{no}}
85 >> hosts = !127.0.0.1:!localhost:*
86 >> message = "В HELO не могут быть тока цифры!"
87 >>
88 >> # Рубаем хосты типа *adsl*; *dialup*; *pool*;....
89 >> # Нормальные люди с таких не пишут. Если будут
90 >> # проблемы - уберёте проблемный пункт (у меня клиенты
91 >> # имеют запись типа asdl-1233.zone.su - я ADSL убрал...)
92 >> deny message = "Не нравится мне Ваш хост..."
93 >> condition = ${if match{$sender_host_name} \
94 >> {adsl|dialup|pool|peer|dhcp} \
95 >> {yes}{no}}
96 >>
97 >> # Рубаем тех, кто в блэк-листах. Серваки перебираются
98 >> # сверху вниз, если не хост не найден на первом, то
99 >> # запрашивается второй, и т.д. Если не найден ни в одном
100 >> # из списка - то почта пропускается.
101 >> deny message = "host in blacklist - $dnslist_domain \n
102 >> dnslist_text"
103 >> dnslists = opm.blitzed.org : \
104 >> proxies.blackholes.easynet.nl : \
105 >> cbl.abuseat.org : \
106 >> bl.spamcop.net : \
107 >> bl.csma.biz : \
108 >> dynablock.njabl.org : \
109 >>
110 >> # Задержка. (это такой метод борьбы со спамом,
111 >> # основанный на принципе его рассылки) На этом рубается
112 >> # почти весь спам. Единственно - метод неприменим на
113 >> # реально загруженных MTA - т.к. в результате ему
114 >> # приходится держать много открытых соединений.
115 >> # но на офисе в сотню-две человек - шикарный метод.
116 >> #
117 >> # более сложный вариант, смотрите в статье по exim и
118 >> # курьер имап. Т.к. там метод боле умный (просто правил
119 >> # больше :), то можно и на более загруженные сервера ставить)
120 >> warn
121 >> # ставим дефолтовую задержку в 20 секунд
122 >> set acl_m0 = 25s
123 >> warn
124 >> # ставим задержку в 0 секунд своим хостам и
125 >> # дружественным сетям (соседняя контора :))
126 >> hosts = +relay_from_hosts
127 >> set acl_m0 = 0s
128 >> warn
129 >> # пишем в логи задержку (если оно вам надо)
130 >> logwrite = Delay $acl_m0 for $sender_host_name \
131 >> [$sender_host_address] with HELO=$sender_helo_name. Mail \
132 >> from $sender_address to $local_part@$domain.
133 >> delay = $acl_m0
134 >> -----------------------------------------------------------
135 >>
136 >> Так вот у меня все равно очень много спама приходит. по 20 -50 писем в
137 >> сутки. Задолбало уже. У кого есть рецепты - делитесь.
138 >>
139 >

Replies

Subject Author
Re: [gentoo-user-ru] Борьба со спамом (exim) "Andrew A. Sabitov" <sabitov@×××××××××.ru>