Спам с DSL,Cable b и прочих хостов. как бороться?
Модераторы: prefer, alexandrnew, ALex_hha, Roman, Axel
Спам с DSL,Cable b и прочих хостов. как бороться?
Доброе время суток, уважаемые.
Сложилась у меня такая ситуация, начал приходить спам. В заголовках писем есть такие строки
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 и прочие.
Сложилась у меня такая ситуация, начал приходить спам. В заголовках писем есть такие строки
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 и прочие.
Зачем усложнять.Сложилась у меня такая ситуация, начал приходить спам. В заголовках писем есть такие строки
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
загонять все хосты в список доступа не вижу смысла. Не исключенно что ошибаюсь. Но почти 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.
Правила из серии
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.
Не хосты, а домены, потому как адреса постоянно меняются а домены светятся одни и те же. У меня их пару десятков всего занесено в Access + RBL + проверки соответствия хостов и доменов и, в результате, спам просачивается единичными письмами.@pmeM писал(а):загонять все хосты в список доступа не вижу смысла. Не исключенно что ошибаюсь. Но почти 80% спама идут с подобных адресов.
При этом запросы от спамерских доменов сыпятся непрерывно и соответственно отсекаются.
вот что написал для себя
cat header_checks
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)
стоит ли отсекать письмо по строке такого типа????
Если да, то может кто-то скажет как написать регексп для ип?
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)
стоит ли отсекать письмо по строке такого типа????
Если да, то может кто-то скажет как написать регексп для ип?
у меня такие фильтры:
в main.cf:
и тд и тп
в /etc/postfix/dul_checks:
(часть фильтров подглядел в инете, идея не моя, но мной расширена)
и тоже самое для HELO:
работает очень цензурно, за полтора года только два исключения для местных АДСЛ прописал.
Код: Выделить всё
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 раз.
для любителей изыска и строгих правил
а чтобы не бомбили спаммеры с ИП-адресом в качестве helo, также пригодилось:
в файлике /etc/postfix/helo_regexp:
не часто, но рубит редкие письма, которые через RBL и по client проходят
в файлике /etc/postfix/helo_regexp:
Код: Выделить всё
/([0-9]{1,3}(\.|-)){3}[0-9]{1,3}/i REJECT IP-able helo SPAM
такой подход через header_checks может давать false positives, в частности, может зарезать нормальное письмо, происходящее с динамических ИП, но прошедшее через какой-нить нормальный почтовый шлюз, например по SMTP-авторизации по TLS.@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, то желательно использовать такие регулярные выражения (на примере первой строки):
Код: Выделить всё
Received: from.*(host|pool|client).*\..*([ ]|$)
дело в том, что некоторые почтовики добавляют символы пробелов и табуляции в заголовки, чтобы сделать их более читабельными, а твоя задача - зарубать письма по строкам ИМЕННО из первой строки заголовка Received:, а не в емайл-адресе отправителя, который может содержаться в строке заголовка Received:.
я наблюдал за maillog довольно долго, и ни разу не встречал нормального письма с сервера, представившегося ИП-шником в ХЕЛО. зато спаммеров, которые указывают свой ИП или ИП атакуемого сервера - очень часто.ALex_hha писал(а):а разве согласно rfc в helo нельзя использовать ip?а чтобы не бомбили спаммеры с ИП-адресом в качестве helo, также пригодилось
это да. Но ip можно использовать в helo, если взять его в квадратные скобки, такая форма называется литералом.я наблюдал за maillog довольно долго, и ни разу не встречал нормального письма с сервера, представившегося ИП-шником в ХЕЛО. зато спаммеров, которые указывают свой ИП или ИП атакуемого сервера - очень часто.
опять же, ни разу не встречал.ALex_hha писал(а):это да. Но ip можно использовать в helo, если взять его в квадратные скобки, такая форма называется литералом.я наблюдал за maillog довольно долго, и ни разу не встречал нормального письма с сервера, представившегося ИП-шником в ХЕЛО. зато спаммеров, которые указывают свой ИП или ИП атакуемого сервера - очень часто.
с точки зрения РФЦ мои фильтры не более чем лажа, но на практике они хорошо работают.
правда, иногда (довольно редко) их приходится дополнять и прописывать исключения, но как же без этого??

Re: у меня такие фильтры:
Подборка хорошая. Слов нет. Поставил и теперь наблюдаю за логами.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 их не групирует в отчете
нормально.
чем. толще наши морды. тем теснее наши ряды.
Re: у меня такие фильтры:
спасибо за фидбэк, правда - очень приятно, что эти фишки помогли не только мне одномуВиктор писал(а): Подборка хорошая. Слов нет. Поставил и теперь наблюдаю за логами.
Прекрасно работает-рубит спамеров на 90 процентов.

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