SMTP (Simple Mail Transfer Protocol) в дословном переводе с английского значит «простой протокол передачи почтовых сообщений». Можно догадаться, что используется он для того, чтобы вы могли отправить сообщение вашему другу в соседний город или в другую страну.
Для начала попробуем понять схему хождения почтовых сообщений. Допустим, у вас есть адрес электронной почты vasya@mail.ru, с которого вам хочется отправить электронное письмо вашему другу, живущему где-то во Флориде на адрес piter@hotmail.com. Что вам нужно для этого сделать? Вы как обычно берете свою любимую почтовую программу, пишете письмо, заполняете поле "Кому:" и нажимаете кнопку «Отправить». Далее, ваша программа соединяется с почтовым SMTP-сервером и отправляет письмо на него. На этом для вас его маршрут обрывается, но письмо «таинственным» образом оказывается на другой стороне океана.
Ответ системы whois на запрос имени домена |
На самом же деле, ваш сервер (например smtp.mail.ru), получив письмо, «смотрит» на домен получателя. В нашем случае это hotmail.com. Далее сервер запрашивает MX-запись для этого домена. Если перевести все это на русский язык, то сервер «роется» в большом справочнике и отыскивает нам домен hotmail.com. В этом «справочнике», помимо имени домена, указан адрес SMTP-сервера, который обрабатывает почту для этого домена. Допустим, что MX-запись для домена hotmail.com гласит smtp.microsoft.com. Как видите, имя домена и сервера, обрабатывающего для него почту, могут не совпадать.
Узнав имя сервера или его IP-адрес, ваш SMTP-сервер устанавливает с ним соединение и передает почтовое сообщение, указав, что пришло оно с сервера smtp.mail.ru и отправлено вами вашему другу. Удаленный сервер smtp.microsoft.com проверяет, можно ли доверять этому серверу и принимать от него почтовые сообщения, а также «смотрит» на имя отправителя и получателя — не значится ли кто-то из них в «черном списке». После этого, если почтовый ящик существует, то он кладет его в соответствующую «ячейку» для данного пользователя. Ваш друг запускает почтовую программу и забирает это письмо посредством одного из протоколов для входящей почты (POP3 или IMAP4).
Как видите, процедура довольно длинная и непростая. Однако компьютеры тратят на все эти просчеты очень мало времени, и мы практически не ощущаем задержек. Теперь, я думаю, нам стоит уделить больше внимания каждому шагу в работе SMTP-сервера, для того, чтобы у вас окончательно не осталось вопросов.
Начнем с отправки почтового сообщения вашим почтовым клиентом серверу. Для общения сервера с клиентом, а также серверов между собой, предусмотрены специальные команды. Все они описаны в официальной спецификации на протокол, которой должны придерживаться все программы, работающие с ним. Если у вас есть под рукой какой-либо telnet-клиент (попробуйте набрать в командной строке Windows команду «telnet») и SMTP-сервер, то вы можете сами проделать все эти действия.
Первым делом нужно подсоединиться к нужному порту сервера. Для SMTP-сервиса это обычно порт 25, я буду работать с сервером smtp.pisem.net, а вы можете использовать любой другой. Так и формулируем команду: "telnet smtp.pisem.net 25", после чего сервер соединяется и выдает свой ответ: "220 smtp.hotbox.ru ESMTP Sendmail 8.12.9/8.12.9; Wed, 4 Jun 2003 19:09:30 +0400". Для того чтобы начать работу с сервером, нужно набрать команду «HELO» и после нее параметром имя вашего домена, например "HELO pisem.net". На это вежливый сервер должен ответить чем-то вроде "250 smtp.hotbox.ru Hello [217.118.74.9], pleased to meet you". Это значит, что сервер готов с вами общаться и принимать команды.
Парметры аутентификации в программе The Bat! |
В первую очередь нужно ввести команду, которая скажет серверу, от кого отправляется сообщение. Это просто – "MAIL FROM: vasya@pisem.net"; далее, когда сервер ответит утвердительно, мы вводим команду "RCPT TO:", и электронный адрес получателя письма – "RCPT TO: piter@hotmail.com". И тут наш сервер отвечает нам несколько не так, как мы рассчитывали – "Error, please set SMTP-authentification in your mail program. Login – your full e-mail address". Значит, этот сервер разрешает отправлять письма через себя только авторизованным пользователям. Это первая ступень защиты против нежелательной корреспонденции. Спамер не сможет просто так воспользоваться сервером. Если же он зарегистрируется и введет свое имя, он тем самым, откроет себя, и ему будет быстро отключен доступ к серверу. С другой стороны, когда вы захотите воспользоваться сервером и отправить почту, то ваш клиент проведет процедуру авторизации пользователя, и письмо отправится успешно.
Может возникнуть вопрос, как же другие сервера отправляют вашу почту к вам на сервер? Действительно, пароля они не знают, но другой сервер отправляет почту только на домены, обслуживаемые вашим сервером, а для них сообщения обязательно принимает. В то же время, отправить вам сообщение спамеру будет невозможно, потому что другие сервера также требуют авторизации или блокируют подключения с чужих IP-адресов.
Настройки программы SpamPal |
Это идеальный вариант, при котором к вам могут прийти письма только от зарегистрированных пользователей на приличных серверах. На деле же все обстоит несколько иначе. Организовать у себя SMTP-сервер довольно просто — для этого достаточно иметь выход в Интернет и соответствующую программу. Ни первое, ни второе сейчас не редкость, вот и появляются сервера, открытые для спамеров, с которых они «бомбят» ваши электронные адреса. На самом деле создаются они не всегда для спамеров и называются «открытые ретрансляторы». Фильтровать такие письма по адресам бесполезно – они обычно не существуют и не используются больше одного раза. Остается – блокировать все сообщения, присланные с такого рода открытых серверов. К счастью, списки таких серверов составляются и постоянно пополняются. Сейчас во многих почтовых серверах, таких как MDaemon, предусмотрена возможность автоматической фильтрации нежелательной почты. Если ваш провайдер не установил такой защиты не сервере, то воспользуйтесь программами-фильтрами, действующими по тому же принципу. Одна из них — SpamPal — довольно хорошо справляется со своими задачами, а также имеет русский интерфейс.
Теперь давайте рассмотрим еще один способ защиты от незваных гостей – ограничение доступа по IP-адресу. Обычно таким образом защищают свои сервера провайдеры. Дело в том, что, когда вы подключаетесь через модем к провайдеру и получаете доступ в Интернет, ваш IP-адрес находится в одной подсети с другими пользователями. В любом случае, провайдер выдает вам эти адреса, и знает, какими они могут быть. Поэтому он устанавливает ограничение на своем сервере и пускает только своих пользователей. Если кто-то из них будет уличен в спаме, то можно будет без труда вычислить пользователя с помощью файлов-протоколов. Если же мы попытаемся воспользоваться сервером с запрещенного адреса, то получим отрицательный ответ на запрос.
Борьба со спамом – довольно сложная процедура, которая требует нетривиальных разработок. Тема данного материала не позволяет нам рассказать обо всех из них, тем более что общее представление о методах борьбы со спамом вы уже получили. Надеемся, что теперь для вас не будет загадкой движение почтовых сообщений по серверам. Если после этого повествования какие-то вопросы остались для вас в тени, мы готовы на них ответить на нашем форуме.
Ссылки по теме
- Сервис whois
- Программа-фильр SpamPal
- Почтовый клиент The Bat!, поддерживающий авторизацию на SMTP-сервере
- Наш форум, на котором вы можете задать свои вопросы
Статья получена: hostinfo.ru