Настройка почтового сервера debian

Обновлено: 30.06.2024

Сегодня электронная почта (email) — это очень важная часть жизни многих людей. Так как при настройке почты используется много параметров, а правильность настройки влияет на многие программы в Debian, в этом разделе мы попытаемся описать основные моменты настройки.

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

Исторически, в системах Linux и Unix очень популярным MUA является mutt . Как и большинство классических программ Linux он имеет текстовый интерфейс. Часто он используется в связке с exim или sendmail , работающих в качестве MTA и procmail в качестве MDA.

В связи с ростом популярности систем с графическим рабочим столом, становятся более востребованными почтовые программы с графическим интерфейсом типа GNOME evolution , KDE kmail или Mozilla thunderbird (в Debian имеет название icedove [15] ). В этих программах объединены функции MUA, MTA и MDA, но они могут (так часто и происходит) использоваться совместно с классическими утилитами Linux.

8.5.1. Почтовая конфигурация по умолчанию

Даже если вы планируете использовать почтовую программу с графическим интерфейсом, очень важно, чтобы в системе Debian GNU/Linux также были установлены и правильно настроены классические MTA/MDA. Они нужны для различных утилит, которые работают в системе [16] , чтобы они могли послать важные уведомления по почте системному администратору о (потенциальных) проблемах или изменениях.

По этой причине по умолчанию устанавливаются пакеты exim4 и mutt (если вы не отменили задачу « стандарт » во время установки). exim4 — это комбинация MTA/MDA, имеет относительно небольшой размер, но очень гибок в настройке. По умолчанию, он настраивается на обработку только локальной почты самой системы, а почта, предназначенная системному администратору (учётная запись root), будет доставлена на учётную запись обычного пользователя, созданного во время установки [17] .

При доставке почты она добавляется в файл /var/mail/ учётная_запись . Почту можно читать с помощью mutt .

8.5.2. Отправка почты из системы

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

8.5.3. Настройка агента пересылки почты Exim4

Если вы хотите, чтобы система также работала с внешней почтой, то вам нужно перенастроить пакет exim4 [18] :

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

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

Ваша система подключена к сети, почта отправляется и получается напрямую по протоколу SMTP. На следующих экранах вам зададут несколько основных вопросов, таких как почтовое имя вашей машины или список доменов, для которых вы принимаете или передаёте почту.

отправка почты через компьютер-шлюз (smarthost)

По этому сценарию ваша исходящая почта переправляется на другую машину, называемую « smarthost » , которая и отправит письмо по назначению. Smarthost обычно ещё и хранит входящую почту, адресованную вашему компьютеру, так что вам не надо постоянно находиться в сети. Это также означает, что вам нужно загружать почту со smarthost с помощью программ типа fetchmail.

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

отправка почты через smarthost; локальная почта отсутствует

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

доставка только локальной почты

Настроено в системе по умолчанию.

в данный момент конфигурация отсутствует

Если ни один из этих сценариев не подходит, или нужна более тонкая настройка, то после завершения установки вам нужно отредактировать файлы конфигурации в каталоге /etc/exim4 . Дополнительную информацию про exim4 можно найти в каталоге /usr/share/doc/exim4 ; в файле README.Debian.gz содержатся дополнительные подробности о настройке exim4 и указано где найти дополнительную документацию.

Заметим, что если у вас нет официального доменного имени и вы отправляете почту в интернет напрямую, это может привести к тому, что ваша почта не будет приниматься серверами, так как на них установлены средства борьбы со спамом. Предпочтительней использовать почтовый сервер ISP. Если вы всё равно хотите отправлять почту напрямую, то вам нужно использовать другой почтовый адрес, а не сгенерированный по умолчанию. Если в качестве MTA используется exim4 , это это делается добавлением записи в файл /etc/email-addresses .

[15] Причиной переименования thunderbird в icedove стала проблема с лицензией. Подробности выходят за рамки этого руководства.

[16] Примеры: cron , quota , logcheck , aide , …

[17] Пересылка почты root на учётную запись обычного пользователя настраивается в файле /etc/aliases . Если учётная запись обычного пользователя не была создана, почта, естественно, будет направляться самой учётной записи root.

[18] Конечно, также вы можете удалить exim4 и заменить его другим MTA/MDA.

Оригинал: Install a Complete Mail Server with Postfix and Webmail in Debian 9
Автор: Matei Cezar
Дата публикации: 12 октября 2017 года
Перевод: А. Кривошей
Дата перевода: ноябрь 2017 г.

Из этого руководства вы узнаете, как установить и настроить полнофункциональный почтовый сервер Postfix в Debian 9. Здесь также описывается, как настроить почтовые ящики учетных записей с помощью Dovecot для получения и создания писем по протоколу IMAP. Для работы с почтой пользователи будут использовать веб-интерфейс Rainloop Webmail.

Требования

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

Этап 1: Предварительная настройка почтового сервера Postfix на Debian

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

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

3. Затем откройте файл /etc/host.conf для редактирования в своем любимом текстовом редакторе и добавьте приведенную ниже строку в начале файла, чтобы разрешить DNS сначала читать файл hosts.

4. Затем задайте полное доменное имя вашего компьютера (FQDN) и добавьте свое доменное имя, а FQDN вашей системы, в файл /etc/hosts. Используйте IP-адрес вашей системы для разрешения имени домена и FQDN, как показано ниже на скриншоте.

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

настройка имени хоста

5. После перезагрузки проверьте правильность настройки имени хоста с помощью приведенной ниже последовательности команд. Команда hostname должна возвратить имя домена, FQDN, имя хоста и IP-адрес системы.

проверка имени хоста

6. Также, с помощью приведенных ниже команд, проверьте, правильно ли домен отвечает на локальные запросы. Имейте в виду, что домен не будет отвечать на удаленные запросы, отправленные другими системами в вашей сети, потому что мы не используем DNS-сервер.

Тем не менее, домен должен отвечать другим системам, если вы вручную добавите имя домена в каждый из файлов /etc/hosts. Также имейте в виду, что разрешение DNS для домена, добавленного в файл /etc /hosts, не будет работать с помощью команд host, nslookup или dig.

пинг

Этап 2. Установка почтового сервера Postfix в Debian

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

В этом руководстве мы будем использовать в качестве агента передачи почты Postfix. Для установки postfix в Debian из официальных репозиториев выполните следующую команду.

8. Во время процесса установки Postfix вам будет задан ряд вопросов. В первом вопросе выберите вариант «Internet Site» в качестве общего типа для настройки Postfix и нажмите клавишу [enter] для продолжения, а затем добавьте свое имя домена в системное имя электронной почты, как показано на скриншотах ниже.

настройка Postfix

настройка домена

Этап 3. Настройка почтового сервера Postfix в Debian

9. Далее создайте основной конфигурационный файл Postfix и настройте Postfix для своего домена, используя приведенные ниже команды.

Теперь настройте Postfix в файле main.cf, как показано ниже.

Замените переменные myhostname, mydomain и mynetworks в соответствии с вашими настройками.

Вы можете запустить команду postconf -n, чтобы проверить возможные ошибки, как показано на скриншоте.

настройка Postfix

10. После завершения настройки перезапустите демон Postfix, чтобы применить изменения и убедиться в том, что служба работает, проверив, что основная служба Postfix подключена к порту 25, с помощью команды netstat.

Этап 4. Проверка почтового сервера Postfix на Debian

11. Чтобы проверить, может ли postfix обрабатывать почту, сначала установите пакет mailutils с помощью команды:

12. Затем, используя утилиту командной строки mail, отправьте письмо в учетную запись root и проверьте, была ли почта успешно передана, с помощью приведенной ниже команды, которая проверяет очередь получения почты и выводит содержимое папки Maildir в домашней директории root.

тестирование Postfix

13. Вы также можете проверить, каким образом почта была обработана службой postfix, проверив содержимое файла журнала почты с помощью команды:

Этап 5: Установка и настройка Dovecot IMAP в Debian

Установка основного сервера Dovecot и пакета Dovecot IMAP в Debian производится с помощью команды:

15. После того, как Dovecot установлен в вашей системе, отредактируйте файлы dovecot. Сначала откройте файл /etc/dovecot/dovecot.conf, найдите и раскомментируйте следующую строку:

настройка Dovecot

16. Затем откройте /etc/dovecot/conf.d/10-auth.conf для редактирования, найдите и измените строки, чтобы они выглядели, как показано ниже.

17. Откройте файл /etc/dovecot/conf.d/10-mail.conf и добавьте приведенную ниже строку, чтобы использовать Maildir вместо формата Mbox для хранения электронных писем.

настройка Maildir

18. И последний файл для редактирования - /etc/dovecot/conf.d/10-master.conf. Здесь найдите блок Postfix smtp-auth и внесите следующие изменения:

настройка SMTP

19. После внесения всех вышеуказанных изменений перезапустите демон Dovecot, чтобы применить изменения, проверить его статус и убедиться, что Dovecot подключен к порту 143, с помощью команд:

запуск и проверка Dovecot

20. Проверьте, правильно ли работает почтовый сервер, для этого добавьте в систему новую учетную запись пользователя, подключитесь к SMTP-серверу с помощью команд telnet или netcat, и отправьте письмо новому пользователю, как показано ниже.

тестирование подключения к SMTP

21. Проверьте, пришло ли письмо в почтовый ящик нового пользователя:

проверка почты

22. Кроме того, вы можете подключиться к почтовому ящику пользователя из командной строки по протоколу IMAP, как показано ниже. Новая почта должна быть в папке «Inbox» пользователя.

Этап 6. Установка и настройка Webmail в Debian.

24. После установки веб-сервера Apache перейдите в директорию /var /www /html /, удалите файл index.html и установите Rainloop Webmail.

25. После установки клиента Rainwoo Webmail перейдите на IP-адрес своего домена и войдите в веб-интерфейс администратора Rainloop с учетными данными по умолчанию:

страница авторизации

26. Перейдите в меню «Domains», нажмите кнопку «Add Domain» и добавьте настройки доменного имени, как показано на следующем скриншоте.

добавление домена

27. После того, как вы добавили настройки своего домена, выйдите из интерфейса администратора Ranloop и введите свой IP-адрес в браузере, чтобы войти в систему из клиента электронной почты.

вход в почтовый аккаунт

входящие

27. При добавлении нового пользователя используется команда useradd с флагом -m, чтобы создать домашний каталог пользователя. Но сначала убедитесь, что вы настроили переменную пути Maildir для каждого пользователя с помощью приведенной ниже команды.

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

Другие статьи на нашем сайте об установке и настройке почтового сервера Postfix:

Этот урок расскажет как настроить работающий почтовый сервер в Ubuntu или Debian. Как мы знаем, два главных протокола используются в почтовом сервере — это SMTP и POP/IMAP. В этом уроке postfix будет использован для SMTP, в то время как dovecot будет использоваться для POP/IMAP. Они оба с открытым исходным кодом, стабильные и имеют множество настроек.

Пожалуйста, обратите внимание, что вопросы безопасности почтового сервера за сферой данного урока, и они освещены в статье "Как установить Clam Antivirus, SpamAssassin и MailScanner на почтовом сервере под Ubuntu".

3 января стартует курс «SQL-injection Master» © от команды The Codeby

За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

Запись на курс до 10 января. Подробнее .

Предварительные требования

Каждый домен должен иметь запись на DNS сервере. Рекомендуется НЕ использовать живые домены для целей тестирования. В этом уроке тестовый домен example.tst будет использован в лабораторных условиях. DNS сервер для этого гипотетического домена имел бы, по крайней мере, следующие записи.

  • Прямая зона для example.tst:
  • Обратная зона для example.tst:

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

Настройка имени хоста (hostname)

Во-первых, hostname почтового сервера должно быть определено в /etc/hostname и /etc/hosts. Причём в первом файле следует размещать только имя хоста.

Добавление пользователей

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

Установка и настройка SMTP

Профиль службы: postfix
Каталог с конфигурационными файлами /etc/postfix/
Скрипт /etc/init.d/postfix
Лог-файл /var/log/mail.log
Номер порта TCP/25

SMTP: Установка postfix

postfix это один из наиболее используемых SMTP серверов, поскольку он стабильный, лёгкий, масштабируемый и высоко настраиваемый. Установка postfix может быть выполнена использованием apt-get.

Во время установки задаются тип почтового сервера и доменное имя.

01

02

Так как почтовый сервер будет отправлять письма напрямую к месту назначения, то нужно использовать "Интернет-сайт".

03

Также задаём доменное имя почтового сервера. Эта настройка определяет, что все письма, приходящие с этого почтового сервера, будут иметь @example.tst в качестве домена отправителя.

Конфигурационные файлы postfix размещены в /etc/postfix. Важны следующие конфигурационные файлы. Некоторые из них могут отсутствовать и их нужно создать вручную.

SMTP: Настройка конфигурационных файлов

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

Сделайте резервную копию main.cf а затем модифицируйте. Следующие строки добавлены/изменены в конфигурационном файле. Для дальнейших подробностей о параметрах обратитесь к официальному README и документу по настройки.

Письмам, предназначенным для домена example.tst, определено быть доставлено локально без каких-либо DNS запросов.

Предполагаем, что все письма, отправленные пользователю userA, должны быть доставлены также пользователю userB, для этого файл aliases изменён как показано ниже:

SMTP: Запуск и обслуживание

postfix может быть запущен командой.

Лог-файл в /var/log/mail.log должен предоставить полезную информацию, если что-то пойдёт не так. Прослушивает ли почтовый сервер TCP порт 25 можно также проверить используя netstat.

Как видно из вывода, сервер прослушивает TCP порт 25 для входящих запросов соединений.

Установка и настройка POP/IMAP

Профиль службы: dovecot
Директория конфигурационных файлов /etc/dovecot
Скрипт /etc/init.d/dovecot
Файл журнала /var/log/mail.log
Номер порта TCP: 110 (POP3), 143 (IMAP), 993 (IMAPS), 995 (POP3S)

POP/IMAP: Установка dovecot

dovecot — это, без сомнений, лидирующее IMAP и POP серверное программное обеспечения в сообществе опен сорс. Очень просто установить и настроить dovecot. Для установки dovecot мы опять будем использовать apt-get .

Прямо из коробки dovecot может поддерживать POP3 и IMAP (обычный текст), а также зашифрованный POP3S и IMAPS (безопасный). По умолчанию dovecot создаёт и использует самоподписанный сертификат для SSL шифрования. Сертификаты могут быть созданы вручную или ипортированы позже, в зависимости от требований. В этом уроке будет использован сапомодписанный сертификат, сгенерированный dovecot.

На последних версиях больше не создаёт. Сертификаты нужно создавать вручную и вручную подключать их. Как это сделать, описано в этой инструкции.

POP/IMAP: Подготовка конфигурационных файлов

Следующие параметры изменяются как нужно.

Этого должно быть достаточно для запуска службы POP/IMAP в почтовом сервере.

POP/IMAP: Установка службы

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

Вновь лог-файл (/var/log/mail.log) может предоставить важные зацепки, если что-то пойдёт не так. Узнать, запущен ли dovecot, можно при использовании netstat следующим образом.

Использование почтового сервера с пользовательской почтовой программой

Почтовый сервер теперь готов к использованию. Почтовая учётная запись может быть настроена с использованием вашего любимого почтового клиента на настольном компьютере, ноутбуке, планшете или телефоне. Можно настроить и webmail (почту с веб-интерфейсом) на сервере, но инструкция по webmail будет в следующих уроках. На данном этапе, почтовая программа Mozilla Thunderbird определила следующие настройки для моего сервера:

01

Крайне рекомендуется перейти и продолжить по этой инструкции для включения SSL шифрования.

Решение проблем с почтовым сервером

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

Валидные DNS записи необходимы для живых почтовых серверов. Можно сделать тюнинг настроек postfix и dovecot в соответствии с потребностями.

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

Надеюсь это поможет.

Эти программы нельзя установить на виртуальный хостинг. Полностью автономный почтовый сервер можно сделать только на виртуальном частном (выделенном) сервере, т. е. На VDS (VPS). Самые дешёвые облачные VDS (VPS) сервера! За 180 рублей/мес — эта статья, как следует из заголовка, расскажет вам о качественном и при этом самом дешёвом варианте виртуального частного сервера, которые при этом ещё и используют облачные технологии.

1 декабря стартует зимний поток курса " Тестирование Веб-Приложений на проникновение " от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. На курс можно записаться до 10 декабря включительно. Подробнее .

Альтернативными Postfix вариантами являются Sendmail и Exim, но применяются они значительно реже ввиду меньшего удобства эксплуатации и меньших возможностей (в случае с Sendmail) и большей сложности настройки (в случае с Exim).

Debian настройка почтового сервера

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

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

Настройка почтового сервера Debian Postfix + Dovecot

Убедимся в том, что для сервера используется статический IP-адрес (установлен параметр static)

Устанавливаем Postfix из репозитория

В первом окне выбираем опцию Internet site

При запросе System mail name вводим имя домена

Те же параметры в любой момент можно изменить в конфиге пакета, также можно запустить реконфигуратор

Открываем при помощи текстового редактора основной конфигурационный файл postfix

home_mailbox = Maildir/
mailbox_command =

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_enable = yes

myorigin=$mydomain

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

SASL (Simple Authentication and Security Layer)

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

Будем использовать tls

Задаем пути к ключу и сертификату SSL

Ниже приведен минимальный, но полностью рабочий конфигурационный файл /etc/postfix/main.cf

append_dot_mydomain = no

readme_directory = no

smtpd_tls_cert_file=/etc/dovecot/dovecot.crt
smtpd_tls_key_file=/etc/dovecot/private/dovecot.key
smtpd_use_tls = yes
smtp_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_session_cache_database = btree:$/smtpd_scache
smtp_tls_session_cache_database = btree:$/smtp_scache
smtp_tls_note_starttls_offer = yes

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

smtpd_tls_received_header = yes
smtpd_tls_loglevel = 1
tls_random_source = dev:/dev/urandom

Устанавливаем dovecot, письма будем забирать по imap

apt-get install dovecot-common dovecot-imapd

Добавляем в конфиг пути к файлам с ключом и сертификатом, а также указание на необходимость использования SSL

ssl = required
ssl_certs = </etc/ssl/certs/example.crt
ssl_key = </etc/ssl/private/example.key

Снимаем знак комментария со следующей строки:

disable_plaintext_auth = yes

Здесь раскомментируем и поправим при необходимости значение следующей директивы:

unix_listener /var/spool/postfix/private/auth

mode = 0666
user = postfix
group = postfix
>

Устанавливаем правильные права, пользователя и группу пользователя

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

mail_location = maildir:

Также раскомментируем следующую строку с упоминанием mail_location в конфиге
Раскомментируем:

mail_privileged_group = mail

Добавляем пользователей и задаем им пароли при помощи passwd

Открываем Thanderbird и проверяем работоспособность настроенной почтовой системы, авторизовываться в интерфейсе программы необходимо по логинам и паролям системных пользователей созданных на последнем шаге.

Настройка почтового сервера Debian с Postfix и Dovecot на этом завершена. Читайте про удобный веб-интерфейс Rainloop для работы с почтой.

Читайте также: