Новини високих технологій
» » Поштовий сервер на Linux: огляд та налаштування

Поштовий сервер на Linux: огляд та налаштування

15-09-2017, 13:41
1 406
Електронна пошта для більшості користувачів виглядає як звичайний веб-сайт з зручним інтерфейсом, в якому можна комфортно набирати текст, додавати картинки і відправляти повідомлення друзям. Однак насправді все набагато складніше. Для передачі даних використовуються поштові сервери на Linux. Саме вони займаються обробкою, доставкою і маршрутизацією повідомлень. У цій статті будуть розглянуті найбільш популярні поштові сервери на Linux, а також способи налаштування деяких з них.

Огляд рішень для створення систем відправки і отримання повідомлень

За допомогою поштового сервера Linux можна швидко і зручно розгорнути свій власний механізм отримання та відправлення повідомлень. В Мережі є маса готових рішень, які залишається тільки встановити і трохи «допилити». Серед них, звичайно, є й більш складні в налаштування системи, конфігурування яких буде показано далі на прикладі Postfix.


SendMail — популярний і швидкий

SendMail можна назвати першопрохідцем серед поштових серверів Linux. Перша версія була випущена в далекому 1983 році. З тих пір SendMail освоїв безліч станцій і вузлів. Активно використовується й донині. Швидкий і оптимізований сервер, проте не відповідає сучасним вимогам безпеки і досить важкий в налаштуванні.

Postfix — гнучкий, потужний і надійний

Спочатку розроблявся для внутрішніх потреб дослідницького центру IBM. Багато функції і можливості запозичені з SendMail. Однак він набагато швидше, безпечніше, і настройка займає менше часу і сил. Може використовуватися як поштовий сервер на Linux, MacOS, Solaris.


IredMail

Даний сервер по суті є найбільшою комплектом скриптів і конфігураційних файлів. З їх допомогою можна швидко підняти поштовий сервер на Linux з Web-інтерфейсом і без. Має підтримку протоколів SMTP, POP3 та IMAP. Процедура установки в загальному не займе більше 10 хвилин, в залежності від майстерності адміна. В процесі налаштування поштового сервера Linux iRedMail будуть автоматично встановлені засоби боротьби з вірусами і спамом. Крім них можуть бути додані механізми захисту від перебору паролів, різні аналізатори та інше. Відмінний варіант готового поштового сервера Linux.

IndiMail

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

Rumble

Поштова Linux web-сервер, написаний на C++. Є вбудований API для керування і створення сценаріїв. Володіє великою кількістю функцій і можливостей «з коробки». Підтримуються кілька відомих версій СУБД. При бажанні або реконфігурації можна швидко перейти з однієї на іншу. Інтерфейси сервера розділені правами на свої певні зони — користувачі,що адміністратори домену та серверів.

Zentyal

Напевно, самий простий і зручний готовий поштовий Linux-сервер. У ньому практично всі інструкції та налаштування виконують у спеціальному графічному інтерфейсі. Заснований даний поштовий сервер на Linux Ubuntu. Додавання функцій або можливостей здійснюється шляхом встановлення нових модулів. З його допомогою можна організувати як окремий поштовий сервер, так і якийсь маршрутизатор або сайт-посередник між основними магістралями.

Axigen

Безкоштовний, потужний і багатофункціональний поштовий сервер. Може використовувати як через власний веб-інтерфейс, так і через будь поштовий клієнт. Вміє збирати пошту з зовнішніх ящиків, проводити автоматичний відповідь на повідомлення, фільтрувати їх, а також зручно імпортувати CSV. Для конфігурування та адміністрування є свій власний веб-інтерфейс. Для любителів класичної моделі управління — доступно завдання команд через консоль. Сервер підтримує велику кількість операційних систем, у тому числі з лінійки Windows. Процес взаємодії дуже добре документований і роз'яснено численними прикладами на сайті розробника.

CommuniGate Pro

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

Налаштування на прикладі однієї системи

Після огляду поштових серверів Linux варто розглянути налаштування одного з них більш докладно. Для прикладу можна показати, як встановити та налаштувати Postfix на Ubuntu. Передбачається, що в апаратній частині вже є дана операційна система і оновлена до останньої версії. Перше, що потрібно зробити — це завантажити сам сервер. Він доступний в репозиторіях Ubuntu, тому в терміналі потрібно набрати:
В процесі установки система попросить вказати новий пароль для користувача бази даних під обліковим записом адміністратора. Потім його потрібно повторити для підтвердження. Потім може запитати, який саме тип установки цікавить. Потім системне поштове ім'я, в якому можна вказати — some.server.ru.
Тепер потрібно створити базу даних для сервера. Зробити це можна за допомогою команди: mysqladmin -u root -p create mail. Саме тут і знадобиться зазначений раніше пароль для бази даних. Тепер можна зайти в саму оболонку MySQL за допомогою команди: mysql -u root. Система знову попросить пароль, який треба ввести. Далі піде набір команд, який допоможе створити нового користувача з привілеями:
Також будуть потрібні таблиці в основній базі, створити їх можна так:
Тепер консоль mysql більше не потрібна і можна вийти з неї.

Конфігурація Postfix

Для початку потрібно показати сервера, яким чином звертатися до бази даних, як там шукати необхідні значення. Для цього буде створено кілька файлів. Розташовуватися вони можуть в каталозі /etc/postfix. Ось їх назви:
У них повинно перебувати наступне вміст, серед якого рядок query для кожного файлу буде унікальною: user = ім'я адміна, вказаний при створенні таблиці; password = ; dbname = ім'я створеної бази; query = запит, свій для кожного файлу; hosts = 127001. Змінна query для файлів:
У цих файлах буде розташований пароль для входу в базу, тому доступ до них треба якось обмежити. Наприклад, виставити права, це обмежують. Тепер залишилося додати ще трохи налаштувань до Postfix. Варто звернути увагу, що в рядках, наведених нижче, потрібно замінити some.server.ru на реальний домен.

Сертифікати безпеки

Для початку знадобиться створити свій центр сертифікації, який буде підтверджувати достовірність всіх сертифікатів. Створюється сховище для файлів: mkdir ~/CA_new І файл конфігурації. В ньому розташовується наступний код:
Невелике пояснення до нього: змінна C — тут потрібно вказати країну в двухбуквенном форматі, наприклад, для Росії — RU; ST — означає конкретний регіон чи область; L — місто; O — найменування підприємства; CN — тут потрібно вказати домен, якому призначається ключ; адреса електронної пошти. Потім створюється і сам ключ: sudo openssl genrsa -des3 -out ca.key 4096 Система запропонує вказати пароль для даного ключа, який ні в якому разі не варто забувати. Тепер потрібна відкрита версія ключа: openssl req -new -x509 -nodes -sha1 -days 3650 -key ca.key -out ca.crt -config ca.conf Тут потрібно буде ввести раніше створений пароль для приватного ключа. Тепер сертифікат: openssl pkcs12 -export -in ca.cer -inkey ca.key -out ca.pfx Далі потрібно створити каталог, в якому будуть зберігатися всі генеруються ключі. Для кожного сервера визначена своя папка. mkdir SERV mkdir SERV/some.domen.ru І створюється своя власна конфігурація: nano SERV/some.domen.ua/openssl.conf Всередині нього повинні знаходитися параметри, наведені нижче. Вони аналогічні тим, які вже створювалися.
Для генерації ключів використовується команда: sudo openssl genrsa -passout pass:1234 -des3 -out SERV/some.server.ua/server.key.12048 У цій рядку використовується пароль 1234. Він потрібен на деякий час. Тепер пароль з команди прибирається: openssl rsa -passin pass:1234 -in SERV/some.server.ua/server.key.1 -out SERV/some.server.ru/server.key Тепер треба підписати ключ: openssl req -config SERV /some.server.ru/ openssl.conf -new -key SERV /some.server.ru/ server.key -out SERV /some.server.ru/ server.csr І видалити тимчасовий: rm -f SERV/ some.server.ru/server.key.1 За допомогою проведених маніпуляцій з'явиться поштовий сервер, здатний просто приймати і відправляти повідомлення. Крім основних, існують і додаткові модулі, які можна встановити для розширення функціоналу. Це дозволить створити повноцінний поштовий сервер на Linux для підприємства.

Додаткові функції

Наступні нижче модулі можна використовувати для розширення можливостей сервера, наприклад, "Антиспам" або сервіс розсилки. Horde. Дуже зручний веб-інтерфейс для пошти. Крім своєї головної задачі володіє вбудованими календарем, планувальником і контактами. Має зручну схему конфігурації і настройки. Amavisd-new. Виконує роль шлюзу і використовується в основному для стикування різних технологій. Amavisd-new отримує повідомлення, фільтрує його, з'ясовує, воно може представляти небезпеку і підключає додаткові функції інших модулів для перевірки. SpamAssassin. Як випливає з назви, модуль фільтрує листа за певними правилами, обчислюючи спам. Може використовуватися як окремо, так і в складі різних демонів. ClamAV. Популярний в Linux-середовищі антивірус. Є вільним програмним забезпеченням. Вміє працювати з безліччю різних поштових серверів, сканувати файли і повідомлення «на льоту». Razor. Даний модуль зберігає контрольні суми спам-листів і безпосередньо взаємодіє з P ostfix. Pyzor — ще один інструмент для визначення повідомлень, що містять шкідливий або пошук для користувача код. Fail2ban. Інструмент, що захищає облікові записи користувачів від злому пароля перебором. Після певної кількості спроб конкретний IP-адресу заблоковано на якийсь час. Mailman. Зручний засіб для створення розсилок через веб-інтерфейс. Munin. Інструмент для моніторингу роботи сервера. Має велику кількість готових плагінів, що розширюють його можливості. Роботу мережевих протоколів можна відстежити на зручних графіках.

Висновок

Як видно зі статті, установка і конфігурація повноцінного поштового сервера вручну — довге і складне заняття. Однак такий підхід дозволить в цілому зрозуміти, як працює система, і знати її слабкі та сильні місця. У разі неполадок підготовлений адміністратор зможе швидко локалізувати і усунути проблему. Особливо актуальним це буде для великих компаній, робота яких повністю залежить від оперативності отримання та відправки повідомлення клієнтам або партнерам. Для дрібних же мереж цілком підійде і рішення «з коробки», яке можна швидко розгорнути, використовуючи зручний інтерфейс.
Однак у випадку поломки сервера доведеться довго вникати і розуміти пристрій системи. Стаття на прикладі поштового сервера Postfix показала базові способи і методи налаштування для первинної роботи. Укупі з великою кількістю модулів, плагінів і надбудов це дозволить створити потужний і надійний інструмент для відправки і отримання повідомлень.
Цікаво по темі
Як відкрити порт в Linux і чим перевірити вже відкриті?
Як відкрити порт в Linux і чим перевірити вже відкриті?
Порти в будь-якій системі, що знаходиться у спільній ієрархії, грають роль сполучних элментов. Знаючи, який з них відкритий або закритий, додаток з
SQL Server Express: установка, налаштування
SQL Server Express: установка, налаштування
Невелика інструкція по установці SQL Server Express. Тонкощі і нюанси. А також первинні налаштування і установки.
Установка і настройка phpMyAdmin: покрокова інструкція та рекомендації
Установка і настройка phpMyAdmin: покрокова інструкція та рекомендації
Докладний опис установки і настройки програми для управління базами даних PhpMyAdmin в різних системах.
Веб-сервер (Web Server): для чого він потрібен, як влаштовано і як працює
Веб-сервер (Web Server): для чого він потрібен, як влаштовано і як працює
Як правило, у рядового користувача такі поняття, як «веб-сервер» або «хостинг», асоціюються з чимось ...
DNS-сервер не відповідає: що робити в такій ситуації?
DNS-сервер не відповідає: що робити в такій ситуації?
Нечасто, звичайно, але іноді користувачі при спробі доступу до інтернет-сайтів стикаються з тим, що браузер, встановлений в системі, видає