Як встановити та налаштувати поштовий сервер postfix з dovecot у Linux Ubuntu

Як встановити та налаштувати поштовий сервер postfix з dovecot, як налаштувати поштовий сервер щоб ваша пошта не потрапила до спаму, як додати DNS записи SPF, DKIM та DMARC, про все це читайте у нашій статті.

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

Postfix — це агент передачі пошти (MTA) з відкритим вихідним кодом, який можна використовувати для маршрутизації та доставки електронної пошти в Linux.

Dovecot — це агент доставки пошти, написаний насамперед з урахуванням вимог безпеки. Я покажу, як його налаштувати як сервер IMAP або POP3.

Що потрібно для встановлення

Для початку установки вам знадобиться налаштований з повним доменним ім’ям (FQDN), сервер Linux Ubuntu. На сервері потрібно додати користувача без root повноважень, але із привілеями sudo. І відкрити відповідні порти у вашій мережі. Сервер з потрібними налаштуваннями я вже маю, а також налаштовані порти для нього. Залишилося додати користувача і приступати до встановлення поштових додатків.

Для додавання користувача відкрийте термінал (поєднанням клавіш Ctrl+Alt+T), та виконайте таку команду:

adduser demo

Задаємо йому новий пароль, решту значень залишаємо без змін, за бажання ви можете вказати будь-яку додаткову інформацію. Тепер у вас є новий обліковий запис користувача з правами звичайного облікового запису. Однак, іноді вам потрібно буде виконувати адміністративні завдання як користувача root.

Щоб уникнути виходу з вашого звичайного користувача та повторного входу в обліковий запис root, ви можете налаштувати так звані привілеї суперкористувача або root для звичайного облікового запису вашого користувача. Це дозволить запускати команди з адміністративними привілеями, поставивши слово sudo перед командою.

Для додавання привілеїв потрібно додати нового користувача до системної групи sudo, виконавши команду:

usermod -aG sudo demo

Введіть ім'я хоста і створіть записи DNS для домену

Наступне, що потрібно зробити, це встановити дійсне доменне ім'я для вашого сервера.

Для цього є спеціальна команда hostnamectl

sudo hostnamectl set-hostname hetmansoftware.com

Потім, потрібно додати записи MX та A для домену в панель керування DNS. Ці записи будуть вказувати іншим поштовим агентам, що ваш домен відповідає за доставку електронної пошти.

Відкрийте панель керування DNS і додайте ці записи, потрібно вказати публічну IP-адресу вашого сервера.

Встановлення поштового сервера Postfix в Ubuntu

Тепер можна приступати до встановлення поштового агента Postfix.

Для його встановлення виконайте таку команду:

$ sudo apt-get install postfix

У вікні - Postfix Configuration, тиснемо - OK. Далі, система запропонує обрати тип налаштування пошти, тут потрібно виділити - «Internet Site» - Enter.

У наступному вікні потрібно ввести доменне ім'я, яке буде використовуватися для надсилання електронної пошти. Після встановлення Postfix він автоматично запуститься і створить конфігураційний файл у /etc/postfix/main.cf.

Ви можете перевірити версію Postfix та статус служби за допомогою наступних команд:

$ sudo systemctl status postfix

Якщо потрібно змінити конфігурацію, введіть команду:

sudo dpkg-reconfigure postfix

Тиснемо – ОК і потрібно виділити - «Internet Site» - Enter. У наступному вікні потрібно ввести доменне ім'я, яке буде використовуватися для надсилання електронної поти. Потім - отримувача пошти. Вказати інші напрямки для отримання пошти.

Примусово синхронізувати оновлення у поштовій черзі: Ні. Локальні мережі залишаємо без змін.

Обмеження розміру поштової скриньки: 0. Символ розширення локальної адреси: +. Інтернет-протоколи: Всі.

Тестування поштового сервера Postfix на Ubuntu

Тепер перевіримо, чи підключено наш поштовий сервер до порту 25, використовуючи наступну команду:

$ telnet gmail-smtp-in.l.google.com 25

Виведений системою результат вказує, що з'єднання успішно встановлено. Щоб закрити з'єднання, введіть quit.

Також, для перевірки пошти можна використовувати поштову програму, але спершу її потрібно встановити. Виконайте команду установки:

apt install mailutils

Для цього виконайте таку команду:

/usr/sbin/sendmail dmitriyzh23@gmail.com

Вкажіть поштову адресу для надсилання листа, теми та вмісту, а потім Сtrl+D для надсилання.

Пошта працює, лист дійшов, але потрапив до спаму. Далі ми розглянемо, які ще потрібно внести налаштування, щоб пошта не потрапляла до спаму.

Після надсилання першого листа в папці var/mail/, програма створить файл з ім'ям користувача. В цьому файлі буде записуватися вся вхідна та вихідна пошта.

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

Sudo nano /etc/postfix/main.cf

Додаємо рядок home_mailbox= Maildir/

Або виконаємо команду:

sudo postconf -e 'home_mailbox= Maildir/'

У такому разі пошта зберігатиметься в окремих файлах таким шляхом:

home/demo/Maildir/new

Встановлення Dovecot IMAP та POP в Ubuntu

У результаті, поштовий сервер вже працює: можна надсилати та приймати пошту, але навряд чи він обійдеться без можливості надсилання пошти по SMTP. Підтримка цього протоколу вже є у Postfix, але за замовчуванням там немає авторизації. Для додавання підтримки авторизації слід використовувати Dovecot. Як бонус ви отримаєте можливість переглядати ваші листи за протоколами POP3 та IMAP. Спочатку потрібно встановити сам сервіс Dovecot для його встановлення, виконайте таку команду:

sudo apt-get install dovecot-imapd dovecot-pop3d

Після встановлення рекомендується перезапустити службу – dovecot:

sudo systemctl restart dovecot

Щоб налаштувати dovecot, вам потрібно відредагувати файл /etc/dovecot/dovecot.conf. Щоб відкрити його, виконайте наступну команду:

nano /etc/dovecot/dovecot.conf:

Ви можете обрати, який протокол використовувати. Це може бути pop3, pop3s (безпечний pop3), imap або imaps (безпечний imap). IMAPS та POP3S більш безпечні, ніж звичайні IMAP та POP3, оскільки використовують SSL шифрування для з'єднання. Як тільки ви оберете протокол, виправте наступний рядок у файлі dovecot.conf.

Щоб відкрити його, виконайте наступну команду:

nano /etc/dovecot/dovecot.conf:

Додайте (Змініть) цей рядок:

protocols = pop3 pop3s imap imaps

Ctrl+Х, та Yes для збереження - Enter.

Тепер перевіримо роботу POP3. Переходимо на сервіс перевірки, вводимо дані, start test та дивимося результат.

Отже, пошту ми налаштували, тепер потрібно зробити так, щоб вона не потрапляла до спаму. Для цього потрібно додати ще кілька DNS записів. Відкриваємо панель керування DNS. Додаємо записи SPF, DMARC та DKIM.

Як додати DKIM запис

Для роботи SPF та DMARC достатньо додати їх DNS записи. Для роботи DKIM потрібно його встановити на сервері.

«DKIM (DomainKeys Identified Mail)» — метод електронної пошти автентифікації, розроблений для виявлення підроблення повідомлень, що пересилаються по email. DKIM дає можливість одержувачу перевірити, що лист справді був відправлений із заявленого домену.

Для встановлення пакета виконайте таку команду:

apt-get install opendkim opendkim-tools

Потім запускаємо та додаємо в автозавантаження:

sudo systemctl start opendkim

sudo systemctl enable opendkim

Далі, потрібно створити сертифікат за допомогою opendkim-genkey.

Створюємо каталог для ключів, такою командою:

mkdir /etc/opendkim

І генеруємо ключ такою командою:

opendkim-genkey -D /etc/opendkim/ --domain hetmansoftware.com --selector mail

Тут потрібно вказати доменне ім'я вашого сервера.

У папці /etc/opendkim/ має з'явитися два файли з розширеннями .private (закритий ключ) та .txt (txt-запис). Далі налаштуємо DNS.

Дивимося вміст файлу txt:

cat /etc/opendkim/mail.txt

Копіюємо вміст, переходимо в панель керування DNS і створюємо TXT-запис:

mail._domainkey IN TXT ( "v=DKIM1; k=rsa; "

"вміст txt файлу"

mail - назва нашого селектора,

p= p=MIIBIjANB...IDAQAB - скорочений запис відкритого ключа.

sudo chown -R opendkim:opendkim /etc/opendkim

Тепер внесемо зміни до конфігураційного файлу:

sudo nano /etc/opendkim.conf

Тут потрібно розкоментувати та додати декілька рядків:

AutoRestart Yes

AutoRestartRate 10/1h

Umask 002

Syslog yes

SyslogSuccess Yes

LogWhy Yes

Mode sv

Canonicalization relaxed/simple

UserID opendkim:opendkim

Socket inet:8891@localhost

PidFile /var/run/opendkim/opendkim.pid

ExternalIgnoreList refile:/etc/opendkim/TrustedHosts

InternalHosts refile:/etc/opendkim/TrustedHosts

KeyTable refile:/etc/opendkim/KeyTable

SigningTable refile:/etc/opendkim/SigningTable

SignatureAlgorithm rsa-sha256

Додамо наш домен у довірені хости:

sudo nano /etc/opendkim/TrustedHosts

Додаємо домен, Сtrl+Х, Yes, Enter.

Потрібно вказати шлях до ключа:

sudo nano /etc/opendkim/KeyTable

mail._domainkey.hetmansoftware.com hetmansoftware.com:mail:/etc/opendkim/dkim.private

Сtrl+Х, Yes, Enter.

Шлях до підпису:

sudo nano /etc/opendkim/SigningTable

*@hetmansoftware.com mail._domainkey.hetmansoftware.com

Сtrl+Х, Yes, Enter.

Перезапускаємо сервіси:

sudo systemctl restart opendkim

sudo systemctl restart postfix

Отже, запис додали. Тепер, перевіримо його. Відкриваємо у браузері сервіс перевірки DKIM.

https://dmarcian.com/dkim-inspector/

Вводимо в поля домен та ім'я селектора. Сервіс знайшов мій запис DKIM.

Запис додано, для більш детального налаштування (додавання довірених хостів, доменів і т.д.) потрібно відкрити файл конфігурації та внести додаткові налаштування.

Тепер, іще раз перевіримо надсилання пошти:

/usr/sbin/sendmail dmitriyzh23@gmail.com

From: demo@hetmansoftware.com

Subject: test

Test send mail spf dkim dmarc

Ctrl+D

Лист дійшов, і цього разу не потрапив до спаму. Відправимо відповідь листа. Пошта працює.

Ми встановили та налаштували поштовий агент postfix та dovecot, перевірили роботу пошти та додали відповідні DNS записи. Для зручнішої роботи можна додати сервер зберігання MySql та поштовий клієнт, наприклад Roundcube.

Автор: , Технічний письменник

Автор, перекладач та технічний спеціаліст компанії Hetman Software. Має майже десятирічний досвід роботи в IT сфері, який охоплює різні галузі: від ПК з Windows та мобільних пристроїв, до фото та відео обладнання, сигналізацій та систем відеоспостереження, і т.д. Окрім іншого, є також спеціалістом по Android, Windows та Microsoft Office. Є експертом в області відновлення даних, файлових систем, пристроїв зберігання даних, RAID масивів.

Редактор: , Технічний письменник

Редактор статей блогу, автор та ведучий рубрики на YouTube каналі компанії Hetman Software. За освітою: спеціаліст з обслуговування комп’ютерних систем та мереж, вивчав розробку програмного забезпечення. Має досвід роботи в IT сфері, який охоплює різні галузі: адміністрування комп’ютерної мережі та обладнання, контроль та підтримка роботи Інтернет, офісних та спеціалізованих програм. Є фахівцем в області відновлення даних, файлових систем та пристроїв зберігання даних.

Рекомендуємо для вас