База знань Проста інструкція по роботі з сервісом Профітсервер
головний База знань Як перевірити поштовий сервер

Як перевірити поштовий сервер


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

У цій статті будуть розглянуті як зовнішні сервіси, що допомагають перевірити роботу поштового сервера збоку, так і внутрішні інструменти, що дозволяють запускати діагностику безпосередньо на сервері. Всі дії, як приклад, будуть виконуватися на приватному сервері під управлінням ОС Ubuntu 20.04.6 з налаштованим рішенням у вигляді Postfix та Dovecot, проте представлені методи застосовні практично до будь-якої операційної системи та поштових клієнтів.

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

Перший і найважливіший крок – перевірка за допомогою зовнішніх онлайн-сервісів. Таким чином ви можете перевірити поштовий сервер на наявність уражень, параметри SPF, DKIM і DMARC, а також перевірити репутацію IP-адрес, з яких надсилається електронна пошта. У більшості випадків використання лише цих засобів може призвести до бажаних результатів.

Розглянемо докладніше основні сервіси верифікації та їх функціонал:

MxToolBox дозволяє нам перевірити майже всі доступні параметри поштових серверів. Сервіс надає інструменти для перевірки всіх записів доменів, загальної доступності доменів, перевірки SSL-сертифікатів, стану IP-адрес та багато іншого. Для діагностики потрібно перейти на сторінку сервісу , ввести IP-адресу або домен, вибрати потрібний інструмент та запустити перевірку.

Детальний список усіх доступних інструментів наведено на скріншоті:

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

Як видно вище, веб-сайт також перевіряє наявність IP/домену в чорних списках. Перевірені всі основні джерела: Spamhaus, Barracuda, SURBL та багато інших. Якщо адреса є в будь-якій базі, сервіс надасть інформацію про причини потрапляння в чорний список. Таким чином, ви зможете вжити заходів для вирішення проблеми.

MailTester – другий за популярністю інструмент для перевірки поштових серверів. Цей сервіс дозволяє користувачам надіслати тестовий електронний лист на унікальну адресу, а потім отримати детальний звіт про якість надісланого повідомлення. На відміну від MxToolBox, цей ресурс більше орієнтований не на діагностику поштового сервера, а на можливе покращення електронної пошти. Однак це не означає, що сервіс не здатний провести повний аналіз сервера відправника. Він тестує доставку пошти, проводить дослідження та надає рекомендації щодо покращення поштового сервісу в цілому.

Для завершення перевірки достатньо зайти на веб-сайт ресурсу та отримати унікальну адресу електронної пошти, на яку потрібно надіслати листа. Після відправлення необхідно вибрати «перевірити оцінку» та дочекатися оновлення сторінки. Гарний результат виглядає ось так:

Хороший результат перевірки поштового сервера

У разі виникнення проблем або рекомендацій сервіс повідомить про це у відповідному розділі звіту.

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

Перевірка налаштувань поштового сервера

Перевірка записів DNS

Одна з найпоширеніших проблем на стороні поштового сервера – це неправильне налаштування DNS-записів. Ви можете перевірити їх правильність за допомогою вищезгаданих сторонніх сервісів. Однак у деяких випадках електронний лист може просто не бути доставлений на сторонню поштову скриньку. У такому випадку слід вручну перевірити всі записи. Для цього перейдіть до редактора DNS та запустіть перевірку. Як приклад, візьмемо наступне як вихідні дані: домен profit.com, IP-адреса 11.22.33.44, де @ може використовуватися як доменне ім'я, якщо реєстратор не дозволяє заповнювати цю форму. Не забудьте змінити значення на свої. Не забудьте змінити значення на свої.

Записи A визначають IP-адреси поштових серверів. Простіше кажучи, вони спрямовують домен на адресу поштового сервера. Це має виглядати так:

типГосподарзначенняTTL
A@11.22.33.441 хв

Записи MX є найважливішими для поштового сервера, вони відповідають за маршрут доставки пошти. Іншими словами, вони спрямовують пошту до поштової скриньки.

типГосподарзначенняTTL
MX@mail.profit.com1 хв

SPF-записи вказують на сервери, які можуть надсилати електронні листи з певного домену . Зверніть увагу: вони публікуються як TXT. Вказано лише одне з можливих значень.

типГосподарзначенняTTL
TXT@ v=spf1 ip4:11.22.33.44 -all1 хв

Запис DKIM використовується для перевірки автентичності електронної пошти. Повинен містити згенерований відкритий ключ. Аналогічно, вказується лише один із варіантів значень.

типГосподарзначенняTTL
TXTs1._domainkey.profit.comv=DKIM1; k=rsa; p=QWIOJNDSLUB…1 хв

Запис DMARC – це наступний і останній етап захисту. Він застосовується до електронних листів, які не пройшли перевірки SPF та DKIM.

типГосподарзначенняTTL
TXT_dmarc.profit.comv=DMARC1; p=немає; відсоток=100; rua=mailto:[захищено електронною поштою]1 хв

Також одним із найважливіших записів для поштового сервера є запис PTR . Можна сказати, що він працює обернено до запису A , тобто пов'язує IP-адресу з доменом. Цей тип запису можна додати лише через запит до технічної підтримки хостинг-провайдера, а перевірити його можна командою: nslookup IP , де IP – це адреса вашого сервера. У відповіді має бути відображено пов'язаний домен.

Перевірка портів

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

Перевірити відкриті порти можна за допомогою попередньо встановленої утиліти netstat . Достатньо ввести команду:

netstat – nat

Після встановлення та налаштування сервера SMTP/IMAP/POP3 ми побачимо відповідні відкриті порти:

Перевірка портів поштового сервера

Як видно на скріншоті, основні порти поштового клієнта відкриті, а саме: SMTP (25) / IMAPS (143, 993) / POP3S (110, 995). Ви також можете перевірити поштовий сервіс на кожному порту окремо. У цьому вам допоможе інструмент telnet . Розглянемо приклад POP3, тобто порт 110:

telnet mail.yourdomain.com 110
Тестування портів поштового сервера за допомогою утиліти telnet

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

У разі виникнення труднощів з відкриттям портів потрібно звернути увагу на встановлений брандмауер. Більшість дистрибутивів постачаються з попередньо встановленим Iptables/Firewalld .

Для iptables ми використовуємо такі команди:

iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -j ACCEPT

Для брандмауера:

firewall-cmd --permanent --add-port=25/tcp
firewall-cmd --permanent --add-port=110/tcp
firewall-cmd --permanent --add-port=995/tcp
firewall-cmd --permanent --add-port=143/tcp
firewall-cmd --permanent --add-port=993/tcp

У деяких випадках для коректної роботи служби SMTP також потрібне відкриття портів 465 та 587. Відкриття цих портів відбувається таким самим чином. Перезапустіть службу брандмауера після додавання нових правил.

Перевірка SSL/TLS сертифікатів поштового сервера

Сертифікати SSL/TLS використовуються на поштовому сервері для забезпечення безпечної передачі даних між поштовим клієнтом і сервером, а також підтверджують автентичність самого поштового сервера відправника, усуваючи можливість атак типу "людина посередині". Однак вони також можуть спричинити проблеми з надсиланням або отриманням листів. Для запуску діагностики необхідно з'ясувати, чи встановлені сертифікати на стороні сервера. Перевіримо наявність сертифіката такою командою:

openssl s_client -showcerts -server mail.profit.com -connect IP:port

У цій команді потрібно замінити значення на свої власні: " mail.profit.com " – адреса поштового сервера; IP:port – дані сервера. Для прикладу перевіримо порт 993 , який належить до протоколу IMAP . Інші протоколи перевіряються таким самим чином.

У відповідь сервер повинен надіслати дані сертифіката:

Перевірка дійсного сертифіката поштового сервера

Більшість поштових клієнтів встановлюють сертифікати автоматично. Однак у деяких випадках необхідно вручну випускати та додавати їх до конкретного клієнта. Різні платформи можуть вимагати індивідуального встановлення та налаштування, тому ми рекомендуємо вам звернутися до інструкцій для конкретного рішення. Ми рекомендуємо використовувати Let's Encrypt як сертифікат, а Certbot – як допоміжний інструмент для його встановлення та налаштування.

Перевірка журналів

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

  1. Дата і час відправлення та отримання листів.
  2. Адреса відправника та одержувача.
  3. Фільтрація результатів на спам і віруси.
  4. Стан черги на відправлення та отримання листів.
  5. Дії адміністраторів і користувачів, пов'язані з поштовим сервером (наприклад, створення, видалення поштових скриньок, зміна налаштувань).
  6. Помилки та проблеми, що виникли під час обробки та доставки електронних листів.

Стандартний каталог, у якому зберігаються журнали більшості команд, розташований за адресою: / var/log/. Залежно від використовуваного рішення, назва конкретного файлу журналу може відрізнятися. Наприклад, файл mail.log знаходиться в тому ж каталозі, що й Postfix. Ми не рекомендуємо вам нехтувати цим методом діагностики та використовувати журнали, щойно з'являться перші ознаки поганої роботи поштового клієнта. Будь ласка, ознайомтеся з нашим посібником щодо читання журналів Linux.

Розуміння того, як перевірити поштовий сервер

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

❮ Попередня стаття Перевірка ресурсів сервера
Наступна стаття ❯ Коди помилок HTTP: повний список помилок сервера

Запитайте нас про VPS

Ми завжди готові відповісти на ваші запитання в будь-який час дня і ночі.