Postfix: настройка, установка. Поштовий сервер Postfix

167 0 Новини високих технологій

Postfix – це безкоштовне програмне забезпечення поштового сервера, розроблене для використання в операційних системах сімейства Unix. Воно відноситься до класу агентів пересилання повідомлень (message transport agent, MTA), які здійснюють передачу електронних листів між поштовими клієнтами користувачів. Для організації серверів подібної пошти вкрай популярна зв'язка Ubuntu Linux + Postfix. Налаштування їх буде розглянуто в запропонованій статті.

Postfix: настройка, установка. Поштовий сервер Postfix

Підготовка до інсталяції Postfix

Перед початком встановлення Postfix потрібно виконати кілька процедур по коректної настройки ресурсу. Передбачається, що на сервері вже встановлена і готова до роботи операційна система Ubuntu Linux.


Встановлюємо коректне ім'я хоста

За промовчанням, Postfix використовує ім'я хоста сервера для того, щоб ідентифікувати себе при комунікації з іншими агентами пересилання повідомлень. Ім'я хоста може бути двох видів: просте слово або повністю певне ім'я домену (Fully Qualified Domain Name, FQDN). Коли застосовується? Ім'я хоста у вигляді простого слова зазвичай використовується для персональних комп'ютерів. Якщо ви використовуєте Linux на домашньому ПК, то ви можете назвати його, наприклад, linux , debian, ubuntu . FQDN складається з двох частин: ім'я вузла та ім'я домену. Наприклад, mail.yourdomain.co . Тут mail – ім'я вузла, yourdomain.com – доменне ім'я. FQDN, як правило, використовується для інтернет-серверів, і саме його слід використовувати при налаштуванні Postfix для відправки пошти. Приведена вище форма FQDN є стандартною для email-серверів.


Для того щоб дізнатися FQDN вашого сервера, введіть в терміналі Ubuntu наступну команду: hostname –f. Якщо у сервера ще немає FQDN, його можна задати за допомогою утиліти hostnamectl . sudo hostnamectl set - hostname your - fqdn . Після цього вийдіть з облікового запису в системі, увійдіть назад. Ви зможете побачити зміни за допомогою команди hostname –f.
Postfix: настройка, установка. Поштовий сервер Postfix

Перевіряємо системне час

Проходячи через Postfix, пошта отримує відмітку про час пересилання. Для цього сервер перевіряє своє системний час. Ця відмітка також записується в його лог Postfix ( / var/log/mail.log). Тому перед тим як встановлювати Postfix, налаштування системного часу необхідно зробити коректно. Використовуйте команду date, щоб дізнатися тимчасову зону і поточний системний час на сервері Ubuntu: user@mail:~$ date . Sun Dec 3106:37:19 BST 2017.

Задаємо записи DNS сервера

  • Запис MX. Запис MX (від англійського "mail exchanger") повідомляє іншим агентам пересилання повідомлень, що ваш сервер mail.yourdomain.com відповідає за відправку пошти у вашому домені. Запис MX @ mail.yourdomain.com.
  • Запис A. А-запис встановлює зв'язок між FQDN і IP-адресою: mail.yourdomain.com .
  • Запис PTR. PTR запис (від англійського "pointer record") встановлює зворотний зв'язок між IP-адресою і FQDN. Вона є протилежністю запису A і використовується для зворотних запитів DNS. mail.yourdomain.com
  • Всі 3 запису задаються на стороні вашого хостинг-провайдера. Як правило, постачальник послуг задає їх автоматично, але при необхідності їх можна вказати вручну, використовуючи інтерфейс управління вашим хостингом.
    Зворотний зв'язок між записом A і запис PTR використовується при блокування спаму. Багато агентів передачі повідомлень приймають пошту, тільки якщо сервер дійсно пов'язаний з певним доменом. Задати запис PTR необхідно, щоб листи з вашого сервера не потрапляли у відправників в папку зі спамом. Для того щоб дізнатися запис PTR для певної IP-адреси, виконайте наступну команду в консолі: dig - x + short або host . Після того як підготовка завершена, почнемо інсталяцію Postfix.
    Postfix: настройка, установка. Поштовий сервер Postfix

    Установка Postfix та налаштування

    Щоб скачати Postfix, виконайте наступні дві команди в терміналі на вашому сервері Ubuntu:
  • sudo apt-get update;
  • sudo apt-get install postfix -y.
  • Для встановленого Postfix налаштування починається з вибору типу поштового конфігурації:
  • No configuration – у процесі установки не будуть налаштовуватися які-небудь параметри.
  • Internet Site – Postfix буде налаштований для відправки електронної пошти іншим поштових серверів і прийому повідомлень від них.
  • Internet with smarthost – сервер Postfix буде використовуватися для отримання електронних повідомлень з інших поштових серверів, але відправка листів буде здійснюватися через сервер-ретранслятор.
  • Satellite system – ретранслятор буде використовуватися і для одержання, і для відсилання пошти.
  • Local only – електронна пошта буде пересилатися тільки всередині локальної облікового запису.
  • Далі введіть ваше доменне ім'я як ім'я поштової системи, тобто того, що йде в поштовій адресі після символу @. Наприклад, якщо ваша адреса електронної пошти – info@yourdomain.com , то в якості імені поштової системи слід ввести yourdomain.com . Налаштування Postfix в Ubuntu завершена. Після встановлення сервер Postfix буде автоматично запущений, і в каталозі /etc буде згенерований конфігураційний файл /etc/postfix/main.cf . Тепер ми можемо перевірити версію Postfix наступною командою:
    user@mail:~$ sudo postconf mail_version mail_version = 2110 Ми також можемо з'ясувати за допомогою утиліти netstat, що основний процес Postfix «слухає» TCP-порт 25: sudo netstat –lnpt. Перед тим як відправляти перше тестове лист, не зайвим буде перевірити, блокується чи порт 25 мережевим екраном. Для сканування відкритих портів можна використовувати утиліту nmap . Виконайте наступну команду в терміналі на якому-небудь іншому комп'ютері під Linux (наприклад, на вашому ПК), підставивши в неї реальний IP вашого сервера: sudo nmap . Як правило, порт 25 відкритий, так як це стандартний порт для електронної пошти. Якщо він закритий, слід внести зміни в налаштування мережевого екрану iptables на сервері. При цьому потрібно дозволити вхідні і вихідні з'єднання на цей порт. Якщо він блокується вашим хостинг-провайдером, зв'яжіться з представником і попросіть відкрити його.
    Postfix: настройка, установка. Поштовий сервер Postfix

    Відправка тестового листа

    Власне кажучи, тепер ми можемо відправляти і отримувати листи в консолі Ubuntu. Якщо ваш аккаунт на сервері називається user вашим поштовою адресою буде user@yourdomain.com . В якості тесту ви можете відправити листа адміністратору ресурсу (користувач root) або на будь-яку поштову адресу Gmail, "Яндекс" і так далі. При установці Postfix в каталог /usr/sbin/sendmail записується бінарний файл агента пересилання повідомлень sendmail. Ми можемо використовувати його для того, щоб відправити пробне лист на поштову адресу Gmail, наприклад: echo «тест» | sendmail youraccount @ gmail . com Ця нескладна команда повідомляє sendmail , що потрібно вважати повідомлення з стандартного введення і створити тіло електронного листа з текстом «тест», а потім відправити його на вказану поштову адресу Gmail. Лист з даними текстом має прийти на ваш поштовий ящик Google. Зверніть увагу, що адреса відправника вказувати не потрібно: його автоматично вставить в метадані листи Postfix, при налаштуванні якого ми задали ім'я поштової системи. Тепер спробуємо відповісти на це повідомлення, щоб перевірити, як Postfix приймає повідомлення. Вхідні листи, що надходять на ваш поштовий сервер, що зберігаються в каталозі /var/spool/mail/ і /var/mail/ . Також розташування вхідних листів можна дізнатися командою: postconf ail_spool_directory. Журнал повідомлень Postfix знаходиться у файлі /var/log/mail.log .

    Установка і настройка спам-фільтра

    У Postfix для налаштування спам-фільтра виконайте встановлення spamassassin і spamc: apt-get install spamassassin spamc SpamAssassin – це спам-фільтр, який буде відсівати небажану пошту на вашому сервері, у відповідності з заданими налаштуваннями. Розглянемо їх. Основним конфігураційним файлом спам-фільтра є /etc/mail/spamassassin/local.cf , який можна відкрити за допомогою будь-якого зручного вам текстового редактора. В зокрема, значущими для фільтрації вважаються такі параметри, які потрібно при необхідності додати або розкоментувати: report_safe 0 required_score 8.0 rewrite_header Subject[SPAM]
  • Параметр report_safe рекомендується встановити рівним 0. У цьому випадку вхідний спам буде отримувати у заголовку позначку, задану параметром rewrite_header . Якщо задати значення параметра рівним 1 то повідомлення буде видалено.
  • Параметр required_score відповідає за чутливість спам-фільтра. Чим менше його значення, тим суворіше фільтрується пошта. Для великих поштових серверів, які обслуговують більше сотні акаунтів, значення required_score рекомендується встановлювати в проміжку між 8.0 і 10.0.
  • Збережіть конфігураційний файл, а потім включіть і запустіть спам-фільтр і відновите його конфігурацію: # systemctl enable spamassassin # systemctl start spamassassin # sa-update
    Postfix: настройка, установка. Поштовий сервер Postfix

    Інтеграція Postfix і SpamAssassin

    Для того щоб ефективно інтегрувати Postfix зі спам-фільтром, необхідно створити окремого користувача і групу для процесу спам-фільтра: # useradd spamd -s /bin/false -d /var/log/spamassassin Далі додамо наступний рядок в кінець конфігураційного файлу /etc/postfix/master.cf : spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} Після цього на початку файлу зазначимо, що spamassassin буде працювати в якості фільтра контенту (параметр content_filter ): -o content_filter=spamassassin Нарешті, перезапустіть Postfix, щоб застосувати зміни: # systemctl restart postfix Налаштування спам-фільтра завершена. Для того, щоб перевірити працездатність SpamAssassin, можна виконати наступний тест. Надішліть електронного листа з іншого поштового сервера (наприклад, Gmail або Яндекс) на адресу електронної пошти на вашому сервері. Задайте йому будь-заголовок, а в тілі повідомлення введіть XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C. 34X При відправці вищенаведеного тексту на ваш сервер, наприклад, з аккаунта Gmail, буде отримана наступна відповідь: Verify SpamAssassin Detecting Spam Mails Ще одне повідомлення буде записано в лог, який можна переглянути за допомогою наступної команди: # journalctl | grep spam Повідомлення лода містить текст: Monitor SpamAssassin Mail Logs Додатково, ви можете перевірити spamassassin прямо з консолі: # spamassassin - D < / usr / share / doc / spamassassin -340/ sample - spam . txt Вищенаведена команда видає досить докладний результат, який повинен включати в себе подану нижче рядок: Test SpamAssassin Spam from Commandline.
    Postfix: настройка, установка. Поштовий сервер Postfix

    Висновок

    Налаштувавши свій власний приватний сервер електронної пошти, ви зможете власноручно забезпечувати приватність своєї електронної переписки, тому що тільки ви – адміністратор сервера - будете мати доступ до зберігаються на сервері листами. З іншого боку, створення особистого поштового сервера вимагає досить багато зусиль.
    Postfix: настройка, установка. Поштовий сервер Postfix
    Виконавши наведені у статті рекомендації, ви зможете встановити і коректно налаштувати поштовий сервер на базі Ubuntu Linux і Postfix для прийому і передачі повідомлень, а також для фільтрації спаму. Інструкції дійсні для версій Ubuntu, починаючи з 1204.