Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Вконтакте
  • В чем заключается функция протокола smtp. Самое интересное про SMTP, POP3 и IMAP

В чем заключается функция протокола smtp. Самое интересное про SMTP, POP3 и IMAP

SMTP реализуется в современных сетях стандарта TCP/IP. Впервые информация об использовании протокола появилась еще в 1982 г. Несмотря на то, что сервер SMTP может быть использован и для получения сообщений, на сегодняшний день большинство почтовых клиентов используют его только для отправки, предпочитая другие технологии (например, POP или IMAP) для приема информации. Протокол является одним из наиболее популярных и используется подавляющим числом почтовых программ и серверов.

Функция SMTP заключается в проверке правильности указания настроек и параметров для отправки письма. По данному протоколу проходит верификация настроек компьютера пользователя, пытающегося отправить сообщения, а затем производится доставка, если все настройки были выполнены правильно. После этого работа SMTP не заканчивается и сервер дожидается сообщения об успешной доставке данных. Если сообщение по каким-то причинам не может быть доставлено, отправляется соответствующее сообщение отправителю.

Настройка SMTP

Настройка SMTP заключается в установке нужного программного обеспечения и определения адреса сервера, используемого для отправки. Для отправки со стороны пользователя требуется установить программу-клиент, которая умеет передавать письма и связываться с сервером SMTP по протоколу TCP/IP. После этого программа запускается и настраивается на работу с сервисом отправки и получения почты путем указания нужных настроек. Затем пользователь пытается отправить сообщение. Если настройка осуществлена верно, письмо будет доставлено адресату.

Большинство современных сервисов электронной почты уже имеют настроенные серверы для отправки сообщений. Если вы не пользуетесь сторонним программным обеспечением для отправки писем, вы сможете отправить письмо без произведения дополнительных настроек на сайте сервиса, где у вас зарегистрирован аккаунт.

Современные администраторы SMTP-серверов требуют от пользователей прохождения аутентификации перед тем, как они смогут отправить свое сообщение. Пользователю необходимо сначала указать свой логин и пароль на сервере, а лишь затем перейти к отправке. Данная защита используется для блокирования возможности рассылки спама, использующего простые SMTP-протоколы. Ранее же для идентификации в протоколе SMTP использовался уникальный IP-адрес отправителя.

В этой статье рассмотрены наиболее часто используемые протоколы электронной почты в Интернете - POP3, IMAP и SMTP. Каждый из них имеет определенную функцию и способ работы. В содержании статьи разъясняется, какая конфигурация лучше всего подходит для конкретных потребностей пользователя при использовании e-mail-клиента. А также раскрывается ответ на вопрос о том, какой протокол поддерживает электронную почту e-mail.

Что такое POP3?

Протокол третьей версии (POP3) — это стандартный почтовый протокол, используемый для приема электронной почты с удаленного сервера на локальный почтовый клиент. Позволяет загружать сообщения на ваш локальный компьютер и читать их, даже если пользователь находится в автономном режиме. Обратите внимание, что при использовании протокола POP3 для подключения к вашей учетной записи сообщения загружаются локально и удаляются с сервера электронной почты.

По умолчанию протокол POP3 работает на двух портах:

    порт 110 — это незашифрованный порт POP3;

    порт 995 — его нужно использовать, если вы хотите безопасно подключиться к POP3.

Что такое IMAP?

Протокол доступа к интернет-сообщениям (IMAP) — это протокол получения сообщений электронной почты, используемый для доступа к ней на удаленном веб-сервере от локального клиента. IMAP и POP3 являются двумя наиболее часто используемыми протоколами для получения писем и поддерживаются всеми современными почтовыми клиентами и веб-серверами.

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

Протокол IMAP работает на двух портах:

    порт 143 - это незашифрованный порт IMAP по умолчанию;

    порт 993 - его необходимо использовать, если вы хотите безопасно подключиться с помощью IMAP.

Что такое SMTP?

Протокол - это стандартный протокол для отправки электронной почты через Интернет.

SMTP работает в трех портах:

    порт 25 — это незашифрованный по умолчанию;

    порт 2525 — он открывается на всех серверах SiteGround, если порт 25 фильтруется (например, вашим интернет-провайдером), и вы хотите отправлять незашифрованные электронные письма с помощью SMTP;

    порт 465 — он используется, если вы хотите безопасно отправлять сообщения с помощью SMTP.

По каким протоколам происходит обмен электронной почтой? Понятия и термины

Термин «сервер электронной почты» относится к двум серверам, необходимым для отправки и получения писем, то есть к SMTP и POP.

Сервер входящей почты — это сервер, связанный с вашей учетной записью адреса электронной почты. Для нее не может быть более одного входящего почтового сервера. Для доступа к входящим сообщениям необходим почтовый клиент — программа, которая может получать электронную почту из учетной записи, позволяя пользователю читать, пересылать, удалять и отвечать на сообщения. В зависимости от вашего сервера, вы можете использовать выделенный почтовый клиент (например, Outlook Express) или веб-браузер. Так, Internet Explorer применяют для доступа к учетным записям на основе электронной почты. Письма хранятся на сервере входящей почты до его загрузки. После того, как вы загрузили свою почту с почтового сервера, сделать повторно это будет нельзя. Чтобы успешно загрузить данные, необходимо ввести правильные настройки в электронной почтовой программе. Большинство входящих почтовых серверов используют один из следующих протоколов: IMAP, POP3, HTTP.

Исходящий почтовый сервер (SMTP)

Это сервер, используемый только для отправки писем (для переноса их из вашей почтовой клиентской программы в приемник). Большинство исходящих почтовых серверов используют Protocol) для отправки корреспонденции. В зависимости от ваших сетевых параметров сервер исходящей почты может принадлежать вашему интернет-провайдеру или серверу, на котором вы настраиваете свою учетную запись. В качестве альтернативы вы можете использовать SMTP-сервер на основе подписки, который позволит вам отправлять электронные письма с любой учетной записи. Из-за проблем со спамом большинство исходящих почтовых серверов не позволяют отправлять электронные письма, если вы не вошли в свою сеть. Сервер с открытым ретранслятором позволит вам использовать его для отправки электронных писем, независимо от того, принадлежите ли вы к его сетевой группе или нет.

Порты электронной почты

Для сетей порт означает конечную точку логического соединения. Номер порта определяет его тип. Ниже перечислены порты электронной почты по умолчанию:

    POP3 - порт 110;

    IMAP - порт 143;

    SMTP - порт 25;

    HTTP - порт 80;

    безопасный SMTP (SSMTP) - порт 465;

    безопасный IMAP (IMAP4-SSL) - порт 585;

    IMAP4 через SSL (IMAPS) - порт 993;

    Secure POP3 (SSL-POP) - порт 995.

Протоколы электронной почты: IMAP, POP3, SMTP и HTTP

В основном протокол относится к стандартному методу, используемому на каждом конце канала связи. Чтобы иметь дело с электронной почтой, вы должны использовать специальный клиент для доступа к почтовому серверу. В свою очередь, они могут обмениваться информацией друг с другом, используя при этом совершенно различные протоколы.

Протокол IMAP

IMAP (протокол доступа к интернет-сообщениям) - стандартный протокол для доступа к электронной почте с вашего локального сервера. IMAP - это протокол типа «клиент/сервер», в котором электронная почта получена, и данные сохраняются вашим интернет-сервером. Поскольку для этого требуется только небольшая передача данных, он хорошо работает даже при медленном соединении, например, при подключении с помощью модема. При попытке прочитать конкретное сообщение электронной почты клиент загружает данные с сервера. Вы также можете создавать и управлять папками или почтовыми ящиками на сервере, удалять сообщения.

Протокол POP3

Протокол передачи электронной почты POP (Post Office Protocol 3) обеспечивает простой, стандартизированный способ доступа пользователей к почтовым ящикам и загрузки сообщений на их компьютеры.

При использовании протокола POP все ваши сообщения электронной почты будут загружены с почтового сервера на локальный компьютер. Вы также можете оставить копии своих электронных писем на сервере. Преимущество заключается в том, что после загрузки ваших сообщений вы можете отключить интернет-соединение и прочитать свой e-mail на досуге, не прибегая к дополнительным расходам на связь. С другой стороны, с помощью этого протокола вы получаете и загружаете много нежелательных сообщений (включая спам или вирусы).

Протокол SMTP

Протокол используется агентом передачи почты (MTA) для доставки электронных сообщений на определенный сервер получателя. SMTP можно использовать только для отправки электронных писем, а не для их получения. В зависимости от настроек вашей сети или интернет-провайдера вы можете использовать SMTP-протокол только в определенных условиях.

Протоколы HTTP

HTTP не является протоколом, предназначенным для связи по электронной почте, но его можно использовать для доступа к вашему почтовому ящику. Его также нередко называют веб-электронной почтой. Он может использоваться для составления или получения электронных писем из вашей учетной записи. Hotmail - хороший пример использования HTTP в качестве протокола электронной почты.

Управляемые передачи файлов и сетевые решения

Ваша способность отправлять и получать электронную почту в основном обусловлена ​тремя протоколами TCP. Ими являются SMTP, IMAP и POP3.

SMTP

Начнем с SMTP, потому что его основная функция отличается от двух других. Протокол SMTP, или Simple Mail Transfer Protocol, в основном используется для отправки электронной почты от почтового клиента (например, Microsoft Outlook, Thunderbird или Apple Mail) на сервер электронной почты. Он также используется для ретрансляции или пересылки почтовых сообщений с одного почтового сервера на другой. Это необходимо в случае, если у отправителя и получателя есть разные поставщики услуг электронной почты.

SMTP, который указан в RFC 5321, использует порт 25 по умолчанию. Он также может использовать порт 587 и порт 465. Последний, который был представлен как порт выбора для безопасного SMTP (a.k.a. SMTPS), считается устаревшим. Но на самом деле он по-прежнему используется несколькими поставщиками почтовых услуг.

POP3

Протокол почтового отделения, или POP, используется для извлечения сообщений электронной почты с Последняя версия, которая широко используется, - это версия 3, отсюда и термин «POP3».

POP, версия 3, указанная в RFC 1939, поддерживает расширения и несколько механизмов аутентификации. Функции проверки подлинности необходимы, чтобы злоумышленники не получали доступ к сообщениям пользователей.

Клиент POP3 получает электронную почту следующим образом:

    подключается к почтовому серверу на порту 110 (или 995 для соединений SSL/TLS);

    удаляет копии сообщений, хранящихся на сервере;

    отключается от сервера.

    Хотя клиенты POP могут быть настроены так, чтобы сервер мог продолжать хранить копии загруженных сообщений, описанные выше шаги являются обычной практикой.

    IMAP

    IMAP, особенно текущая версия (IMAP4), является более сложным протоколом. Это позволяет пользователям группировать связанные сообщения и размещать их в папках, которые, в свою очередь, могут быть организованы иерархически. Он также оснащен флагами сообщений, которые указывают, было ли сообщение прочитано, удалено или получено. Он даже позволяет пользователям выполнять поиск по почтовым ящикам сервера.

    Логика работы (настройки imap4):

    • подключается к почтовому серверу через порт 143 (или 993 для соединений SSL / TLS);

      извлекает сообщения электронной почты;

      служит для подключения до закрытия приложения почтового клиента и загрузки сообщений по требованию.

    Обратите внимание, что сообщения не удаляются на сервере. Это может иметь серьезные последствия. Спецификации IMAP можно найти в RFC 3501.

    Выбор между IMAP и POP3

    Поскольку основная функция SMTP принципиально отлична, дилемма выбора лучшего протокола обычно включает только IMAP и POP3.

    Если для вас важно место для хранения на сервере, то выбирайте POP3. Сервер с ограниченным объемом памяти является одним из основных факторов, которые могут заставить вас поддержать POP3. Поскольку IMAP оставляет сообщения на сервере, он может потреблять пространство памяти быстрее, чем POP3.

    Если вы хотите получить доступ к почте в любое время, то лучше остановиться на IMAP. Есть одна веская причина, по которой IMAP был предназначен для хранения сообщений на сервере. Он используется для поиска сообщений с нескольких устройств — иногда даже одновременно. Поэтому если у вас есть iPhone, планшет Android, ноутбук и рабочий стол и вы хотите читать электронную почту с любого или всех этих устройств, то IMAP будет лучшим выбором.

    Синхронизация - еще одно преимущество IMAP. Если вы получаете доступ к сообщениям электронной почты с нескольких устройств, скорее всего, захотите, чтобы все они отображали любые действия, которые вы выполняли.

    Например, если вы читаете сообщения A, B и C, то хотите, чтобы они также были помечены как «прочитанные» на других устройствах. Если вы удалили письма B и C, то захотите, чтобы те же сообщения удалялись из вашего почтового ящика на всех гаджетах. Все эти синхронизации могут быть достигнуты только в том случае, если вы используете IMAP.

    Поскольку IMAP позволяет пользователям упорядочивать сообщения в иерархическом порядке и размещать их в папках, это помогает пользователям лучше организовывать свою корреспонденцию.

    Разумеется, все функциональные возможности IMAP имеют свою цену. Эти решения сложнее реализовать, и в конечном итоге протокол потребляет намного больше ЦП и ОЗУ, особенно когда он выполняет процесс синхронизации. Фактически высокая загрузка процессора и памяти может произойти как на стороне клиента, так и на стороне сервера, если есть тонна сообщений для синхронизации. С этой точки зрения протокол POP3 менее затратен, хотя и менее функционален.

    Конфиденциальность также является одной из проблем, которая будет сильно зависеть от конечных пользователей. Они, как правило, предпочли бы загружать все сообщения электронной почты и не оставлять их копии на неизвестном сервере.

    Скорость — преимущество, которое варьируется и зависит от ситуации. POP3 имеет возможность загружать все почтовые сообщения при подключении. А IMAP может при необходимости (например, при недостаточном количестве трафика) загружать только заголовки сообщений или определенные части и оставлять вложения на сервере. Только когда пользователь решит, что оставшиеся части стоят загрузки, они станут доступны для него. Поэтому IMAP можно считать более быстрым.

    Однако если все сообщения на сервере должны загружаться каждый раз, то POP3 будет работать гораздо быстрее.

    Как вы можете увидеть, каждый из описываемых протоколов имеет свои преимущества и недостатки. Вам решать, какие функции или возможности важнее.

    Также желаемый способ доступа к e-mail-клиенту определяет предпочтительность протокола. Пользователи, работающие только с одной машины и использующие веб-почту для доступа к своим новым электронным письмам, оценят POP3.

    Однако пользователи, которые обмениваются почтовыми ящиками или получают доступ к своим электронным письмам с разных компьютеров, предпочтут IMAP.

    Спам-брандмауэры с SMTP, IMAP и POP3

    Большинство брандмауэров для спама имеют дело только с протоколом SMTP и защищают его. Серверы отправляют и получают электронную почту SMTP, и они будут проверяться спамом-брандмауэром на шлюзе. Однако некоторые брандмауэры для спама дают возможность защищать POP3 и IMAP4, когда внешним пользователям нужны эти службы для доступа к их электронной почте.

    Брандмауэры SMTP прозрачны для конечных пользователей; для клиентов нет изменений конфигурации. Пользователи по-прежнему получают и отправляют почтовые сообщения на сервер электронной почты. Так, Exchange или Dominos должны настраивать маршрутизацию сообщений на брандмауэр на основе прокси-сервера при отправке электронной почты, а также обеспечивать возможность отправки писем с брандмауэра.

Это простой протокол передачи почты. С английского языка переводится, как Simple Mail Transfer Protocol . Исходя из названия, можно сделать вывод, что SMTP сервер отвечает за отправку почтовых рассылок. Его задача, как правило, состоит из двух основных функций:

  • проверка правильности настроек и выдача разрешения компьютеру, который пытается отправить электронное сообщение;
  • отправка исходящего сообщения на указанный адрес и подтверждение успешной отправки сообщения. Если доставка невозможна, сервер возвращает отправителю ответ с ошибкой отправки

Отправляя email сообщения, SMTP-сервер отправителя устанавливает связь с тем сервером, который будет получать это сообщение. Такое "общение" происходит путем отправки и получения команд, формируя SMTP-сессию с неограниченным количеством SMTP-операций. Обязательными командами для каждой операции являются три:

  • определение обратного адреса (MAILFROM)
  • определение получателя email сообщения (RCPT TO)
  • отправка текста сообщения (DATA)

Определение адреса отправителя, получателя и наличие содержимого письма – это обязательные условия, без которых письмо не будет отправлено, даже по обычной, знакомой нам "бумажной" почте. Что уже говорить про электронную.


Вкратце о пользе SMTP сервера

  • Как уже упоминалось, основным предназначением SMTP сервера является отправка и контроль исходящей почты. Качественный SMTP сервер способен быстро отправлять большой объем email сообщений , уклоняясь от ограничений провайдера.
  • В случае если вы используете внешний SMTP сервер, то безопасность email сообщений и процент их доставки в папку "входящие" значительноповышается.
    Где же найти этот внешний SMTP сервер? Детальнее об этом вопросе .
  • Электронная почта может проходить несколько SMTP серверов, прежде чем попадет в почтовый ящик получателя. Так как существует риск спам-атак, провайдеры зачастую пресекают отправку электронной почты без использования SMTP сервера. Поэтому пользователи порой имеют проблемы с рассылками писем.
    Решением может выступить установка/интеграция отдельного внешнего SMTP сервера, который к тому же будет фильтровать сообщения исходящей почты на спам и вирусы .
  • Повышение безопасности рассылок достигается так же и авторизацией пользователя , который использует SMTP сервер: задав индивидуальный логин и пароль для подключения к серверу.
  • И, что важно, интеграция SMTP сервера происходит без установки дополнительного программного обеспечения или других особых требований. Вы просто прописываете основные параметры SMTP сервера в настройках вашего почтового клиента, и можете приступать к массовым email рассылкам.

Если вы планируете заниматься легальным email маркетингом, задумайтесь об использовании внешнего SMTP-сервера для безопасности и скорости рассылки своих массовых email кампаний.

4085/2, Сорокин Д. С. Почтовые протоколы.Методы борьбы со спамом

SMTP

SMTP (англ. Simple Mail Transfer Protocol - простой протокол передачи почты) - это широко используемый сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

SMTP-транзакции

SMTP - требующий соединения текстовый протокол, по которому отправитель сообщения связывается с получателем посредством выдачи командных строк и получения необходимых данных через надёжный канал, в роли которого обычно выступает TCP-соединение (Transmission Control Protocol - протокол управления передачей). SMTP-сессия состоит из команд, посылаемых SMTP-клиентом, и соответствующих ответов SMTP-сервера. Когда сессия открыта, сервер и клиент обмениваются её параметрами. Сессия может включать нуль и более SMTP-операций (транзакций).

SMTP команды

SMTP-операция состоит из трёх последовательностей команда/ответ:

MAIL FROM - устанавливает обратный адрес (т. е. Return-Path, 53121.From, mfrom). Это адрес для возвращённых писем.

RCPT TO - устанавливает получателя данного сообщения. Эта команда может быть дана несколько раз, по одному на каждого получателя. Эти адреса также являются частью оболочки.

DATA - для отправки текста сообщения. Это само содержимое письма, в противоположность его оболочке. Он состоит из заголовка сообщения и тела сообщения, разделенных пустой строкой. DATA, по сути, является группой команд, а сервер отвечает дважды: первый раз на саму команду DATA, для уведомления о

готовности принять текст; и второй раз после конца последовательности данных, чтобы принять или отклонить всё письмо.

Помимо промежуточных ответов для DATA-команды, каждый ответ сервера может быть положительным (код ответа 2хх) или отрицательным. Последний, в свою очередь, может быть постоянным (код 5хх) либо временным (код 4хх). Отказ SMTP-сервера в передаче сообщения - постоянная ошибка; в этом случае клиент должен отправить возвращённое письмо. После сброса - положительного ответа, сообщение скорее всего будет отвержено. Также сервер может сообщить о том, что ожидаются дополнительные данные от клиента (код 3xx).

Изначальным хостом (SMTP-клиентом) может быть как почтовый клиент конечного пользователя (функционально определяемый как почтовый агент - MUA), так и агент пересылки сообщений (MTA) на сервере, т.е. сервер действует как клиент в соответствующей сессии для ретрансляции сообщения. Полностью функциональные сервера поддерживают очереди сообщений для повторной передачи сообщения в случае ошибок.

MUA знает SMTP-сервер для исходящей почты из своих настроек. SMTP-сервер, действующий как клиент, т. е. пересылающий сообщения, определяет, к какому серверу подключиться, просмотром ресурса записей MX (Mail eXchange) DNS для домена каждого получателя. В случае, если запись MX не найдена, совместимые MTA (не все) возвращаются к простой А-записи. Пересылающие сервера также могут быть настроены на использование Smart host.

SMTP-сервер, действующий как клиент, устанавливает TCP-соединение с сервером по разработанному для SMTP порту 25. MUA должен использовать порт 587 для подключения к

агенту предоставления сообщений (MSA). Основное различие между MTA и MSA заключается в том, что SMTP-аутентификация обязательно только для последнего.

SMTPS

SMTPS относится к методам защиты SMTP на транспортном уровне. Он предназначен для обеспечения аутентификации сторон, целостности и конфиденциальности данных. SMTPS не является проприетарным протоколом или расширением SMTP, это всего лишь способ обезопасить SMTP на транспортном уровне.

Клиент и сервер используют обычный SMTP на уровне приложений, но соединение защищено SSL или TLS. Это происходит после установления соединения перед отправкой любых почтовых данных.

SMTPS использует 465 порт.

POP3 (англ. Post Office Protocol Version 3 - протокол почтового отделения, версия 3) - стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера по TCP/IP-соединению. POP и IMAP (Internet Message Access Protocol) - наиболее распространенные Интернет-протоколы для извлечения почты. Практически все современные клиенты и сервера электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.

POP поддерживает простые требования «загрузи-и-удали» для доступа к удаленным почтовым ящикам. Хотя большая часть POP-клиентов предоставляют возможность оставить почту на сервере после загрузки, использующие POP клиенты обычно соединяются, извлекают все письма, сохраняют их на пользовательском компьютере как новые сообщения, удаляют их с сервера, после чего разъединяются.

POP3-сервер прослушивает общеизвестный порт 110. Шифрование связи для POP3 запрашивается после запуска протокола, с помощью либо команды STLS (если она поддерживается), либо POP3S, которая соединяется с сервером используя TLS или SSL по TCP-порту 995.

POP3 команды

Аргументы

Ограничения

Возможные ответы

Её поддержка не является

* +OK maildrop has n message

[имя]

* -ERR password suplied for

обязательной

[имя] is incorrect

* +OK name is a valid mailbox

* -ERR never heard of mailbox

* +OK maildrop locked and

Работает после успешной передачи

* -ERR invalid password

имени почтового ящика

* -ERR unable to lock

[сообщение]

Доступна после успешной

* +OK message deleted

идентификации

* -ERR no such message

[сообщение]

Доступна после успешной

* +OK scan listing follows

идентификации

* -ERR no such message

Доступна после успешной

идентификации

[сообщение]

Доступна после успешной

* +OK message follows

идентификации

* -ERR no such message

Доступна после успешной

идентификации

Доступна после успешной

идентификации

[сообщение]

Доступна после успешной

[количество

идентификации

* -ERR no such message

IMAP

Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP. IMAP (англ. Internet Message Access Protocol) - протокол прикладного уровня для доступа к электронной почте.

Базируется на транспортном протоколе TCP и использует порт 143.

POP3 имеет ряд недостатков, и наиболее серьёзный из них - отсутствие возможностей по управлению перемещением и хранением сообщений на сервере. Сообщения, как правило, загружаются с почтового сервера все сразу, после чего они с сервера удаляются, то есть отсутствует возможность выбирать сообщения для получения.

Для решения проблем, связанных с этой особенностью POP3, в Вашингтонском университете был разработан новый протокол, предполагающий возможность получения пользователями электронной почты из одного почтового ящика из различных мест, при этом сообщения не распределяются между точками получения. Пользователю предоставляется возможность управлять сообщениями в его почтовом ящике и дополнительными функциями по обслуживанию почтовых ящиков на сервере.

Преимущества IMAP

При использовании POP3 клиент подключается к серверу только на промежуток времени, необходимый для загрузки новых сообщений. При использовании IMAP соединение не разрывается, пока пользовательский интерфейс активен, а сообщения загружаются только по требованию клиента. Это позволяет уменьшить время отклика для пользователей, в чьих ящиках имеется много сообщений большого объёма.

Протокол POP требует, чтоб текущий клиент был единственным подключенным к ящику. IMAP позволяет одновременный доступ нескольких клиентов к ящику и предоставляет клиенту возможность отслеживать изменения, вносимые другими клиентами, подключенными одновременно с ним.

Благодаря системе флагов, определенной в IMAP4, клиент может отслеживать состояние сообщения (прочитано, отправлен ответ, удалено и т. д.); данные о флагах хранятся на сервере.

Клиенты IMAP4 могут создавать, переименовывать и удалять ящики и перемещать сообщения между ящиками. Кроме того, можно использовать расширение IMAP4 Access Control List (ACL) Extension (RFC 4314) для управления правами доступа к ящикам.

Поиск сообщений происходит на стороне сервера. IMAP4 имеет явный механизм расширения.

Методы борьбы со спамом

Современная спам-рассылка распространяется в сотнях тысяч экземпляров всего за несколько десятков минут. Чаще всего спам идет через зараженные вредоносными программами пользовательские компьютеры - зомби-сети. Что можно противопоставить этому натиску? Современная индустрия IT-безопасности предлагает множество решений, и в арсенале антиспамеров есть различные технологии. Однако ни одна из существующих технологий не является магической «серебряной пулей» против спама. Универсального решения просто не существует. Большинство современных продуктов используют несколько технологий, иначе эффективность продукта будет не высока.

DNSBL

DNSBL - DNS blacklist или DNS blocklist - списки хостов, хранимые с использованием системы архитектуры DNS. Обычно используются для борьбы со спамом. Почтовый сервер обращается к DNSBL, и проверяет в нём наличие IP-адреса клиента, с которого он принимает сообщение. При положительном ответе считается, что происходит попытка приёмаспам-сообщения. Серверу отправителя сообщается ошибка 5xx (неустранимая ошибка) и сообщение не принимается. Почтовый сервер отправителя создаёт «отказную квитанцию» отправителю о недоставке почты.

Существует 2 метода использования данной технологии.

1. Однозначная блокировка - отклонение сообщений, которые пришли с IP адреса находящегося в DNSBL

2. Взвешенный подход. При таком подходе сообщение, пришедшее с IP адреса

находящегося в DNSBL, не блокируется, но этот факт учитывается при классификации «спамности» письма.

При использовании первого подхода все письма с IP адресов, попавших в DNSBL однозначно отклоняются. Независимо от того попал ли IP адрес в черный список заслуженно или же по ошибке (что всё чаще и чаще встречается на практике). Использование второго подхода отлично иллюстрируется opensource спам-фильтром spamassassin. Когда для классификации сообщения применяется взвешенный подход, то есть анализ по множеству критериев. В таком случае нахождение IP адреса отправителя в черном списке не является единственным и результирующим фактором, который влияет на решение о классификации сообщения, что в свою очередь означает снижение количества ложных срабатываний фильтра в тех случаях, когда IP адрес отправителя попал в черный список по нелепой случайности.

Контроль массовости

Технология предполагает выявление в потоке почты массовых сообщений, которые абсолютно идентичны или различаются незначительно. Для построения работоспособного «массового» анализатора требуются огромные потоки почты, поэтому эту технологию предлагают крупные производители, обладающие значительными объемами почты, которую они могут подвергнуть анализу.

Плюсы: Если технология сработала, то она гарантировано определила массовую рассылку.

Минусы: Во-первых, «большая» рассылка может оказаться не спамом, а вполне легитимной почтой (например, Ozon.ru, Subscribe.ru тысячами расылают практически одинаковые сообщения, но это не спам). Во-вторых, спамеры умеют «пробивать» такую защиту с помощью интеллектуальных технологий. Они используют ПО, генерирующее разный контент - текст, графику и т.п. - в каждом спамерском

Протокол SMTP

O В этой главе:

O Основные команды протокола

O Серверы-ретрансляторы

O Непосредственная пересылка

Для доставки почты в большинстве случаев используется протокол SMTP (Simple Mail Transfer Protocol ).

При его создании протокола SMTP разработчиками была допущена грубая ошибка, испортившая немало крови, как системным администраторам, так и простым пользователям. Суть ее заключается в том, что протокол SMTP не требует аутентификации пользователя перед отправкой сообщения, и это позволяет использовать чужие сервера для массовой рассылки.

Современные SMTP-сервера используют различные защитные механизмы, препятствующие отправке корреспонденции неизвестными пользователями. Подробно об этом рассказывается в главе «Почтовый сервер изнутри».

В терминологии SMTP-протокола нет таких понятий как «клиент» и «сервер». Вместо этого говорят об отправителе (sender ) и получателе (receiver ). То, что большинство называют «SMTP-сервером», является одновременно и отправителем, и получателем. Когда клиент устанавливает с ним соединение для передачи письма, сервер выступает в роли получателя, а когда доставляет сообщение абоненту, становится отправителем.

Каждый почтовый ящик представляет собой SMTP-получатель, связавшись с которым напрямую, можно передать сообщение без посредников. Однако такой способ не обрел большой популярности. Связь с далекими узлами может быть медленной и ненадежной, поэтому миссию доставки сообщения удобно возложить на специальный сервер, часто называемый сервером исходящей почты. Если связь с сервером исходящей почты быстрая и надежная, то такой подход вполне оправдан. Напротив, рассылать письма через далекие, тормозные и нестабильно работающее сервера не имеет никакого смыла. В таком случае лучше положить сообщение непосредственно в ящик получателя. Однако немногие почтовые клиенты поддерживают такую возможность.

Приведенный ниже пример демонстрирует, как посредством протокола SMTP отправить абоненту сообщение. Первым шагом необходимо запустить telnet-клиента и, установив соединение с выбранным SMTP-сервером (например, mail.aport.ru) по двадцать пятому порту, дождаться выдачи приглашения.

Рисунок 009 Подключение к серверу mail.aport.ru

Первые три символа возвращенной сервером строки представляют собой код завершения операции. Полный перечень кодов всевозможных ошибок содержится в RFC-821, и здесь не приводится.

Для передачи корреспонденции одного лишь TCP-соединения не достаточно, и необходимо установить еще одно, так называемое SMTP-соединение. Это достигается возвращением ответного приветствия серверу с указанием имени узла клиента (если у него есть имя) или IP-адреса (если у клиента нет имени).

Далеко не всегда требуется указывать свой точный адрес. Часто достаточно ввести произвольную текстовую строку, например “ABDCEF”

· HELO ppp-15.krintel.ru

Ответное приветствие осуществляется командой “HELO

”. Сервер, установив SMTP-соединение, возвращает код успешного завершения операции (250) и в большинстве случаев определяет IP-адрес клиента или его доменное имя.

Следующим шагом требуется указать отправителя сообщения. Для этого необходимо воспользоваться командой «MAIL FROM» с указанием собственного почтового адреса при желании заключенного в угловые скобки.

Например:

· HELO ppp-15.krintel.ru

· 250 camel.mail.ru Hello ppp-15.krintel.ru

· MAIL FROM:«[email protected]»

Затем указывается получатель сообщения, передаваемый с помощью команды “RCPT TO”, пример использования которой продемонстрирован ниже:

· HELO ppp-15.krintel.ru

· 250 camel.mail.ru Hello ppp-15.krintel.ru

· MAIL FROM:«[email protected]»

· 250 «[email protected]» is syntactically correct

· RCPT TO:«[email protected]»

При возникновении потребности в отправке одного и того же сообщения нескольким респондентам, достаточно вызвать “RCPT TO” еще один (или более) раз (максимальное количество получателей обычно не ограничено). Если кому-то из них сервер не возьмется доставить сообщение, он вернет ошибку, никак, однако не сказывающуюся на остальных получателях.

Команда “DATA”, вызываемая без аргументов, переводит сервер в ожидание получения текста письма.

· 354 Enter message, ending with "." on a line by itself

Последовательность завершения ввода представляет собой обыкновенную точку, «окаймленную» с двух сторон переносами строк. Если такая последовательность встретится в тексте сообщения, формирование письма будет немедленно завершено. Почтовые клиенты, обычно распознают такую ситуацию и прибегают к перекодировке, но при работе с telnet-клиентом эта забота ложиться на пользователя.

Пример использования команды “DATA” приведен ниже:

· HELO ppp-15.krintel.ru

· 250 camel.mail.ru Hello ppp-15.krintel.ru

· MAIL FROM:«[email protected]»

· 250 «[email protected]» is syntactically correct

· RCPT TO:«[email protected]»

· 250 «[email protected]» verified

· Hello, Sailor!

· 250 OK id=12ZDEd-000Eks-00

Команда “QUIT” завершает сеанс и закрывает соединение.

· 221 camel.mail.ru closing connection

Содержимое полученного сообщения (механизм получения сообщений на локальный компьютер пользователя рассмотрен в главах «Протокол POP» и «Протокол IMAP4») может выглядеть, например, следующим образом:

· From [email protected] Sun Mar 26 17:38:03 2000

· Received: from ppp-15.krintel.ru ()

· by camel.mail.ru with smtp (Exim 3.02 #107)

· id 12ZDEd-000Eks-00

· Message-Id: «[email protected]»

· From: [email protected]

· Hello,Sailor!

Ниже будет показано, каким образом злоумышленники находят и используют чужие сервера исходящей почты. Один из способов поиска общедоступных SMTP-серверов заключается в анализе заголовков приходящей корреспонденции. Среди узлов, оставивших свои адреса в поле “Received”, порой встречаются сервера, которые не требуют аутентификации пользователя для отправки писем.

Например, ниже показан заголовок письма, вытащенного автором этой книги из его собственного почтового ящика:

· From [email protected] Wed Mar 22 16:57:03 2000

· Received: from gate.chiti.uch.net ()

· by msk2.mail.ru with esmtp (Exim 3.02 #116)

· id 12Xld1-0008jx-00

· Received: from 13.chiti.uch.net ()

· by gate.chiti.uch.net (8.8.8/8.8.8) with SMTP id PAA29678

· From: "irt" «[email protected] »

Анализ заголовка позволяет установить, что письмо было отправлено с адреса 13.chiti.uch.net через сервер исходящей почты gate.chiti.uch.net. Если попробовать установить с ним соединение, то результат может выглядеть так:

Для проверки возможности пересылки сообщения необходимо послать серверу приглашение, а затем идентифицировать отправителя и получателя письма. Например, это может выглядеть так:

· HELO kpnc.krintel.ru

· 250 gate.chiti.uch.net Hello kpnc.krintel.ru , pleased to meet you

· MAIL FROM:«[email protected]»

· 250 «[email protected]»… Sender ok

· RCPT TO:«[email protected]»

· 250 «[email protected]»… Recipient ok

Код успешного завершения операции (250) и срока «Recipient ok» свидетельствуют о том, что сервер согласился на пересылку. Остается ввести текст послания и можно отправлять письмо. Спустя какое-то время (обычно не превышающее одной минуты) сообщение должно прийти по назначению. А его заголовок может выглядеть, например, так:

· From [email protected] Sun Mar 26 17:28:33 2000

· Received: from gate.chiti.uch.net ()

· by camel.mail.ru with esmtp (Exim 3.02 #107)

· id 12ZD5a-000Dhm-00

· Received: from kpnc.krintel.ru (kpnc.krintel.ru )

· by gate.chiti.uch.net (8.8.8/8.8.8) with SMTP id QAA02468

· (envelope-from [email protected])

· From: [email protected]

· Message-Id: «[email protected]»

Жирным шрифтом выделен адрес отправителя, показывая, что он не смог остаться анонимным. Если это оказывается неприемлемо, среди входящих писем своего почтового ящика можно попробовать отыскать такие, в чьих заголовках нет никаких сведений об отправителе, за исключением той информации, которую он пожелал сообщить сам.

Один из анонимных серверов расположен (точнее, был когда-то расположен на момент написания этой главы) по адресу dore.on.ru. Однако его использование посторонними лицами запрещено, что и демонстрирует следующий эксперимент:

· HELO kpnc.krintel.ru

· MAIL FROM:«[email protected]»

· 250 «[email protected]» Sender Ok

· RCPT TO:«[email protected]»

· 550 Relaying denied for «[email protected]»

Сервер, действительно, не делает никаких видимых попыток определить адрес клиента, но в то же время пересылать его корреспонденцию за пределы сервера наотрез отказывается. Причем достоверно известно, что владельцы этого сервера используют его для рассылки сообщений по нелокальным адресам. Отсюда вытекает существование механизма, позволяющего отличить «своих» от «чужих». Права «чужих» ограничиваются доставкой писем по локальным адресам, а «своим» разрешается отправлять сообщения и за пределы сервера. Ввиду отсутствия в протоколе SMTP средств аутентификации пользователей, отличить одних от других помогает IP адрес клиента. Локальные пользователи, находящиеся в одной подсети с сервером, считаются «своими», и наоборот .

Но если сервер не снабжен функцией определения IP адреса клиентов, ему не остается ничего другого, кроме как воспользоваться информацией, предоставленной самим отправителем, поверив тому на слово. Поэтому, существует возможность сообщения подложных данных, и, выдачи себя за локального пользователя, имеющего право отправки сообщений по любому адресу.

Клиент дважды указывает свой адрес: приветствуя сервер, командой “HELO” он сообщает свой домен, а в поле “MAIL FROM” приводит собственный обратный адрес. Некоторые сервера проверяют одно из этих значений, а некоторые оба одновременно.

В эксперименте, приведенном ниже, отправитель сообщает не свой собственный домен, а домен владельца сервера, и в качестве обратного адреса, использует один из адресов локальных пользователей сервера (чтобы его узнать, необходимо получить с этого сервера хотя бы одно письмо, или попробовать выяснить имена зарегистрированных пользователей методом перебора):

· 220 WITHELD FTGate server ready -Fox Mulder

· HELO dore.on.ru

· MAIL FROM:«[email protected]»

· RCPT TO:«[email protected]»

· 250 Recipient Ok

В результате такого подлога, сервер оказался введен в заблуждение и согласился доставить письмо. Очевидно, подлинный отправитель сообщения не может быть установлен по заголовку, поскольку в нем находится только та информация, которую отправитель пожелал оставить самостоятельно.

Для массовой рассылки лучшего способа и придумать невозможно, но вот для обычной переписки такая методика не подходит. Ведь ответ на письмо возвратится по адресу [email protected]! Этого можно избежать, если добавить в заголовок поле “Reply-To”, содержащее истинный адрес отправителя (тот, который он захотел оставить сам). Это может выглядеть, например, таким образом:

· 220 WITHELD FTGate server ready -Fox Mulder

· HELO dore.on.ru

· MAIL FROM:«[email protected]»

· 250 «[email protected]» Sender Ok

· RCPT TO:«[email protected]»

· 250 Recipient Ok

· 354 Start mail input; end with «CRLF».«CRLF»

· Reply-To:«[email protected]»

· 250 Ok Message queued

· 221 dore.on.ru Service closing transmission channel

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

· Received: from relay1.aha.ru ( verified)

· by aha.ru (CommuniGate Pro SMTP 3.1b2)

· Received: from warlock.miem.edu.ru (miem-as.ins.ru )

· by relay1.aha.ru (8.9.3/8.9.3/aha-r/0.04B) with ESMTP id UAA07173

· Received: from dore.miem.edu.ru (rtuis.miem.edu.ru )

· by warlock.miem.edu.ru (8.9.3/8.9.3) with ESMTP id UAA00637

· Received: from fox by dore.on.ru (FTGate 2, 1, 2, 1);

· Message-ID: «000301bec6ff$c87f5220$16fe7dc1@fox»

· From: «[email protected]»

· To: «[email protected]»

· Subject: TEST

· Reply-To:«[email protected]»

При попытке ответить отправителю, почтовый клиент получателя извлечет содержимое поля “Reply-To” и отправит письмо по указанному в нем адресу. Именно этим и пользуются спамеры для достижения полной анонимности с одной стороны, и возможности получения ответов от заинтересованных лиц - с другой.

Если внимательно посмотреть на заголовок письма, в нем можно обнаружить несколько строк “Received”. Их оставили транзитные сервера, иначе называемые Релеями (от английского relay ).

Любой почтовый клиент может отправить письмо напрямую. Однако для этого придется собственноручно указать в настойках сервера исходящей почты адрес получателя.

Например, чтобы отправить письмо для [email protected] с помощью “OutLock Express” придется зайти в «Учетные записи» (меню «Сервис»), выбрать «Свойства» и перейти к закладке «Серверы», задав для исходящей почты сервер «computerra.ru».

Очевидно, это слишком утомительно и непрактично. До тех пор, пока программное обеспечение не научиться выполнять такую операцию автоматически, пользователи будут вынуждены пользоваться прежними методами.

Работа типичного мелкокорпоративного сервера исходящей почты выглядит приблизительно так: получив в свое распоряжение письмо, он тут же устанавливает соединение с почтовым ящиком получателя, и отправляет послание. При этом он сталкивается с теми же затруднениями, что и обычный клиент. Поэтому, широко используется ретрансляция сообщений. Если письмо по каким-то причинам не может быть передано напрямую, оно передается ретранслятору.

Ретранслятор - точно такой же SMTP-сервер, как и все остальные, обсуждаемые в этой главе. В зависимости от настоек сервера маршрут пересылки письма может варьироваться. Одно сообщение может отправляться напрямую, а другое - долго «крутиться» на Релеях. Доверие это прекрасно, но только когда не касается вопросов безопасности. Кто рискнет доверять ретрансляторам неизвестного происхождения? Тем более, дальнейший маршрут письма каждым из транзитных серверов определяется самостоятельно, и нет никаких гарантий, что в эту цепочку не вклиниться злоумышленник.

Но протокол SMTP позволяет отправителю самостоятельно задавать маршрут пересылки сообщения Параметр команды “RCPT TO” может содержать не только адрес получателя, но и путь ретрансляции!

Формат его следующий:

· RCPT TO:«@s1,@s2,@s3,@sn:name@host»

где s1,s2,s3,sn - имена (или IP адреса) промежуточных хвостов, а name@host почтовый ящик получателя. В первую очередь сообщение передается узлу s1 - самому левому серверу в цепочке. Он модифицирует параметр команды RCPT TO, «выкусывая» из нее имя своего узла:

· RCPT TO:«@s2,@s3,@sn:name@host»

Затем, извлекается адрес следующего получателя - s2. Если сервер s1 не берется за доставку корреспонденции серверу s2, письмо возвращается назад отправителю с сообщением об ошибке. В противном случае процесс повторяется до тех пор, пока сообщение не окажется в почтовом ящике получателя.

Недостаток такой схемы заключается в том, что некоторые SMTP сервера для пересылки на очередной хвост могут прибегать к услугам своих собственных ретрансляторов. Таким образом, гарантируется, что письмо при успешной доставке посетит все заданные узлы в указанном порядке. Но не всегда выполняется прямая пересылка между соседними хвостами в цепочке.

Поэтому, задача подбора транзитных серверов осложняется. Каждый из них должен быть не только защищен от посторонних вторжений, но заведомо не пользоваться услугами сторонних ретрансляторов.

К сожалению, большинство почтовых клиентов, проверяя корректность ввода адреса получателя, считают такую операцию синтаксически неправильной и отказываются отправлять письмо. Приходится в очередной раз запускать telnet и передавать сообщение вручную.

Узнать какие именно команды поддерживаются конкретным SMTP сервером можно с помощью «HELP», а подробнее о назначении каждой из них “HELP command”.

Для получения детальной информации о командах протокола SMTP можно обратиться к RFC-788, RFC-821, RFC-822, RFC-1341, RFC-1342, RFC-1426, RFC-1521, RFC-1806, RFC-1830, RFC-2045, RFC-2046, RFC-2047, RFC-2048, RFC-2049, RFC-2076.

Из книги Техника сетевых атак автора Касперски Крис

Протокол SMTP O В этой главе:O Основные команды протоколаO Серверы-ретрансляторыO Непосредственная пересылкаO Автоматизация почтовой рассылки и спамO Анонимная рассылка писемДля доставки почты в большинстве случаев используется протокол SMTP (Simple Mail Transfer Protocol).При его

автора Реймонд Эрик Стивен

5.3.1. Учебный пример: SMTP, простой протокол передачи почты В примере 5.7. иллюстрируется транзакция SMTP (Simple Mail Transfer Protocol - простой протокол передачи почты), который описан в спецификации RFC 2821. В данном примере строки, начинающиеся с С:, отправляются почтовым транспортным

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

5.3.1. Учебный пример: SMTP, простой протокол передачи почты В примере 5.7. иллюстрируется транзакция SMTP (Simple Mail Transfer Protocol - простой протокол передачи почты), который описан в спецификации RFC 2821. В данном примере строки, начинающиеся с C:, отправляются почтовым транспортным

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

5.24 Протокол ARP Перед тем как датаграмма будет передана с одной системы локальной сети на другую, она будет обрамлена заголовком и завершающей частью кадра. Кадр доставляется на сетевой адаптер, физический адрес которого совпадает с физическим адресом назначения из

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

8.9 Протокол RIP Наиболее широко используемым протоколом IGP является RIP, заимствованный из протокола маршрутизации сетевой системы компании Xerox (Xerox Network System - XNS). Популярность RIP основана на его простоте и доступности.RIP был первоначально реализован в TCP/IP операционной

Из книги Сетевые средства Linux автора Смит Родерик В.

8.17 Протокол BGP В Интернете широко используется протокол граничного шлюза (Border Gateway Protocol - BGP). Текущей версией протокола является BGP-4.В современном Интернете существует множество провайдеров, объединенных между собой на манер сети межсоединений. При движении к точке

Из книги автора

14.6 Протокол FTP С протоколом FTP связаны следующие понятия:? Команды и их параметры, пересылаемые по управляющему соединению? Числовые коды, возвращенные в ответ на команду? Формат пересылаемых данныхНиже рассмотрен набор команд FTP. Они передаются по управляющему

Из книги автора

15.17 Протокол NFS Последней реализацией NFS является версия 3, хотя продолжают успешно применяться реализации версии 2. Программа NFS сервера имеет номер 100003 и, по соглашению, NFS захватывает при инициализации порт

Из книги автора

16.9 Команды SMTP Сценарий из раздела 16.6.1 содержал наиболее часто используемые команды SMTP. Полный набор команд SMTP представлен в таблице 16.1.Таблица 16.1 Команды SMTP Команда Описание HELO Идентифицирует отправителя для получателя. MAIL FROM Начало почтовой транзакции и указание на

Из книги автора

16.12.2 Диалог в улучшенной версии SMTP Показанный ниже пример демонстрирует, как улучшенный агент пересылки почты формирует транзакцию для отправки сообщения MIME в 8-битном формате:? Получатель объявляет о своих улучшенных возможностях, включая 8BITMIME.? Команда MAIL FROM имеет

Программы, реализующие сервер SMTP в системе Linux sendmail. В составе системы Linux часто поставляется наиболее популярный в настоящее время почтовый сервер sendmail. Этот пакет предоставляет обширные возможности и многие программы по умолчанию считают, что он установлен в

Из книги автора

Из книги автора

Специальные функции сервера SMTP В последующих разделах описываются различные характеристики почтового сервера, которые задаются при его настройке. Чтобы не описывать эти характеристики для каждого сервера, рассмотрим их

Лучшие статьи по теме