Zimbra и защита на сървъра от претоварвания

Електронната поща се утвърди като стандарт в бизнес комуникацията. Благодарение на високата икономическа ефективност на електронните писма, както и на редица особености, свързани с цитирането на текст и прикачването на файлове, електронните писма са най-подходящи за основен метод за обмен на документи и учтиво бизнес общуване. Тези характеристики също така са причина, поради която електронната поща е толкова обичана от спамерите. В резултат на това, днес електронната поща представлява огромен бушуващ океан от спам, в чиито води рядко се срещат бизнес писма. Именно затова една от основните задачи на администратора на всеки пощенски сървър е да защитава от спам-расиските. Нека видим какво може да се направи по този въпрос в Zimbra Collaboration Suite Open-Source Edition.

Zimbra и защита на сървъра от претоварвания

Въпреки безплатния характер на решението, Zimbra OSE може да предостави на системния администратор много ефективни инструменти за справяне с проблема с нежеланите писма. Вече писахме за такива утилити като Amavis, SpamAssassin, ClamAV и cbpolicyd, които позволяват надеждно филтриране на входящата поща, отсявайки спам-расиските, както и заразени и фишинг писма. Въпреки това, основният им недостатък е, че всички те работят с вече получените имейли и използват системни ресурси за филтрирането на безполезните съобщения, които винаги могат да бъдат използвани по-добре. Но какво, ако вашето предприятие се окаже под прицела на голям ботнет, който постоянно залива вашия пощенски сървър с толкова много мили от нежелани писма, че филтрирането им ще погълне по-голямата част от сървърните ресурси на MTA?

В теорията, можете да се защитите от това, като свържете облачна услуга за филтриране на входящата поща, но на практика този метод на защита не е подходящ за всяко предприятие, тъй като в такъв случай ще трябва да се доверите на трети лица за обработка не само на спама, но и на търговската кореспонденция, което не винаги е безопасно и често противоречи на политиката за безопасност на компанията. Освен това, се появяват рискове, свързани с надеждността на работата на облачния спам-филтър. Изходът от тази ситуация може да бъде организирането на защита на сървъра собственоръчно. Специално за тези цели в Zimbra е вградена утилита Postscreen, която има за цел да защитава пощенския сървър от писма, изпращани от ботнети, без да натоварва пощенския сървър.

Същността на работата на Postscreen се състои в това, че тази утилита преглежда всички заявки за свързване към пощенския сървър и не позволява на клиентите, които й изглеждат подозрителни, да се свържат със сървера. Понеже според статистиката, около 90% от спама в света се разпространява точно от ботнети, Postscreen често се използва като първа степен на защита на пощенския сървър от нежелани пощенски разпространения. Благодарение на това пощенският сървър може да работи стабилно без претоварвания дори при силни спам атаки от големи ботнети.

Принципът на работа на Postscreen е доста прост, утилитата може да извърши редица основни проверки на входящите писма, преди да ги предаде на пощенския сървър или на други услуги, които извършват по-дълбока и детайлна проверка на входящите писма. Всяка от проверките, съответно, може да бъде премината или да не бъде премината. На база резултатите от всяка от проверките, Postscreen може да приложи едно от трите действия по избор на администратора на Zimbra: Drop, Ignore или Enforce. Действието Drop принудително прекъсва връзката с клиента, в случай че проверката не бъде премината, действието Ignore позволява да се игнорират резултатите от проверката при вземането на крайното решение, но в същото време събира информация и статистика относно проведените проверки, а действието Enforce позволява да се вземат предвид резултатите от проведените проверки при вземането на крайното решение, но в същото време да се продължат да се изпълняват всички тестове, които системният администратор е планирал.

Простият принцип на работа не означава, че е лесно да се използва и настрои. Проблемът е, че неправилно конфигуриран Postscreen може да стане причина редица важни за предприятието писма да не достигнат до адресата. Затова настройката на такъв мощен инструмент като Postscreen трябва да се извършва с голямо внимание и да се тества постоянно при различни ситуации.

Postscreen в Zimbra е включен по подразбиране, обаче много потребители могат да не са удовлетворени от началната конфигурация. Сега ще разгледаме най-добрия вариант за настройка на Postscreen относно сигурността и минимизиране на рисковете. Същността му е, че при провал на някой от тестовете, Postscreen няма да прекъсне връзката с клиента, а ще завърши всички проверки, и в случаите, когато те ще бъдат провалени, ще издаде съобщение за грешка. Това ще даде възможност на живия изпращач да бъде уведомен за недоставено писмо, ако Postscreen го приеме за спам. Това се постига чрез настройка на стойността enforce в параметрите на проверките. Именно тази стойност позволява завършването на започнатите проверки до края, без прекъсване на връзката с клиента при първия провал, но в крайна сметка, след завършване на проверките, все пак да се блокира писмото със спам, без да се доставя на сървера.

За да включите необходими проверки, трябва да въведете следните команди:

zmprov mcf zimbraMtaPostscreenDnsblSites ‘b.barracudacentral.org=127.0.0.2*7’ zimbraMtaPostscreenDnsblSites ‘zen.spamhaus.org=127.0.0.[10;11]*8’ zimbraMtaPostscreenDnsblSites ‘zen.spamhaus.org=127.0.0.[4..7]*6’ zimbraMtaPostscreenDnsblSites ‘zen.spamhaus.org=127.0.0.3*4’ zimbraMtaPostscreenDnsblSites ‘zen.spamhaus.org=127.0.0.2*3’

Тази команда позволява добавяне на DNS проверка на входящите връзки към две от най-популярните публични спам бази и рейтинг на писмата в зависимост от това, в коя от базите е открит адресът на изпращача. Колкото повече наказателни "звезди" събере клиентът, толкова по-вероятно е той да бъде спамер.

zmprov mcf zimbraMtaPostscreenDnsblAction enforce

С тази команда се определя действието, което се извършва в резултат на преминаването на DNS проверката. В този случай резултатът от проверката се запомня, а самото писмо продължава да преминава през следващите тестове.

zmprov mcf zimbraMtaPostscreenGreetAction enforce

Тъй като в SMTP протокола след директно свързване сървърът първи започва комуникацията с клиента, Postscreen може да изпрати приветствие на клиента. Понеже много спам клиенти започват да изпращат команди, без да изчакват края на приветствието, те могат лесно да бъдат разпознати. Тази команда позволява да се вземат предвид резултатите от проверката, но същевременно да се продължи с извършването на допълнителни тестове.

zmprov mcf zimbraMtaPostscreenNonSmtpCommandAction drop

В рамките на тази проверка Postscreen позволява да се отсеят тези връзки, които не идват от пощенски клиенти. Понеже те не изпращат никакви писма, можете без никакви опасения да ги изключите от сървъра.

zmprov mcf zimbraMtaPostscreenPipeliningAction enforce

Тази проверка се основава на факта, че по подразбиране в протокола SMTP клиентът може да изпрати само една команда наведнъж и след това да изчака отговор от сървъра на тази команда. Въпреки това, много спам ботове се държат по различен начин, изпращайки множество команди, без да изчакват отговор от сървъра. Това позволява почти безпогрешно да се идентифицира спам бот.

По принцип, тези проверки за Postscreen ще бъдат повече от достатъчни, за да се отсекат от сървъра основната маса спам ботове и да се постигне значително намаляване на натоварването на пощенския сървър. В същото време живите хора ще получават съобщение за това, че тяхното писмо не е било доставено, което значително намалява риска от загуба на важни писма поради настройките на Postscreen. В случай, че това се случи, можете да добавите надежден изпращач в белия списък на Postscreen. За да създавате бели и черни списъци в Postscreen, първо трябва да създадете файл /opt/zimbra/conf/postfix/postscreen_wblist.

В него ще добавим списък с разрешени и забранени IP адреси и подмрежи във формат CIDR. За пример ще блокираме подмрежата 121.144.169.*, но ще разрешим свързването на единствения IP адреса от тази подмрежа:

# Rules are evaluated in the order as specified.
# Blacklist 121.144.169.* except 121.144.169.196.
121.144.169.196/32 permit
121.144.169.0/24 reject

Обърнете внимание на важността на реда на записите. Факт е, че Postscreen ще сканира файла с белите и черни списъци до първото съвпадение и ако блокираната подмрежа е преди разрешения IP адрес, проверката просто няма да достигне записа, който указва, че този IP адрес е добавен в белия списък и връзката със сървъра няма да се осъществи.

След като файлът с белите и черните списъци е редактиран и запазен, можете да активирате съответната проверка с помощта на следните команди:

zmprov mcf zimbraMtaPostscreenAccessList «permit_mynetworks, cidr:/opt/zimbra/conf/postfix/postscreen_wblist»
zmprov mcf zimbraMtaPostscreenBlacklistAction enforce

Сега Postscreen, освен вече зададените от нас проверки, ще се обръща и към файла с белите и черните списъци, което ще позволи на администратора да решава доста лесно въпросите с невъзможността за свързване към сървера на надеждни изпращачи.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster