lightbox_email-marketing-not-spam

Жарким летом часто приходится работать со спамом. Сегодня в программе: работаем с настройками фильтров и смотрим на результаты сражений. Итак,

#добавим пачку доменов на основе анализа писем.
set-senderfilterconfig  -BlockedDomains @() -BlockedDomainsAndSubdomains 'veco.ru','soft-shop.ru','time-speed.ru','fssprus.ru','auto35.ru',
'meridianyachts.com','kuponator.ru','org.ru','dawap.ru','samsungservice.ru',
'emarsys.net','medialand.ru','dessy.ru','ycc.ru','collectmail.ru','lesta.ru','kards.ru','gu-sta.ru','shopv.ru','at','mx',
'etna-mebel.ru','sclub.ru','il','groupon.ru','de','email4u.ru','asana.com','sovmusic.ru','khab-msc.ru','g-zocm.ru','ideavl.ru',
'megatl.ru','tomsk.ru','uaservera.me','ukrhost1.org','pavlovsk-spb.ru','hensel-electric.ru','subscribe.ru','telecet.ru','bizhelp.ru',
'brok-kredit.ru','ar','a-book.ru','simpaceboss3.com','elita-mineral.ru','venere.ru','vitra-russia.ru','contrada.ru','mporum.ru','adviser.ru',
'akadeti.ru','me','fotostrana.ru','commandocenter.ru','facebookmail.com','lamoda.ru','ebay.com','resurs-trading.ru','medialt.ru','booking.com',
'bezdorog.ru','irkgaz.ru','vladfood.ru','ponyexpress.net','budgetplaces.com','fashion.asos.com','dpd.ru','avaaz.org','ufa-msc.ru','mnogo.ru',
'msxboss2.info','aviacor.ru','info','in','nhosppharma.ru','tekora.ru','name','ua','ca','metrogistics.com','ostrovok.ru','helinger.com.ua','cp20.com',
'ibl.ru','usndr.com','postila.ru','yahoo.com','bk.ru','kupon.ru','imarket2.ru','sxboss2.org','bounce.studio-moderna.mkt5269.com','mikrokupon.ru',
'biglion.ru','cccampaigns.com','metaltrade.ru','wikimart.ru','kupivip.ru','grouponmail.ru','business.ru','macstalone.org','retailrocket.net','moldran.com',
'dantachase.com','pensionlawyers.com','ipyro.me','highgrove.net','comure.ru','gomana.ru','libtrade.com','in.ua'

Снимок

=============================

Компания, которая использует фильтр сразу и абсолютно точно не ждет писем из Мексики, Аргентины, других стран. Она просто с ними не работает, поэтому можно сразу же не принимать письма от таких доменов.

Можем добавить несколько фраз, по которым будем отсекать рекламные письма

add-contentfilterphrase -Phrase 'Плати'
add-contentfilterphrase -Phrase 'Кузбасс'

Будем блокировать домены  отправителей нехорошего . Сохраним код в ps.1 для удобства.

$blckdomain = Read-Host "Какой домен будем блокировать?";
Set-SenderFilterconfig -BlockedDomainsAndSubdomains @{Add="$blckdomain"};
Get-SenderFilterConfig | fl blocked*;
pause

Снимок

Если допущена ошибка, то выпилить случайно затесавшийся домен можно так:

Set-SenderFilterConfig -BlockedDomainsAndSubdomains @{remove="domain.ru"}

Заблокируем IP  подсеть

Add-IPBlockListEntry -IPAddress 37.215.0.0

Снимок

Полезные ссылки:

Microsoft Manage Sender Filtering http://technet.microsoft.com/en-us/library/bb124087(v=exchg.150).aspx

Add-IPBlockListEntry: http://technet.microsoft.com/en-us/library/aa995923(v=exchg.150).aspx

Поборовшись со спамом, заглянем на минутку в статистику, которая нам предоставляется из коробки.

cd $exscripts

.\get-AntispamSCLHistogram.ps1 | sort Name

#статистика работы фильтров с SCL

#статистика работы фильтров по обработке сообщений

.\get-AntispamFilteringReport.ps1 MessagesRejected

.\get-AntispamFilteringReport.ps1 MessagesDeleted

.\get-AntispamFilteringReport.ps1 MessagesQuarantined

#статистика 10 заблокированных адресов из списка

.\get-AntispamTopBlockedSenderIPs.ps1 -top 10

.\get-AntispamTopBlockedSenderDomains.ps1 P1

#статистика заблокированных доменов, может принимать параметры Р1 (конверта сообщения) и Р2 (заголовка сообщения)

.\get-AntispamTopBlockedSenders.ps1 P2

#аналогично предыдущему командлету, но только список отправителей

.\get-AntispamTopRBLProviders.ps1 #посмотрим, насколько эффективны наши RBL

.\get-AntispamTopRecipients.ps1

Многие не в курсе, но с 2007 года в анализе логов не поменялось ничего :)

Для Exchange 2010, вот такой отчетик можно запланировать на еженедельной основе. ну или ежемесячно, у кого какой жизненный цикл.

$StartDate = ([System.DateTime]::Now).AddDays(-7)
$EndDate = ([System.DateTime]::Now)
$report =(Get-AgentLog  -StartDate ([System.DateTime]::Now).AddDays(-7) -EndDate ([System.DateTime]::Now) | group action | sort-object Name | ft name,count -Autosize);
$message = $report | format-table | out-string -width 160;
#почтовый домен
$domain = "tm.ru"
#почтовый сервер в локальном домене
$Smtp = "localhost"
#от кого будет идти сообщение
$from = "Reports@tm.ru"
$to = "admin@tm.ru"
#тема письма
$Subject = "Отчет по спаму c '$StartDate' по '$EndDate'"
#тело письма
$Body = "$msg"
#Конвертируем кодировку в utf8
$enc = New-Object System.Text.utf8encoding
#отправляем сообщение
Send-MailMessage -From $from -To $to -Subject  $Subject -Body "$message" -Encoding $enc -SmtpServer $Smtp

Name         Count

----         -----

AcceptMessage   863

DeleteMessage     8

RejectCommand 1054

RejectMessage   28

для  Exchnage 2013 простенький отчетик по спаму будет выглядеть чуть иначе:

$StartDate = ([System.DateTime]::Now).AddDays(-7)
$EndDate = ([System.DateTime]::Now)
$report =(Get-AgentLog -TransportService FrontEnd   -Location E:\spamlogs -StartDate ([System.DateTime]::Now).AddDays(-1) -EndDate ([System.DateTime]::Now) | group action | sort-object Name | ft name,count -Autosize);
$message = $report | format-table | out-string -width 160;
#почтовый домен
$domain = "mf.ru"
#почтовый сервер в локальном домене
$Smtp = "smtp.host"
#от кого будет идти сообщение
$from = "admin@mf..ru"
$to = "reports@mf.ru"
#тема письма
$Subject = "Отчет по спаму c '$StartDate' по '$EndDate'"
#тело письма
$Body = "$msg"
#Конвертируем кодировку в utf8
$enc = New-Object System.Text.utf8encoding
#отправляем сообщение
Send-MailMessage -From $from -To $to -Subject  $Subject -Body "$message" -Encoding $enc -SmtpServer $Smtp

Можно подробнее поразбирать статистику, поработав с выводом:
Get-AgentLog -TransportService FrontEnd -StartDate ([System.DateTime]::Now).AddDays(-1) -EndDate ([System.DateTime]::Now) | FT IPAddress,P2FromAddresses,Recipients,Agent,Action,Reason

http://exchangepedia.com/2007/12/keeping-tabs-on-antispam-filters-a-few-handy-scripts-in-exchange-server-2007.html

http://social.technet.microsoft.com/wiki/contents/articles/19122.exchange-server-how-to-diagnose-spam-problem.aspx

http://blogs.technet.com/b/johnbai/archive/2013/12/18/exchange-2013-39-get-agentlog-39-throws-exception.aspx http://exchangepedia.com/2007/04/exchange-server-2007-managing-and-filtering-anti-spam-agent-logs.html

https://technet.microsoft.com/ru-ru/library/jj150481%28v=exchg.150%29.aspx

PS. Я очень часто и много слышу про то, что администраторы считают встроенные средства неэффективными. Основная причина в отсутствии больших красивых отчетов, которые есть в сторонних решениях, и недостатке кнопки делать хорошо (tm). Если нет совсем никакой защиты, и Вы подходите с головой к процессу защиты: анализируете логи, смотрите на письма, читаете статьи и разминаете пальцы командлетами, то, наверное, не все так плохо, как некоторым кажется.

P.P.S. В некоторых случаях применимо накинуть очки SCL для публичных сервисов, предоставляющих почтовые услуги для пользователей. Поскольку такие сервисы часто используют спамеры, мы можем основываясь на том, что сначала сообщение пройдет фильтрацию контента, а уже потом наше транстортное правило, докинуть негативных очков для сообщения. 4 будет в самый раз, поскольку 5 это уже автоматическое попадание в нежелательную почту.

Возможно, в каких-то организациях сразу принято считать письма с таких доменов не легитимными, в таком случае в правиле можно поставить 5, и тогда они гарантированно окажутся в папке нежелательная почта. Пользователь в таком случае имеет право явно добавить такого отправителя в доверенные получатели, чтобы не вытаскивать письма из нежелательных.

Снимок

# посмотрим правила
Get-TransportRule
# добавим новое правило
New-TransportRule -Name "SCL for Public domain" -Comments Это правило добавляет очки SCL для публичных доменов" -FromAddressContainsWords 'yandex.by','yandex.ua','googlemail.com','google.com','list.ru','bk.ru','mail.ru' -SetSCL 4
# посмотрим правила
Get-TransportRule
# посмотрим сознанное нами правило
Get-TransportRule "SCL for Public domain" | Format-List

Хорошего лета, занимайтесь Exchange Server.