В итоге вы окажетесь обладателем полноценной системы для работы с электронной почтой. Начнём с SMTP- сервера на Linux. SMTP- сервер. Протокол SMTP (Simple Mail Transfer Protocol) определяет правила пересылки почты между компьютерами, при этом, он не регламентирует правила хранения или визуализации сообщений. Это системно- независимый протокол, то есть, отправитель и получатель почты могут иметь различные ОС. SMTP требует лишь чтобы сервер был способен отправлять обычный ASCII- текст другому серверу, используя порт 2.
SMTP. Сегодня в большинство дистрибутивов Linux встроены две наиболее распространённых реализации SMTP: sendmail и postfix. Sendmail — это популярный почтовый сервер с открытым кодом, используемый во многих дистрибутивах Linux. К его минусам можно отнести несколько усложнённую архитектуру и недостаточно высокий уровень защиты. Postfix — система немного более продвинутая, при разработке этого почтового сервера особое внимание было уделено вопросам безопасности.
Цель: получить минимально работающий почтовый сервер, используя. Руководство АНБ по безопасной конфигурации Linux-сервера. Почтовый сервер, поддерживающий SMTP (ESMTPSA), POP3 и IMAP. Новичкам, которых пугает само слово Linux и необходимость . Какой почтовый сервер поставить?
Компоненты почтовой службы. Типичная почтовая служба состоит из трёх основных компонентов: Почтовый клиент, который ещё называют почтовым агентом (Mail User Agent, MUA). Именно с ним взаимодействует пользователь, например — это почтовые клиенты Thunderbird или Microsoft Outlook. Они позволяют пользователю читать почту и писать электронные письма. Почтовый сервер, или агент пересылки сообщений (Mail Transport Agent, MTA). Этот компонент ответственен за перемещение электронной почты между системами, этим занимаются, например, Sendmail и Postfix.
Агент доставки электронной почты (Mail Delivery Agent, MDA). Этот компонент ответственен за распределение полученных сообщений по почтовым ящикам пользователей. Например, это Postfix- maildrop и Procmail. Установка почтового сервера. Для настройки нашего сервера был выбран пакет Postfix. Это — популярный среди системных администраторов выбор, стандартный почтовый сервер в большинстве современных дистрибутивов Linux.
Начнём, проверив, установлен ли Postfix в системе: $ rpm - qa . Среди доступных четырёх вариантов (No configuration, Internet site, Internet with smarthost, Satellite system and Local only), мы выберем No configuration, что приведёт к созданию необходимых Postfix учётных записей пользователя и группы. Настройка сервера.
После установки почтового сервера Postfix, его нужно настроить. Большинство конфигурационных файлов находятся в директории /etc/postfix/. Главный конфигурационный файл Postfix можно найти по адресу /etc/postfix/main. Здесь имеется множество параметров, рассмотрим самые важные. Этот параметр используется для указания имени хоста почтовой системы. Это — имя хоста в интернете, для которого Postfix будет получать почту. Типичные примеры имён хостов почтовых серверов — mail.
Настраивают этот параметр так: myhostname = mail. Эта настройка позволяет указать почтовый домен, обслуживанием которого занимается сервер, например — example. Этот параметр позволяет указать доменное имя, используемое в почте, отправленной с сервера. Присвоим ему значение $mydomain: myorigin = $mydomain. В настройках можно ссылаться на параметры, добавляя знак $ перед именем переменной. Этот параметр содержит список доменов, которые сервер Postfix будет считать конечными пунктами назначения для входящей почты. В нашем случае здесь будут имя хоста сервера и доменное имя, но данный параметр может содержать и другие имена: mydestination = $myhostname, localhost.
Она позволяет указывать то, какие сервера могут пересылать почту через сервер Postfix. Обычно разрешают передачу почты только от локальных клиентских компьютеров. В противном случае вашим сервером могут заинтересоваться спамеры. Если неправильно настроить параметр mynetworks, спамеры вполне смогут воспользоваться сервером как ретранслятором почты. Это очень быстро приведёт к тому, что какая- нибудь система борьбы со спамом поместит его в один из чёрных списков, вроде DNS Blacklist (DNSBL), или Realtime Blackhole List (RBL).
Как только сервер попадёт в подобный список, очень немногие смогут получить письма, отправленные с его помощью. Вот как может выглядеть настройка этого параметра: mynetworks = 1. Например — управлять уровнями безопасности, задавать опции отладки и другие параметры. Возможно, настраивая сервер, вводя значения параметров, вы допустите ошибку. Проверить правильность настроек можно с помощью такой команды: $ postfix check.
С помощью этого средства можно найти строку, в которой допущена ошибка, и исправить её. Проверка очереди сообщений. Иногда очередь почтовых сообщений переполняется. Это может быть вызвано множеством факторов, вроде сетевой ошибки, или по любой причине, способной задержать отправку почты. Для того чтобы проверить очередь сообщений, воспользуйтесь такой командой: $ mailq. Она выведет сообщения, находящиеся в очереди. Если очередь переполнена и на отправку сообщения уходит по несколько часов, можно инициировать процесс отправки сообщений такой командой: $ postfix flush.
Если теперь проверить очередь, она должна оказаться пустой. Тестирование почтового сервера. После настройки сервера на Postfix, его надо протестировать. Первый шаг в тестировании — использование локального почтового клиента, вроде mailx или mail (это — символьная ссылка на mailx).
Попробуйте отправить письмо кому- нибудь, чей адрес обслуживается на том же сервере, а если это сработает — отправьте письмо на адрес, который находится где- нибудь ещё. В дистрибутивах, основанных на Red Hat, то, что вам надо, можно найти по адресу /var/log/maillog. В Debian- дистрибутивах нужный файл можно найти здесь: /var/log/mail. Документальная Эпопея Великая Отечественная далее. Вот, если нужно, материал о логировании в Linux, и о том, как настраивать rsyslogd. Если проблемы всё ещё не решены, попытайтесь проверить настройки DNS, взгляните на MX- записи, используя сетевые команды Linux.
Борьба со спамом. Существует немало решений для выявления среди почтовых сообщений нежелательных писем — спама. Одно из лучших — проект с открытым исходным кодом Spam. Assassin. Результаты проверок оцениваются в баллах. Чем выше итоговая оценка письма — тем выше и вероятность того, что оно является спамом.