И пак за спама
от Григор Гачев
Писах преди, че съм попаднал на първия си професионален български спамер. Тоест, браншът със спама се опитва да расте и да се професионализира. Което ме подсеща, че е добре да получи професионален отговор.
Не знам дали моят отговор е професионален. Просто това съм успял да измисля за такива случаи.
Като начало, смятам да се опитам да се свържа с най-големите български доставчици на електронна поща, и да организирам едно събитие, на което да приемем обща антиспам политика. Не го ли направим, спамерите са пъргави - докато се усетим, ще са завзели позиции, от които ще е много по-трудно да ги изстържем. В Австралия вече имат опит със създаването на подобна организация. Имат и резултати - един spammer friendly Интернет доставчик беше притиснат лошо, псува, заплашва, съди организацията, но накрая капитулира и изгони спамерите. И спамът на австралийска почва спадна чувствително.
Организирането на подобно нещо обаче вероятно ще отнеме седмици, а може би и месеци. (И зависи от добрата воля на доставчиците.) Така че междувременно вземам мерки за моя хостинг.
От пуснатия спам обикновено могат да се научат няколко полезни неща:
1. Е-майл адрес на подателя. Спамерите спокойно биха могли да слагат тук случаен адрес (пусканият през ботмрежи спам винаги е такъв). Ако обаче се опитат да го направят, а работят от истински сървъри, както са българските спамери, ще са под удара на закона. Затова засега използвам този адрес (ако имам подозрения, че не е истински, описвам спамера само по другите критерии.)
2. Хост, който изпраща спама. Обикновено хостът се регистрира при обмена като DNS име; логовете на Postfix също пазят и реалния IP адрес, от който е направена заявката. Използвам и двете.
3. Е-майл адрес за обратна връзка към фирмата, която е пуснала спама. Това е особено ключов момент. Привидно той няма общо със самото спамене като техника. На практика обаче спамерите съществуват благодарение на клиентите си - спамерът е извършителят, но клиентът му е подбудителят. Затова вземането на мерки срещу клиента е дори по-важно, отколкото срещу спамера.
(Вярно е, че много клиенти всъщност не знаят, че на спама се гледа зле в Интернет. Но е вярно също и че докато ръководството на фирмата мисли, че това е един чудесен начин за маркетинг, който просто се е зловидял на някой си там, то ще продължи да спами. Единственият начин да разбере, че е в грешка, обикновено е да остане без електронна поща, и с много студен отказ да бъде разблокиран.)
Мерките, които вземам, обикновено са от два типа. Първо, свързвам се с клиентите, поръчали спама, и им обяснявам, че идеята е довела до лоши последствия (пълно блокиране на всичката поща от тях, насочена към моя хостинг). Ако имат нещо против (често се опитват да имат), им обяснявам, че отучването от спама е открай докрай техен проблем, и не разбирам как точно очакват от мен аз да им го разреша. Че с пращането на спама те са се поставили в ролята на рушители на Интернет, и че аз съм не психотерапевт, който се очаква да им помогне да се откажат от лошия начин на мислене, а полицай, на който клиентите му плащат, за да ги охранява от такива като тях. Ако имат още претенции, ги подсещам, че времето ми е пари, и че осъзнаването на грешката им е единствено тяхна задача, и прекратявам разговора.
Ако някой желае да бъде разблокиран, изисквам да подпише декларация, че се задължава да не разпространява повече спам, и че поема финансова отговорност (10 лв. без ДДС) за всяко копие спам, изпратено до е-майл доставчик (например до мен). Декларацията съдържа също текстове, че подписалият я осъзнава, че спамът е недопустима практика, която руши Интернет, и че евентуалните негови плащания ще бъде използвани за подсигуряване на стопроцентовото унищожаване на всеки спам, изпратен от него. Декларацията се заверява нотариално. Разблокирането става, след като получа нотариално заверения оригинал.
(Вероятно процедурата изглежда на повечето хора безсмислено сложна и тежка. И на мен отначало изглеждаше така. С времето обаче се уверих, че много мениджъри ценят думата си колкото носна кърпичка за еднократна употреба. Документалното задължение за поемане на финансова отговорност промени нещата драстично: декларация пращат (и биват разблокирани) само тези, които смятат наистина да я спазят. Останалите обещават, след което продължават да спамят. Откакто въведох тази практика обаче, клиентите на други хостинги ругаят, а моите… дори не разбират.
)
Втората сфера на контакт са техническите провайдери на спамера. Ако той бълва спам от адрес в голям провайдер на електронна поща, примерно в gmail или yahoo, съобщения от спамера просто се препращат на abuse@съответното.място, и обикновено нещата приключват.
Малко по-сложно е, ако спамерът се е хостнал някъде като цял домейн. Различните хостинг провайдери реагират доста различно. Host.bg например отначало проявиха толерантност към професионалния спамер, за който вече споменах, в смисъл, че първо само го предупреждаваха и вярваха на обещанията му. След поредното нарушено обещание обаче не само блокираха хоста му, но и деактивираха домейна му. Заслужиха си голямото браво от мен.
Други провайдери са по-приятелски настроени към спамерите. Или не им пука, че в техния двор се подвизава източник на миазми, или дори го пазят, защото плаща добре. В такива случаи задължително блокирам и домейна, и IP адреса на спамера (много от тях използват домейни-еднодневки, всеки спам тръгва от различен). Ако спамерът почне да мигрира из IP-тата на диапазона на провайдера, поглеждам в ripe.net точния диапазон, и го блокирам целия. Ако клиентите искат да си кореспондират с някой хостнат в същия провайдер, им обяснявам, че с тази си практика провайдерът скоро ще бъде блокиран отвсякъде, и че най-доброто решение за кореспондента им е да зареже този провайдер навреме.
Разговори със самия спамер не водя никога. Както вече писах по-горе, времето ми е пари, а осъзнаването на грешката му - изцяло негов проблем.
От така описаната твърдичка политика човек би останал с впечатление, че сигурно съм блокирал към момента поне половината свят. Истината обаче е, че спамът е много, но спамерите, особено като IP адреси, са страшно малко. (Имам база от спамове, събрана от саморъчно направени капани. Всичките почти един милион спамове в нея са напускани или от ботмрежи, или от някое от не повече от 200 IP-та. Тоест, спамът в Интернет е страшно много, но spammer-friendly частта на Интернет е съвсем мъничка, и може абсолютно спокойно да бъде блокирана без нежелани последствия.
Проблем с клиенти заради блокирани спамове съм имал само веднъж. Български въздушен превозвач (няма да назова точното име
) беше решил, че спамът е подходящ начин за маркетинг. След като го блокирах, един от клиентите ни изпищя - имали с тях търговски отношения. За щастие се оказа, че ИТ админите на превозвача също никак не са фенове на спаменето, изискано от маркетинг отдела им. Поех ролята на лошото ченге, и задържах блокировката в течение на два дни. Не съм в течение на подробностите, но доколкото разбрах, маркетинг отделът там се оказал под натиска не само на админите, но и на търговския отдел, и в крайна сметка на ръководството. Резултат: веригата се примоли да ги разблокирам без да попълват нотариална декларация. Реших да рискувам, и се оказа оправдано - до момента не съм получил повече спам от тях.
А сега мъничко техническо описание.
Пощенските ми сървъри използват Postfix. Ето как е организирана анти-български-спам защитата им:
Към момента българските спамери са малко, така че засега описването им става в обикновени текстови файлове за хешване. За в бъдеще описването на българските спамери предвиждам да става в база данни; не само ще ме облекчи, но и ще позволи автоматичното й попълване. Ако успея да уговоря повечето български доставчици на е-майл, вероятно решението ще е такова; освен другото, ще позволи автоматично синхронизиране на базата между провайдерите, и евентуално публичен достъп до нея. Засега обаче спамерите са малко, и ги описвам в стил /etc/postfix/access.
За блокиране на този етап използвам три от нивата на контрол на Postfix, срещу всеки от трите основни елемента информация за спамера. Създал съм 3 файла - spammer_hosts (хостове и IP-та на източници на спам), spammer_mails (е-майл адреси на подателя) и spammer_contacts (е-майл адреси за обратна връзка).
След допълване на някой от тези файлове той трябва да бъде хешнат с командата postmap. Ако например съм добавил нов източник:
postmap spammer_hosts
което създава съответен файл с разширение .db (примерно spammer_hosts.db), или го обновява.
След като внеса съответната информация и в трите файла, и ги хешна, за всеки случай презареждам конфигурациите на Postfix. По всички правила не би трябвало да е нужно, но предпочитам да съм на сигурно:
/etc/init.d/postfix reload
Трите файла с информация за спамерите трябва да бъдат описани в основния конфигурационен файл на Postfix, main.cf. Описването става както следва:
- файлът с информация за източници на спам - в директивата smtpd_helo_restrictions
- файлът с информация за адреси на подател - в директивата smtpd_sender_restrictions
- файлът с информация за адреси за контакт - в директивата smtpd_recipient_restrictions
Всяка от тези директиви съдържа по някакъв брой източници на информация за приемане или отхвърляне на опити за препращане на поща. (Не пускам тук моите, защото са твърде къстомизиран пример; стандартната инсталация на Postfix има добри примери, в Интернет има още повече.) Към всяка от тези директиви съответният файл се добавя като hash, например (за източниците на спам):
hash:/etc/postfix/spammer_hosts,
Мястото, на което се добавя източникът, е от значение. Добре е да е преди всякакви одобряващи директиви.
Ето, най-сетне, и моите списъци на спамери. Малка част съм изрязал по най-различни причини.
—-
Източници на спам:
# — The b2bnews.bg / bgvesti.com spam system — #
dynamic-media.org REJECT Spammer host
.dynamic-media.org REJECT Spammer host
# — The market-mail.info spam sender — #
market-mail.info REJECT Spammer host
.market-mail.info REJECT Spammer host
91.196.124.100 REJECT Spammer host
combgcom.com REJECT Spammer host
.combgcom.com REJECT Spammer host
91.196.126.123 REJECT Spammer host
# hosted by Superhosting: 91.196.124.0 - 91.196.127.255
mumuxu.com REJECT Spammer host
.mumuxu.com REJECT Spammer host
82.147.141.80 REJECT Spammer host
# hosted by Auto Union: 82.147.141.64 - 82.147.141.91
# — Other spammers — #
om-lufthansa.rsys3.com REJECT Spammer host
# spam from om-lufthansa.rsys3.com
(Повтарянето на домейни, един път с точка отпред и един път без, е необходимо, за да бъдат блокирани и всички поддомейни. Може да се избегне, като в ключовата дума parent_domain_matches_subdomains в main.cf се добави стойността smtpd_access_maps. Тази възможност обаче се описва като остаряла съвместимост, която се очаква да бъде премахната в бъдещи версии. Затова препоръчвам повтарянето с точка отпред.)
—-
Адреси (и домейни) на податели на спам:
b2bnews.bg REJECT Spammer.
bgvesti.com REJECT Spammer.
dicon-bg.com REJECT Spammer.
max-email.com REJECT Spammer.
tenita.net REJECT Spammer.
om-lufthansa.rsys3.com REJECT Spammer.
masterbulgaria.com REJECT Spammer.
galera-tour.com REJECT Spammer.
mb.bia-bg.com REJECT Spammer.
# Individual addresses:
mmc@bia-bg.com REJECT Spammer.
nereya@cablebg.net REJECT Spammer.
a.petrova@asn-global.com REJECT Spammer.
fiat@avto-union.eu REJECT Spammer.
—-
Адреси за контакт, посочвани от спамери и техни клиенти:
# —– Individual addresses —– #
marketmail@mail.bg REJECT Spammer contact
hotelyastrebets@mail.bg REJECT Spammer contact
yastrebets@tenita.net REJECT Spammer contact
fiat@avto-union.eu REJECT Spammer contact
lvlbranding@gmail.com REJECT Spammer contact
a.petrova@asn-global.com REJECT Spammer contact
marketingteam@infoserv.bg REJECT Spammer contact
daniela@antea.bg REJECT Spammer contact
# —– Entire domains —– #
masterbulgaria.com REJECT Spammer domain
b2bnews.bg REJECT Spammer domain
bgvesti.com REJECT Spammer domain
dicon-bg.com REJECT Spammer domain
nereya.com REJECT Spammer domain
max-email.com REJECT Spammer domain
galera-tour.com REJECT Spammer domain
Това е засега. Повече за спама - някой друг път.