Поиск по сайту:

Настройка служб электронной почты (SMTP, Imap и Imaps) и ограничение доступа к SMTP. Часть 7


LFCE (Сертифицированный инженер Linux Foundation) – это обученный профессионал, обладающий навыками установки, управления и устранения неполадок сетевых служб в системах Linux, а также отвечающий за проектирование, внедрение и постоянное обслуживание системной архитектуры и администрирование пользователей.

Представляем программу сертификации Linux Foundation.

В предыдущем уроке мы обсуждали, как установить необходимые компоненты почтового сервиса. Если вы еще не установили Postfix и Dovecot, обратитесь к части 1 этой серии за инструкциями, прежде чем продолжить.

Требование

  1. Установите почтовый сервер Postfix и Dovecot — часть 1

В этом посте я покажу вам, как настроить почтовый сервер и как выполнить следующие задачи:

  1. Настройка псевдонимов электронной почты
  2. Настройка службы IMAP и IMAPS
  3. Настройка службы smtp
  4. Ограничить доступ к smtp-серверу

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

Но прежде всего давайте начнем с нескольких определений.

Компоненты процесса отправки, транспортировки и доставки почты

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

Чтобы это стало возможным, за кулисами происходит несколько вещей. Чтобы сообщение электронной почты было доставлено из клиентского приложения (например, Thunderbird, Outlook или служб веб-почты, таких как Gmail или Yahoo! Mail) на его/ее почтовый сервер, а оттуда на сервер назначения и, наконец, предполагаемому получателю , на каждом сервере должна быть установлена служба SMTP (простой протокол передачи почты).

Говоря об услугах электронной почты, вы очень часто встречаете следующие термины:

Агент транспорта сообщений – MTA

MTA (сокращение от Mail или Message Transport Agent), также известный как ретрансляция почты, — это программное обеспечение, отвечающее за передачу сообщений электронной почты с сервера. клиенту (и наоборот). В этой серии Postfix выступает в роли MTA.

Почтовый агент пользователя – MUA

MUA, или Mail User Agent, — это компьютерная программа, используемая для доступа к почтовым ящикам пользователя и управления ими. Примеры MUA включают, помимо прочего, Thunderbird, Outlook и интерфейсы веб-почты, такие как Gmail, Outlook.com, и это лишь некоторые из них. В этой серии мы будем использовать Thunderbird в наших примерах.

Агент доставки почты

MDA (сокращение от Message или Агент доставки почты) — это часть программного обеспечения, которая фактически доставляет сообщения электронной почты в почтовые ящики пользователей. В этом уроке мы будем использовать Dovecot в качестве MDA. Dovecot также будет осуществлять аутентификацию пользователей.

Простой протокол передачи почты – SMTP

Чтобы эти компоненты могли «общаться» друг с другом, они должны «говорить» на одном и том же «языке» (или протоколе). ), а именно SMTP (Простой протокол передачи почты), как определено в RFC 2821. Скорее всего, вам придется обратиться к этому RFC при настройке среды вашего почтового сервера.

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

Наша среда тестирования

Наша среда тестирования выглядит следующим образом:

Настройка почтового сервера
Mail Server OS	: 	Debian Wheezy 7.5 
IP Address	:	192.168.0.15
Local Domain	:	example.com.ar
User Aliases	:	[email  is aliased to [email  and [email 
Настройка клиентского компьютера
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

В нашем клиенте мы настроили элементарное разрешение DNS, добавив следующую строку в файл /etc/hosts.

192.168.0.15 example.com.ar mailserver

Добавление псевдонимов электронной почты

По умолчанию сообщение, отправленное конкретному пользователю, должно быть доставлено только этому пользователю. Однако, если вы хотите также доставить его группе пользователей или другому пользователю, вы можете создать псевдоним почты или использовать один из существующих в /etc/postfix/aliases. , следуя этому синтаксису:

user1: user1, user2

Таким образом, электронные письма, отправленные пользователю1, будут также доставлены пользователю2. Обратите внимание: если вы опустите слово user1 после двоеточия, как в

user1: user2

сообщения, отправленные пользователю1, будут отправлены только пользователю2, а не пользователю1.

В приведенном выше примере user1 и user2 уже должны существовать в системе. Если вам нужно освежить память перед добавлением новых пользователей, вы можете обратиться к Части 8 серии статей о LFCS.

  1. Как добавлять пользователей/группы и управлять ими в Linux
  2. 15 команд для добавления пользователей в Linux

В нашем конкретном случае мы будем использовать следующий псевдоним, как объяснялось ранее (добавьте следующую строку в /etc/aliases).

sysadmin: gacanepa, jdoe

И выполните следующую команду, чтобы создать или обновить таблицу поиска псевдонимов.

postalias /etc/postfix/aliases

Чтобы сообщения, отправленные на адрес [email , доставлялись в почтовые ящики перечисленных выше пользователей.

Настройка Postfix — служба SMTP

Основной файл конфигурации Postfix/etc/postfix/main.cf. Вам нужно всего лишь настроить несколько параметров, прежде чем вы сможете использовать почтовую службу. Однако вам следует ознакомиться со всеми параметрами конфигурации (которые можно просмотреть с помощью man 5 postconf), чтобы настроить безопасный и полностью настраиваемый почтовый сервер.

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

Откройте файл /etc/postfix/main.cf в выбранном вами редакторе и внесите следующие изменения, как описано.

vi /etc/postfix/main.cf

1. myorigin указывает домен, который отображается в сообщениях, отправляемых с сервера. Вы можете увидеть файл /etc/mailname, используемый с этим параметром. Не стесняйтесь редактировать его, если это необходимо.

myorigin = /etc/mailname

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

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

Где файл /etc/postfix/transport определяет связь между доменами и следующим сервером, на который должны пересылаться почтовые сообщения. В нашем случае, поскольку мы будем доставлять сообщения только в нашу локальную сеть (таким образом, минуя любое внешнее разрешение DNS), следующей конфигурации будет достаточно.

example.com.ar    local:
.example.com.ar    local:

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

postmap /etc/postfix/transport

Вам нужно будет не забыть воссоздать эту таблицу, если вы добавите дополнительные записи в соответствующий текстовый файл.

3. mynetworks определяет авторизованные сети, из которых Postfix будет пересылать сообщения. Значение по умолчанию, подсеть, указывает Postfix пересылать почту от SMTP-клиентов только в тех же IP-подсетях, что и локальный компьютер.

mynetworks = subnet

4. relay_domains указывает места назначения, по которым следует отправлять электронные письма. Мы оставим нетронутым значение по умолчанию, которое указывает на мое место назначения. Помните, что мы настраиваем почтовый сервер для нашей локальной сети.

relay_domains = $mydestination

Обратите внимание, что вы можете использовать $mydestination вместо вывода фактического содержимого.

5. inet_interfaces определяет, какие сетевые интерфейсы должна прослушивать почтовая служба. По умолчанию all указывает Postfix использовать все сетевые интерфейсы.

inet_interfaces = all

6. Наконец, mailbox_size_limit и message_size_limit будут использоваться для установки размера почтового ящика каждого пользователя и максимально допустимого размера отдельных сообщений соответственно в байтах.

mailbox_size_limit = 51200000
message_size_limit = 5120000

Ограничение доступа к SMTP-серверу

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

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

Require that a remote SMTP client introduces itself with the HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation.
smtpd_helo_required = yes

Permit the request when the client IP address matches any network or network address listed in $mynetworks
Reject the request when the client HELO and EHLO command has a bad hostname syntax
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname

Reject the request when Postfix does not represent the final destination for the sender address
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain

Reject the request unless 1) Postfix is acting as mail forwarder or 2) is the final destination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Страница postconf параметров конфигурации Postfix может пригодиться для дальнейшего изучения доступных опций.

Настройка Dovecot

Сразу после установки dovecot он поддерживает протоколы POP3 и IMAP, а также их безопасные версии POP3S и IMAPS соответственно.

Добавьте следующие строки в файл /etc/dovecot/conf.d/10-mail.conf.

%u represents the user account that logs in
Mailboxes are in mbox format
mail_location = mbox:~/mail:INBOX=/var/mail/%u
Directory owned by the mail group and the directory set to group-writable (mode=0770, group=mail)
You may need to change this setting if postfix is running a different user / group on your system
mail_privileged_group = mail

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

Также обратите внимание, что в большинстве систем почта пользователя хранится в файле /var/mail/%u.

Добавьте следующую директиву в /etc/dovecot/dovecot.conf (обратите внимание, что imap и pop3 также подразумевают imap и pop3).

protocols = imap pop3

И убедитесь, что /etc/conf.d/10-ssl.conf содержит следующие строки (в противном случае добавьте их).

ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

Теперь давайте перезапустим Dovecot и проверим, что он прослушивает порты, связанные с imap, imaps, pop3 и pop3s.

netstat -npltu | grep dovecot

Настройка почтового клиента и отправка/получение почты

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

Повторите описанную выше процедуру для следующей учетной записи ([электронная почта защищена]), и на левой панели Thunderbird должны появиться следующие два почтовых ящика.

На нашем сервере мы напишем сообщение электронной почты sysadmin, которое имеет псевдонимы jdoe и gacanepa.

Журнал почты (/var/log/mail.log), похоже, указывает на то, что электронное письмо, отправленное системному администратору, было ретранслировано на [email  и [электронная почта защищена], как показано на следующем изображении.

Мы можем проверить, действительно ли почта была доставлена нашему клиенту, для которого в Thunderbird были настроены учетные записи IMAP.

Наконец, давайте попробуем отправить сообщение с [email  на [email .

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

Заключение

В этом посте мы объяснили, как настроить почтовый сервер IMAP для вашей локальной сети и как ограничить доступ к серверу SMTP. Если вы столкнулись с проблемой при реализации аналогичной настройки в вашей среде тестирования, вам следует проверить онлайн-документацию Postfix и Dovecot (особенно страницы с основными файлами конфигурации, /etc/postfix/main.cf и /). etc/dovecot/dovecot.conf соответственно), но в любом случае не стесняйтесь обращаться ко мне, используя форму комментариев ниже. Я буду более чем рад помочь вам.