Спам с DSL,Cable b и прочих хостов. как бороться?

Общие вопросы по установке и настройке сервера Postfix.
Писать в этот форум могут только зарегистрированные пользователи.

Модераторы: prefer, alexandrnew, ALex_hha, Roman, Axel

@pmeM
Новичок
Новичок
Сообщения: 5
Зарегистрирован: 13 окт 2006, 09:15

Спам с DSL,Cable b и прочих хостов. как бороться?

Сообщение @pmeM » 18 окт 2006, 14:41

Доброе время суток, уважаемые.
Сложилась у меня такая ситуация, начал приходить спам. В заголовках писем есть такие строки
Received: from 218-160-59-50.dynamic.hinet.net
Received: from 61-229-225-93.dynamic.hinet.net
Received: from 61.17.181.241.static.vsnl.net.in
Received: from dsl-mp-dynamic-030.138.246.61.airtelbroadband.in
Received: from c-68-57-61-36.hsd1.va.comcast.net
Received: from pool-71-121-150-185.sttlwa.dsl-w.verizon.net
И так далее. Подскажите плз, каким образом можно заблокировать подобные адреса. А именно адреса, в которых встречаются слова ppp, dhcp, dsl,adsl и прочие.

VPF
Новичок
Новичок
Сообщения: 13
Зарегистрирован: 03 окт 2006, 09:36
Откуда: Димитровград

Сообщение VPF » 18 окт 2006, 19:06

Сложилась у меня такая ситуация, начал приходить спам. В заголовках писем есть такие строки
Received: from 218-160-59-50.dynamic.hinet.net
Received: from 61-229-225-93.dynamic.hinet.net
Received: from 61.17.181.241.static.vsnl.net.in
Received: from dsl-mp-dynamic-030.138.246.61.airtelbroadband.in
Received: from c-68-57-61-36.hsd1.va.comcast.net
Received: from pool-71-121-150-185.sttlwa.dsl-w.verizon.net
И так далее. Подскажите плз, каким образом можно заблокировать подобные адреса. А именно адреса, в которых встречаются слова ppp, dhcp, dsl,adsl и прочие.
Зачем усложнять.
Все эти домены и многие другие у меня включены в

Код: Выделить всё

 
/etc/postfix/access

hinet.net  REJECT
comcast.net  REJECT
verizon.net  REJECT
А также почитай на этом же форуме, как настроить другие проверки

@pmeM
Новичок
Новичок
Сообщения: 5
Зарегистрирован: 13 окт 2006, 09:15

Сообщение @pmeM » 18 окт 2006, 20:12

загонять все хосты в список доступа не вижу смысла. Не исключенно что ошибаюсь. Но почти 80% спама идут с подобных адресов.
Правила из серии
smtpd_client_restrictions =
...
regexp:/etc/postfix/maps/dsl_stop,
...

cat /etc/postfix/maps/dsl_stop
/^dsl.*\..*\..*/i 553 AUTO_DSL spam
/[ax]dsl.*\..*\..*/i 553 AUTO_XDSL spam
/client.*\..*\..*/i 553 AUTO_CLIENT spam
/cable.*\..*\..*/i 553 AUTO_CABLE spam
/pool.*\..*\..*/i 553 AUTO_POOL spam
/dial.*\..*\..*/i 553 AUTO_DIAL spam
/ppp.*\..*\..*/i 553 AUTO_PPP spam
/dslam.*\..*\..*/i 553 AUTO_DSLAM spam
/node.*\..*\..*/i 553 AUTO_NODE spam

не помогают
Хочется знать как блокировать подобные хосты. Именно блокировать через regexp а не прописывая в access.

Mike
Член клуба
Член клуба
Сообщения: 381
Зарегистрирован: 30 июн 2006, 15:45

Сообщение Mike » 19 окт 2006, 01:02

Создать dsbl зону, если вы являетесь днс-администратором, или просто blacklist зону - и загонять всё туда 8)

VPF
Новичок
Новичок
Сообщения: 13
Зарегистрирован: 03 окт 2006, 09:36
Откуда: Димитровград

Сообщение VPF » 19 окт 2006, 08:46

@pmeM писал(а):загонять все хосты в список доступа не вижу смысла. Не исключенно что ошибаюсь. Но почти 80% спама идут с подобных адресов.
Не хосты, а домены, потому как адреса постоянно меняются а домены светятся одни и те же. У меня их пару десятков всего занесено в Access + RBL + проверки соответствия хостов и доменов и, в результате, спам просачивается единичными письмами.
При этом запросы от спамерских доменов сыпятся непрерывно и соответственно отсекаются.

@pmeM
Новичок
Новичок
Сообщения: 5
Зарегистрирован: 13 окт 2006, 09:15

Сообщение @pmeM » 19 окт 2006, 16:10

вот что написал для себя
cat header_checks
/^Received: from (host|pool|client).*\..*/ REJECT Faked hostname host
/dsl.*.airtelbroadband.in*/ REJECT Faked hostname dsl
/^Received: From .*\.(|a|h)(ds|sd)(l|1)*\.*\.*/ REJECT Faked hos
/^Received: from .*\.(|.*)(dynamic|static)(|ip)\..*/ REGECT Faked hos
/^.*(dynamic|static|dhcp)(|ip).*\..*/ REGECT Faked hostname static
/^.*dynip\..*\..*/ REGECT Faked hostname dynip
/^Received: from (dsl|ppp|pppoe).*\..*/ REJECT Faked hostname pp
все правила проверял через команду
postmap -q "КУСОК ИЗ ЗАГОЛОВКОВ" regexp:/etc/postfix/header_checks

просьба подсказать такую вешь. Есть еще заголовки типа
Received: from [222.123.113.43] (helo=COM11)
eceived: from [66.208.16.51] (helo=advocateweekly.com ident=proxy)
Received: from 7gwms39401cgdlxl.net ([00.12.45.94])
Received: from [222.191.145.48] (helo=[222.191.145.48])
Received: from [218.1.122.26] (helo=v072)
стоит ли отсекать письмо по строке такого типа????
Если да, то может кто-то скажет как написать регексп для ип?

lisergey
Новичок
Новичок
Сообщения: 8
Зарегистрирован: 20 окт 2006, 10:19

у меня такие фильтры:

Сообщение lisergey » 20 окт 2006, 13:12

в main.cf:

Код: Выделить всё

smtpd_client_restrictions = hash:/etc/postfix/client_access,
                            permit_mynetworks,
                            permit_sasl_authenticated,
                            regexp:/etc/postfix/dul_checks,
и тд и тп

в /etc/postfix/dul_checks:

Код: Выделить всё

/([0-9]*-){3}[0-9]*(\..*){2,}/i            553 SPAM_ip-add-rr-ess_networks
/([0-9]*\.){4}(.*\.){3,}.*/i               553 SPAM_ip-add-rr-ess_networks
/.*\..*\...\.comcast\.net/i                553 SPAM_comcast-net
/.*yahoobb.*\.bbtec\.net/i                 553 SPAM_yahoobb_bbtec-net
/[0-9]{12}\.bbtec\.net/i                   553 SPAM_host_bbtec-net
/.*\.broadband\.hu/i                       553 SPAM_broadband-hu
/client.*\..*\..*/i                        553 SPAM_CLIENT
/cable.*\..*\..*/i                         553 SPAM_CABLE
/pool.*\..*\..*/i                          553 SPAM_POOL
/dial.*\..*\..*/i                          553 SPAM_DIAL
/ppp.*\..*\..*/i                           553 SPAM_PPP
/dslam.*\..*\..*/i                         553 SPAM_DSLAM
/dhcp.*\..*\..*/i                          553 SPAM_DHCP
/[\.-]dsl.*\..*\..*/i                      553 SPAM_DSL
/[ax]dsl.*\..*\..*/i                       553 SPAM_XDSL
/.*([0-9]*\.){4}cableonline\.com\.mx/i     553 SPAM_IP-cableonline-com-mx
/.*\.([0-9]*\.){4}ip\.holtonks\.net/i      553 SPAM_ip-holtonks-net
/([0-9]*-){3}[0-9]*\.fibertel\.com\.ar/i   553 SPAM_IP-fibertel-com-ar
/.*[0-9]*-[0-9]*\.fibertel\.com\.ar/i      553 SPAM_IP-fibertel-com-ar
/[0-9]*\.user\.veloxzone\.com\.br/i        553 SPAM_user-veloxzone-com-br
/[0-9]*\.customer\.alfanett\.no/i          553 SPAM_customer-alfanett-no
/.*([0-9]*-){3}[0-9]*\.telecom\.net\.ar/i  553 SPAM_host-telecom-net-ar
/.*(-[0-9]*){2}\.telpol\.net\.pl/i         553 SPAM_host-telpol-net-pl
/(.*\.){2}maxonline\.com\.sg/i             553 SPAM_host-maxonline-com-sg
/(.*-){2}.*\.fairgamemail\.us/i            553 SPAM_host-fairgamemail-us
/[0-9]*[0-9]*-\.wispnet\.net/i             553 SPAM_host-wispnet-net
/.*-.*(\..*){2}\.ne\.jp/i                  553 SPAM_host-ne-jp
/[0-9]*\..*\.ne\.jp/i                      553 SPAM_h09t-ne-jp
/(.*\.){3}ad\.jp/i                         553 SPAM_host-ad-jp
/(.*\.){4}revip\.asianet\.co\.th/i         553 SPAM_revip-asianet-co-th
/[0-9]*\..*\.virtua\.com\.br/i             553 SPAM_host-virtua-com-br
/([0-9]*-){3}[0-9]*\.exatt\.net/i          553 SPAM_host-exatt-net
/([0-9]*\.){4}ip\.alltel\.net/i            553 SPAM_host-ip-alltel-net
/[0-9]{6,}\.chello\.../i                   553 SPAM_host-chello
/.*[0-9]*\..*\.chello\.../i                553 SPAM_host-chello-xx
/.*\.yandex\.ru/i                       OK yandex.ru
/.*\..*\.t-dialin\.net/i                   553 SPAM_t-dialin-net
/.*\..*\.t-ipconnect\.de/i                 553 SPAM_t-ipconnect-de
/([0-9]*-){2,3}[0-9]*\..*\.cgocable\.net/i 553 SPAM_host-cgocable-net
/.*\..*\.shawcable\.net/i                  553 SPAM_host-shawcable-net
/p[0-9]*\.mp[0-9]*\.aaanet\.ru/i           553 SPAM_aaa_modem_pool
/([0-9]*-){2}[0-9]*\.ip\.adsl\.hu/i        553 SPAM_ip-adsl-hu
/([0-9]{1,3}\.){2}broadband4\.iol\.cz/i    553 SPAM_broadband-iol-cz
(часть фильтров подглядел в инете, идея не моя, но мной расширена)

и тоже самое для HELO:

Код: Выделить всё

smtpd_helo_restrictions = permit_mynetworks, 
                          permit_sasl_authenticated,
                          reject_invalid_hostname,
                          hash:/etc/postfix/helo_access,
                          regexp:/etc/postfix/helo_regexp,
                          regexp:/etc/postfix/dul_checks,
                          permit
работает очень цензурно, за полтора года только два исключения для местных АДСЛ прописал.
Последний раз редактировалось lisergey 20 окт 2006, 13:22, всего редактировалось 1 раз.

lisergey
Новичок
Новичок
Сообщения: 8
Зарегистрирован: 20 окт 2006, 10:19

для любителей изыска и строгих правил

Сообщение lisergey » 20 окт 2006, 13:20

а чтобы не бомбили спаммеры с ИП-адресом в качестве helo, также пригодилось:

в файлике /etc/postfix/helo_regexp:

Код: Выделить всё

/([0-9]{1,3}(\.|-)){3}[0-9]{1,3}/i      REJECT IP-able helo SPAM 
не часто, но рубит редкие письма, которые через RBL и по client проходят

lisergey
Новичок
Новичок
Сообщения: 8
Зарегистрирован: 20 окт 2006, 10:19

Сообщение lisergey » 20 окт 2006, 13:41

@pmeM писал(а):вот что написал для себя
cat header_checks
/^Received: from (host|pool|client).*\..*/ REJECT Faked hostname host
/dsl.*.airtelbroadband.in*/ REJECT Faked hostname dsl
/^Received: From .*\.(|a|h)(ds|sd)(l|1)*\.*\.*/ REJECT Faked hos
/^Received: from .*\.(|.*)(dynamic|static)(|ip)\..*/ REGECT Faked hos
/^.*(dynamic|static|dhcp)(|ip).*\..*/ REGECT Faked hostname static
/^.*dynip\..*\..*/ REGECT Faked hostname dynip
/^Received: from (dsl|ppp|pppoe).*\..*/ REJECT Faked hostname pp
все правила проверял через команду
postmap -q "КУСОК ИЗ ЗАГОЛОВКОВ" regexp:/etc/postfix/header_checks

просьба подсказать такую вешь. Есть еще заголовки типа
Received: from [222.123.113.43] (helo=COM11)
eceived: from [66.208.16.51] (helo=advocateweekly.com ident=proxy)
Received: from 7gwms39401cgdlxl.net ([00.12.45.94])
Received: from [222.191.145.48] (helo=[222.191.145.48])
Received: from [218.1.122.26] (helo=v072)
стоит ли отсекать письмо по строке такого типа????
Если да, то может кто-то скажет как написать регексп для ип?
такой подход через header_checks может давать false positives, в частности, может зарезать нормальное письмо, происходящее с динамических ИП, но прошедшее через какой-нить нормальный почтовый шлюз, например по SMTP-авторизации по TLS.

если уж хочется кромсать письма на header_checks, то желательно использовать такие регулярные выражения (на примере первой строки):

Код: Выделить всё

Received: from.*(host|pool|client).*\..*([         ]|$)
(подсмотрено из доки по procmail)
дело в том, что некоторые почтовики добавляют символы пробелов и табуляции в заголовки, чтобы сделать их более читабельными, а твоя задача - зарубать письма по строкам ИМЕННО из первой строки заголовка Received:, а не в емайл-адресе отправителя, который может содержаться в строке заголовка Received:.

ALex_hha
Moderator
Moderator
Сообщения: 2347
Зарегистрирован: 09 ноя 2006, 13:08
Откуда: Украина. Харьков.

Сообщение ALex_hha » 18 ноя 2006, 15:15

а чтобы не бомбили спаммеры с ИП-адресом в качестве helo, также пригодилось
а разве согласно rfc в helo нельзя использовать ip?

lisergey
Новичок
Новичок
Сообщения: 8
Зарегистрирован: 20 окт 2006, 10:19

Сообщение lisergey » 19 ноя 2006, 16:21

ALex_hha писал(а):
а чтобы не бомбили спаммеры с ИП-адресом в качестве helo, также пригодилось
а разве согласно rfc в helo нельзя использовать ip?
я наблюдал за maillog довольно долго, и ни разу не встречал нормального письма с сервера, представившегося ИП-шником в ХЕЛО. зато спаммеров, которые указывают свой ИП или ИП атакуемого сервера - очень часто.

ALex_hha
Moderator
Moderator
Сообщения: 2347
Зарегистрирован: 09 ноя 2006, 13:08
Откуда: Украина. Харьков.

Сообщение ALex_hha » 21 ноя 2006, 11:08

я наблюдал за maillog довольно долго, и ни разу не встречал нормального письма с сервера, представившегося ИП-шником в ХЕЛО. зато спаммеров, которые указывают свой ИП или ИП атакуемого сервера - очень часто.
это да. Но ip можно использовать в helo, если взять его в квадратные скобки, такая форма называется литералом.

lisergey
Новичок
Новичок
Сообщения: 8
Зарегистрирован: 20 окт 2006, 10:19

Сообщение lisergey » 21 ноя 2006, 13:09

ALex_hha писал(а):
я наблюдал за maillog довольно долго, и ни разу не встречал нормального письма с сервера, представившегося ИП-шником в ХЕЛО. зато спаммеров, которые указывают свой ИП или ИП атакуемого сервера - очень часто.
это да. Но ip можно использовать в helo, если взять его в квадратные скобки, такая форма называется литералом.
опять же, ни разу не встречал.
с точки зрения РФЦ мои фильтры не более чем лажа, но на практике они хорошо работают.
правда, иногда (довольно редко) их приходится дополнять и прописывать исключения, но как же без этого?? :)

Аватара пользователя
Виктор
Член клуба
Член клуба
Сообщения: 833
Зарегистрирован: 02 июн 2006, 15:54
Откуда: Южно-Сахалинск

Re: у меня такие фильтры:

Сообщение Виктор » 07 дек 2006, 19:09

lisergey писал(а):в main.cf:

Код: Выделить всё

smtpd_client_restrictions = hash:/etc/postfix/client_access,
                            permit_mynetworks,
                            permit_sasl_authenticated,
                            regexp:/etc/postfix/dul_checks,
и тд и тп

в /etc/postfix/dul_checks:

Код: Выделить всё

/([0-9]*-){3}[0-9]*(\..*){2,}/i            553 SPAM_ip-add-rr-ess_networks
/([0-9]*\.){4}(.*\.){3,}.*/i               553 SPAM_ip-add-rr-ess_networks
/.*\..*\...\.comcast\.net/i                553 SPAM_comcast-net
/.*yahoobb.*\.bbtec\.net/i                 553 SPAM_yahoobb_bbtec-net
/[0-9]{12}\.bbtec\.net/i                   553 SPAM_host_bbtec-net
/.*\.broadband\.hu/i                       553 SPAM_broadband-hu
/client.*\..*\..*/i                        553 SPAM_CLIENT
/cable.*\..*\..*/i                         553 SPAM_CABLE
/pool.*\..*\..*/i                          553 SPAM_POOL
/dial.*\..*\..*/i                          553 SPAM_DIAL
/ppp.*\..*\..*/i                           553 SPAM_PPP
/dslam.*\..*\..*/i                         553 SPAM_DSLAM
/dhcp.*\..*\..*/i                          553 SPAM_DHCP
/[\.-]dsl.*\..*\..*/i                      553 SPAM_DSL
/[ax]dsl.*\..*\..*/i                       553 SPAM_XDSL
/.*([0-9]*\.){4}cableonline\.com\.mx/i     553 SPAM_IP-cableonline-com-mx
/.*\.([0-9]*\.){4}ip\.holtonks\.net/i      553 SPAM_ip-holtonks-net
/([0-9]*-){3}[0-9]*\.fibertel\.com\.ar/i   553 SPAM_IP-fibertel-com-ar
/.*[0-9]*-[0-9]*\.fibertel\.com\.ar/i      553 SPAM_IP-fibertel-com-ar
/[0-9]*\.user\.veloxzone\.com\.br/i        553 SPAM_user-veloxzone-com-br
/[0-9]*\.customer\.alfanett\.no/i          553 SPAM_customer-alfanett-no
/.*([0-9]*-){3}[0-9]*\.telecom\.net\.ar/i  553 SPAM_host-telecom-net-ar
/.*(-[0-9]*){2}\.telpol\.net\.pl/i         553 SPAM_host-telpol-net-pl
/(.*\.){2}maxonline\.com\.sg/i             553 SPAM_host-maxonline-com-sg
/(.*-){2}.*\.fairgamemail\.us/i            553 SPAM_host-fairgamemail-us
/[0-9]*[0-9]*-\.wispnet\.net/i             553 SPAM_host-wispnet-net
/.*-.*(\..*){2}\.ne\.jp/i                  553 SPAM_host-ne-jp
/[0-9]*\..*\.ne\.jp/i                      553 SPAM_h09t-ne-jp
/(.*\.){3}ad\.jp/i                         553 SPAM_host-ad-jp
/(.*\.){4}revip\.asianet\.co\.th/i         553 SPAM_revip-asianet-co-th
/[0-9]*\..*\.virtua\.com\.br/i             553 SPAM_host-virtua-com-br
/([0-9]*-){3}[0-9]*\.exatt\.net/i          553 SPAM_host-exatt-net
/([0-9]*\.){4}ip\.alltel\.net/i            553 SPAM_host-ip-alltel-net
/[0-9]{6,}\.chello\.../i                   553 SPAM_host-chello
/.*[0-9]*\..*\.chello\.../i                553 SPAM_host-chello-xx
/.*\.yandex\.ru/i                       OK yandex.ru
/.*\..*\.t-dialin\.net/i                   553 SPAM_t-dialin-net
/.*\..*\.t-ipconnect\.de/i                 553 SPAM_t-ipconnect-de
/([0-9]*-){2,3}[0-9]*\..*\.cgocable\.net/i 553 SPAM_host-cgocable-net
/.*\..*\.shawcable\.net/i                  553 SPAM_host-shawcable-net
/p[0-9]*\.mp[0-9]*\.aaanet\.ru/i           553 SPAM_aaa_modem_pool
/([0-9]*-){2}[0-9]*\.ip\.adsl\.hu/i        553 SPAM_ip-adsl-hu
/([0-9]{1,3}\.){2}broadband4\.iol\.cz/i    553 SPAM_broadband-iol-cz
(часть фильтров подглядел в инете, идея не моя, но мной расширена)

и тоже самое для HELO:

Код: Выделить всё

smtpd_helo_restrictions = permit_mynetworks, 
                          permit_sasl_authenticated,
                          reject_invalid_hostname,
                          hash:/etc/postfix/helo_access,
                          regexp:/etc/postfix/helo_regexp,
                          regexp:/etc/postfix/dul_checks,
                          permit
работает очень цензурно, за полтора года только два исключения для местных АДСЛ прописал.
Подборка хорошая. Слов нет. Поставил и теперь наблюдаю за логами.
Прекрасно работает-рубит спамеров на 90 процентов.
Однако есть сомнения: спамеры стали чаще нападать.
Может код 553 всетаки не пойдет? Да bathlog их не групирует в отчете
нормально.
чем. толще наши морды. тем теснее наши ряды.

lisergey
Новичок
Новичок
Сообщения: 8
Зарегистрирован: 20 окт 2006, 10:19

Re: у меня такие фильтры:

Сообщение lisergey » 08 дек 2006, 10:12

Виктор писал(а): Подборка хорошая. Слов нет. Поставил и теперь наблюдаю за логами.
Прекрасно работает-рубит спамеров на 90 процентов.
спасибо за фидбэк, правда - очень приятно, что эти фишки помогли не только мне одному :)
Виктор писал(а): Однако есть сомнения: спамеры стали чаще нападать.
это только по началу. после месяца-двух спаммеры видят, что стандартные подходы не срабатывают, и кол-во атак заметно уменьшается.
у меня в основном прорываются спаммеры с хостов, не имеющих обратного доменного имени, и редко-редко с других серверов.
по идее, после того как прикручу greylisting, у них шансы еще уменьшатся.
Виктор писал(а): Может код 553 всетаки не пойдет? Да bathlog их не групирует в отчете нормально.
а смысл ставить код 4ХХ?
REJECT - он сразу показывает, где сработало а где нет.

Ответить