Blog archive - postfix як поштовий шлюз для ms exchange 2018

Як відфільтрувати спам з потоку електронних листів надходять на поштовий сервер, з одного боку-складне завдання, з іншого, є певні ознаки за якими можна визначити що хост відправник, бере участь в розсилці небажаної кореспонденції.

Для прикладу ми будимо використовувати ім'я домену example.com
Передбачається, що сервер Ubuntu вже встановлений і оновлений до останньої актуальної версії.

Частина перша, підготовка Postfix

Для початку, встановлюємо необхідні пакети

редагуємо основний конфігураційний файл postfix, попередньо залягання як супер-користувач

В кінці конфіга додаємо

зберігаємо конфіг і виходимо в консоль.
Детально на всіх пунктах зупинятися не буду, їх призначення легко знайти в гуглі,
Весь вміст можна просто скопіювати як є.
Далі нам необхідно створити такі файли:

Це наш список одержувачів, який експортується з Exchange
Містить записи виду:

де: username -ім'я користувача в AD c mailbox, example.com -домен одержувача, OK -діректіва, яке надійшло з листом, в нашому випадку - пропустити.
Відомості про одержувачів будуть міститися саме в цьому файлі, можна звичайно зробити опитування exchange в реальному часі і у мене навіть десь був скрипт, але все руки не доходили, тут ще з'являється непотрібна навантаження на контролер домену, а воно вам треба. Причому якщо одночасно довбати кілька сот тис. Відправників, всі ці запити посипляться і на AD. Це і втрачений час на очікування відповіді, від вінди і навантаження на процесор вже 2х серверів. На моє глибоке думку, простіше запустити скрипт в заданий час, вигрузінт список одержувачів, і перекине їх в файл, як часто його запускати-вирішувати вам, у мене він запускається 2 рази в день 12 і 15 годин - частіше не потрібно.

Перевірка на приналежність до різних мереж.
Містить регулярні вирази різних мереж і як наслідок, ознак що це не поштові сервера, а заражені комп'ютери клієнтів, а якщо там дійсно працюють нормальні сервера, то пошту можна відправляти і через релей провайдера або на худий кінець звернутися в тих підтримку щоб прописали зворотний DNS зону .

В результаті у нас повинно вийти 5 файлів,
їх необхідно переконвертувати в фали бази даних використовуються posfix.

якщо все проходить без помилок, рухаємося далі.
Це що стосується ubuntu ...

Чась друга: Налаштування Win2k3

На мою думку, глибокому думку, не має сенсу пускати сервер з передової, в тил нашої оборони, з цієї ж причини ми не будемо давати лазити в системі і опитувати її, а дозволимо їй бачити тільки те, що їй необхідно для роботи, не більше.
Як це можна реалізувати на практиці. Postfix буде бачити тільки той список одержувачів який ми йому самі дамо -вже готовий!
На сервері Windows, через планувальник завдань, ми будемо запускати скрипт який буде експортувати список користувачів в файл recipients.

Щоб створити завдання в планувальнику, в рядок ініціалізації нашого скрипта пишемо:

ВСЕ це одним рядком!
Ну і виставляємо час, коли він буде виконуватися і як часто.
Далі створюємо директорію і відкриваємо в неї доступ через мережу користувачеві postfix.

Частина третя -заключітельная.

Тепер завдання, щоб наш linux сервер міг побачити вміст мережевий папки з файлом recipients.
Я вважав за краще монтувати розшарений директорію при старті системи, з цього, запхав команду монтування в файл /etc/rc.local.
Також необхідно створити в директорії media директорію win. Чому саме win- щоб, через кілька місяців, можна було зрозуміти, що це таке і звідки воно взялося.
Спочатку ставимо пакет smbfs -без нього наша директор не прімонтіруется.

Редагуємо файл rc.local

І перед рядком exit0 вписуємо команду монтування кулі:

де: 192.168.0.20 -ip сервера з exchange.
antispam -директор в якій лежить файл recipients.
/ Media / win /-куди повинна примонтировать віндового кулі.
iocharset = utf8 -кодіровака, якщо випадково в ній з'являться папки з українськими назвами, то вони будуть Новомосковскеми, а не. та й гірше від цього не буде, в загальному робимо відразу як треба і спимо спокійно.

-ім'я користувача і пароль для доступу до кулі.

Перезавантажуємо Ubuntu ліземо в / media / win / бачимо її вміст віндового шари- значить все відмінно.

Далі створимо невеликий скрипт який буде переписувати файл recipients
в директорію / etc / postfix, а потім буде експортувати його в базу даних postfix і перезавантажувати поштовик.

Створюємо завдання в CRON яке буде виконуватися через 3 хв після виконання завдання на Win2k3-на всякий випадок. (Наприклад 12:03 і о 15:03)

Що ми отримали

Аніспам фільтр, з високим ступенем ефективності-до його установки я щоранку розгрібав по 240-260 листів зараз спостерігаю, тільки потрібну пошту.
Єдиний ящик в який спам, все таки доходить, це ящик на який приходять заявки для нашої контори, але їх число не перевищує 3-4 шт.
Безпека - в разі компрометації сервера Linux шлюз легко відновлюється, Та й зловмисник не отримає доступу до кореспонденції, т.к її на ньому просто немає, вона відразу передається Exchange-якщо проходить всі перевірки.
Кросплатформеність-немає сенсу збирати модулі з підтримкою всяких екзотичних функцій.

Схожі статті