Почтовые протоколы

Иногда помимо проверки доступность портов, требуется проверить подключение к почтовому серверу через протокол stmp imap pop3.

    Общие сведения

    За доступ по сети к почтовому ящику пользователя на почтовом сервере, создание письма и его передачи клиенту MTA используя протокол smtp ( авторизаци ), отвечает программа пользовательский агент MUA (Mail User Agent). Почтовый агент не принимают сообщения, они только просматривают, считывают, анализируют почтовый ящик
    В ОС Linux для каждого пользователя предусмотрен локальный почтовый ящик
    Почтовый ящик linux пользователя обычно находится в директории /var/spool/mail/username
    Самый простой пользовательский агент для linux это программа mail


    Агент передачи сообщений - Mail Transfer Agent (MTA) - предназначен для передачи сообщений другим почтовым клиентам MTA используя протокол smtp. Получателем почтового клиента может быть как пользователь в пределах одной системы, так и удаленного сервера.


    MDA ( Mail Delivery Agent - агент доставки почты ) является компонентом программного обеспечения для компьютера, который отвечает за доставку сообщений электронной почтыв почтовый ящик локального получателя ( Из материала Википедия )


    MTA отправителя определяет MTA получателя с помощью MX или A записи dns.
    МTA получателя передает сообщение МDA(mail delivery agent) по протоколу smtp, который в свою очередь может быть установлен на одном сервере с MTA или быть отдельным сервером
    MDA кладет письмо в хранилище пользователя, MUA получателя извлекает письмо из хранилища с помощью протокола IMAP или POP3 или используя web-интерфейс
    Прежде чем письмо попадет к пользовательскому конечному MTA, оно может пройти через цепочку других MTA, каждый из которых будет определять путь к конечному MTA
    Самым простым агентом передачи сообщений для linux яляется программа sendmail, smail, qmail


    Postfix - агент передачи сообщений, который занимается пересылкой почтовых сообщений от пользовательского почтового агента MUA к удаленному почтовому серверу, принимает почтовые сообщения от удаленных почтовых серверов, пересылает их другим MTA или доставляет сообщения прямиком в почтовые ящики


    За доставку сообщений конечному удаленному пользователю отвечают другие MTA, например такие MTA как серверы POP3 или IMAP, будут передавать сообщения таким почтовым клиентам как Outlook, Apple Mail
    В целях безопасности, MTA также отвечают за анализ содержимого сообщений, межсетевые экраны на это не способны.

    SMTP

    SMTP - протокол передачи почты, для клиента MTA, для передачи использует адрес: ящик@домен
    SMTP использует следующие порты:
    25/tcp SMTP (стандартный порт)
    465/tcp SMTPS (защищенное соединение)
    587/tcp SMTP (starttls)

    POP3

    POP3 - пользовательский протокол для MUA, позволяет сетевому клиенту считывать почтовые сообщения из своего почтового ящика на почтовом сервере
    POP3 использует следующие порты:
    110/tcp POP3 (стандартный порт)
    995/tcp POP3S (SSL/TLS соединения)

    Протокол IMAP

    IMAP - пользовательский протокол для MUA, позволяет сетевому клиенту считывать почтовые сообщения из своего почтового ящика на почтовом сервере
    IMAP использует следующие порты:
    143/tcp IMAP (стандартный порт)
    993/tcp IMAPS (SSL/TLS соединения)

    PTR запись

    PTR запись нужна для отправки писем от имени домена. Принимающий сервер сверяет по ip адресу имя домена, которое было указано при отправке.
    Проверяется совпадение домена из PTR записи и домена, который значится в параметре HELO (EHLO) почтового сервера-отправителя.
    При необходимости в ptr записи нужно обратиться на свой хостинг и попросить прописать PTR запись для IP адреса.
    PTR запись прописывается для ip-адреса, если кроме домена есть поддомены и у них одинаковые ip, в таком случае ptr будет указывать на домен и поддомены.
    Проверка ptr записи по ip-адресу почтового сервера:

    nslookup -type=ptr 77.88.21.158 Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: 158.21.88.77.in-addr.arpa name = mail-smtp.stable.qloud-b.yandex.net. #Альтернативный вариант: dig -x 77.88.21.158
    MX запись

    Проверка MX записи почтового сервера:

    nslookup -type=mx yandex.ru
    Требования к почтовому серверу

    Перед настройкой почтового сервера необходимо убедиться в настройках самого Linux:
    1. Используется правильное имя хоста
    2. Хост доступен и может устанавливать соединения
    3. Правильная настройка системного времени
    4. Правильное разрешение доменных имен для клиента и сервера
    5. Используется правильное доменное имя ( mail.example.com ), многие почтовые клиенты проверяют наличие доменного имени и его разрешение

    Диагностика почтового сервера

    Проверка доступности удаленного почтового сервера:

    nmap -v -p25,110,143,465,587,993,995 mail.netbash.ru

    Прослушиваемые порты и процессы которые их используют, просмотр на локальной машине

    netstat -lnpvut

    Просмотр текущих соединений для прослушиваемых портов:

    netstat -anpvut

    Проверка имени хоста на локальной машине:

    hostname -f

    Проверка наличия записи mx для доменного имени почтового сервера:

    nslookup -type=mx megaplan.ru Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: megaplan.ru mail exchanger = 10 mx.yandex.ru.
    Проверка smtp с помощью telnet
    telnet 192.168.1.1 25 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. 220 mail.netbash.ru ESMTP Postfix HELO localhost.localdomain 250 mail.netbash.ru MAIL FROM:<> 250 2.1.0 Ok RCPT TO: 250 2.1.5 Ok DATA 354 End data with . FROM: root@localhost.localdomain TO: toly@mail.netbash.ru SUBJECT: test mail from test subject test body . 250 2.0.0 Ok: queued as EABD86E37B9 QUIT 221 2.0.0 Bye Connection closed by foreign host.

    Проверка IMAP с помощью telnet

    Проверка POP3 с помощью telnet

    Способы авторизации

    В зависимости от настроек почтового сервера некоторые команды telnet могут быть недоступны из зи отсутствия шифрования SSL/TLS
    Вывод существующих способов авторизации для SMTP протокола:

    telnet 192.168.1.1 25 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. 220 mail.netbash.ru ESMTP Postfix EHLO localhost.localdomain 250-mail.netbash.ru 250-PIPELINING 250-SIZE 10240000 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 CHUNKING quit 221 2.0.0 Bye Connection closed by foreign host.Вывод способов авторзации для протокола IMAP:

    telnet 192.168.1.1 143 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS LOGINDISABLED] IMAP server ready 001 CAPABILITY * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS LOGINDISABLED 001 OK Pre-login capabilities listed, post-login capabilities have more. LOGOUT * BYE Too many invalid IMAP commands. Connection closed by foreign host.

    Для вывода способов авторизации POP3 используются команды CAPA и AUTH:

    telnet 192.168.1.1 110 Trying 192.168.1.1... AUTH ... CAPA ... QUIT ...
    Пример авторизации для протокола SMTP

    В следующем примере видно, как запрос получает ошибку авторизации, связано это с отсутствием защищенного соединения TLS и SSL

    telnet smtp.yandex.ru 25 Trying 77.88.21.158... Connected to smtp.yandex.ru. Escape character is '^]'. 220 iva1-5283d83ef885.qloud-c.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru) 1670190201-LhdXA1jZgW21 EHLO client.server.net 250-iva1-5283d83ef885.qloud-c.yandex.net 250-8BITMIME 250-PIPELINING 250-SIZE 53477376 250-STARTTLS 250-AUTH LOGIN PLAIN XOAUTH2 250-DSN 250 ENHANCEDSTATUSCODES AUTH LOGIN 530 5.7.7 Email sending without SSL/TLS encryption is not allowed. Please see: https://yandex.ru/support/mail/mail-clients/ssl.html 1670190232-LhdXA1jZgW21 Connection closed by foreign host.

    Чтобы обеспечить защищенную передачу ваших данных, Яндекс Почта использует шифрование этих данных с помощью протоколов SSL и TLS. Если в настройках вашей почтовой программы не активировано шифрование передаваемых данных, то вы не сможете получать и отправлять письма с помощью этой программы.
    Источник: yandex.ru

    Авторизация IMAP

    Проверка наличия шифрования SSL/TLS


    Источник1: Статья на habr
    Последнее изменение: 07.10.2024 15:23


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ