D2
Администратор
- Регистрация
- 19 Фев 2025
- Сообщения
- 4,380
- Реакции
- 0
Автор: hahbah
Источник: XSS.is
Доброго всем времени суток.
В данной статье для поднятия собственного почтового сервера, я буду использовать Postfix(для обработки SMTP) + Dovecot(для IMAP/POP3 и авторизации) + Let’s Encrypt (для TLS-сертификатов) + OpenDKIM.
Postfix и dovecot наше все.
Для начала нам нужен VPS и домен.
VPS берем самый простой, достаточно даже одноядерного. Стоимость менее, чем 5$ в месяц. Так же домен, иногда хостинг его предоставляет, но для наглядности я его отдельно взял.
VPS я брал тут hyper.hosting, пополнение криптой есть, но анонимности мало.
Домен советую брать тут - njallalafimoej5i4eg7vlnqjvmb6zhdh27qxcatdn647jtwwwui3nad.onion(clear - njal.la), приватно, оплата криптой(цены от 15eu), регестрация через xmpp есть.
На vps должен стоять linux, я ставил ubuntu 24, так же открыты порты, в этой статье я использовал 25, 587, 465, 5222, 5269. Обычно проблемы могут быть только с 25.
Привязываем наш домен к ip vps. Домены, которые я использовал: lolasdelights.com, mail.lolasdelights.com, xmpp.lolasdelights.com.
Установка Postfix.
Код: Скопировать в буфер обмена
Во время установки будет диалоговое окно, там выбираем "Internet Site" и вводим наш домен.
Дальше надо настроить конфиги.
Первый конфиг main.cf:
Код: Скопировать в буфер обмена
Вот мой конфиг, с комментариями и доп инструкциями:
Код: Скопировать в буфер обмена
-- Параметры TLS --
Код: Скопировать в буфер обмена
-- Параметры SASL (аутентификация) --
Код: Скопировать в буфер обмена
-- Конфигурация Milter для DKIM --
Код: Скопировать в буфер обмена
-- Основная конфигурация Postfix --
Код: Скопировать в буфер обмена
Настройка master.cf:
Код: Скопировать в буфер обмена
Тут достаточно сложный конфиг, но нам надо только проследить, чтобы все протоколы и порты работали.
Код: Скопировать в буфер обмена
Установка Dovecot.
Dovecot — это сервер IMAP и POP3 с открытым исходным кодом для операционных систем типа Unix, написанный в первую очередь с учетом безопасности.
В связке с Postfix он отвечает за управление почтовыми ящиками и предоставление безопасного доступа к почте для пользователей через почтовые клиенты.
Код: Скопировать в буфер обмена
Настройка конфигов:
-- dovecot.conf --
Код: Скопировать в буфер обмена
Код: Скопировать в буфер обмена
*Так как я брал только базу, вот еще популярные дополнительные инструкции, которые можно добавить в конфиг:
Quota. Позволяет ограничить объём почты, который пользователь может хранить на сервере.
Код: Скопировать в буфер обмена
Настройки сессий. Вы можете настроить параметры сессий, чтобы уменьшить нагрузку на сервер и ускорить отклик.
IDLE для IMAP. Включение IMAP IDLE помогает моментально доставлять уведомления о новых письмах почтовым клиентам.
Код: Скопировать в буфер обмена
-- 10-mail.conf --
Код: Скопировать в буфер обмена
Код: Скопировать в буфер обмена
Спойлер: Другие популярные настройки
-- 10-ssl.conf --
Код: Скопировать в буфер обмена
Базовые настройки:
Код: Скопировать в буфер обмена
Спойлер: Другие популярные настройки
Настройка SSL/TLS
До этого в конфигах я уже указывал пути к сертификатам. Сертификаты устанавливаются по дефолтным путями и вам надо только поменять свой домен.
Для это надо установить Certbot:
Код: Скопировать в буфер обмена
Получаем сертификаты:
Код: Скопировать в буфер обмена
Вот, что вы должны увидеть при удачном получении:
Далее возвращаемся к конфигам и исправляем там все сертификаты, просто заменяя домен мой, на ваш.
Так же, важно, не забудьте предоставить postfix и dovecot права к файлам.
Установка OpenDKIM
Код: Скопировать в буфер обмена
Создаем необходимые директории:
Код: Скопировать в буфер обмена
Настраиваем конфиг:
Код: Скопировать в буфер обмена
Код: Скопировать в буфер обмена
Создаем KeyTable:
Код: Скопировать в буфер обмена
И добавляем строку:
Код: Скопировать в буфер обмена
Настройка доверенных хостов:
Код: Скопировать в буфер обмена
Код: Скопировать в буфер обмена
Генерация DKIM-ключей:
Код: Скопировать в буфер обмена
Настройка DNS записей
Нам надо добавить несколько записей:
Код: Скопировать в буфер обмена
Важно, настройки DNS могут обновляться до 8 часов, но обычно пару минут.
Настройка Firewall
Нам надо настроить порты:
Код: Скопировать в буфер обмена
Финал и проверки работы
Перезапускаем все службы:
Код: Скопировать в буфер обмена
Проверяем статус на успешный запуск и логи:
Код: Скопировать в буфер обмена
Если где-то ошибки, смотрим логи. Чаще всего это проблемы с портами, а так же с разрешением доступа файлов сертификатов.
Проверяем порты, например через telnet:
Код: Скопировать в буфер обмена
У вас должна быть примерно такая же картина.
Для проверки портов можно использовать эту команду:
Код: Скопировать в буфер обмена
Создаём нового системного пользователя для вашего почтового ящика.
Код: Скопировать в буфер обмена
Далее используем почтовый клиент, я использовал Thunderbird. Можно также установить roundcube, для доступа через веб к вашей почте.
Настраиваем подключение:
Для проверки можем отправить письмо от рута нам:
Код: Скопировать в буфер обмена
Письмо успешно пришло
Если что-то не работает, вот полезные сайты:
1. mxtoolbox.com - позволяет проверить DNS. Есть хорошая функция Find Problems.
2. mail-tester.com - позволяет проверить отправку сообщений.
Установка своего XMPP
Кратенько расскаду про установку своего xmpp.
Для это используем Prosody.
Код: Скопировать в буфер обмена
Настраиваем наш DNS. Надо добавить 3 новые записи.
A-запись для xmpp.lolasdelights.com:
Настраиваем конфиг:
Код: Скопировать в буфер обмена
Дефолтный конфиг содержит много полезной инфы, нам надо только добавить эти строки:
Код: Скопировать в буфер обмена
Не забываем дать права:
Код: Скопировать в буфер обмена
Добавляем юзера:
Код: Скопировать в буфер обмена
Если надо обновляем сертификат:
Код: Скопировать в буфер обмена
Перезапускаем службу:
Код: Скопировать в буфер обмена
Добавляем порты:
Код: Скопировать в буфер обмена
Все готово, далее добавляем наш сервер, через какой-нибудь клиент.
Для примера я использовал Pidgin.
Введите следующие параметры:
И проверяем отправляя кому-нибудь запрос. Я отправил на свой jabber.
Это только базовые настройки, который хватит для использования. Кто захочет, думаю углубиться в конфиги.
Так же рекомендую установить антиспам и антивирусных инструментов.
Код: Скопировать в буфер обмена
А так же установить Fail2Ban.
Надеюсь ничего не упустил и эта статья хоть кому-то будет полезна.
Спасибо за внимание)
Источник: XSS.is
Доброго всем времени суток.
В данной статье для поднятия собственного почтового сервера, я буду использовать Postfix(для обработки SMTP) + Dovecot(для IMAP/POP3 и авторизации) + Let’s Encrypt (для TLS-сертификатов) + OpenDKIM.
Postfix и dovecot наше все.
Для начала нам нужен VPS и домен.
VPS берем самый простой, достаточно даже одноядерного. Стоимость менее, чем 5$ в месяц. Так же домен, иногда хостинг его предоставляет, но для наглядности я его отдельно взял.
VPS я брал тут hyper.hosting, пополнение криптой есть, но анонимности мало.
Домен советую брать тут - njallalafimoej5i4eg7vlnqjvmb6zhdh27qxcatdn647jtwwwui3nad.onion(clear - njal.la), приватно, оплата криптой(цены от 15eu), регестрация через xmpp есть.
На vps должен стоять linux, я ставил ubuntu 24, так же открыты порты, в этой статье я использовал 25, 587, 465, 5222, 5269. Обычно проблемы могут быть только с 25.
Привязываем наш домен к ip vps. Домены, которые я использовал: lolasdelights.com, mail.lolasdelights.com, xmpp.lolasdelights.com.
Установка Postfix.
Код: Скопировать в буфер обмена
Код:
sudo apt update && sudo apt upgrade -y
sudo apt install postfix -y
Дальше надо настроить конфиги.
Первый конфиг main.cf:
Код: Скопировать в буфер обмена
sudo nano /etc/postfix/main.cf
Вот мой конфиг, с комментариями и доп инструкциями:
Код: Скопировать в буфер обмена
Код:
# Объявление баннера для SMTP-сервера при подключении
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
# Отключение отправки сообщений biff
biff = no
# Не добавлять точку в конце доменного имени
append_dot_mydomain = no
# Отключение директории с документами Readme
readme_directory = no
# Совместимость с версиями Postfix
compatibility_level = 3.6
-- Параметры TLS --
Код: Скопировать в буфер обмена
Код:
# Указание сертификата TLS для шифрования
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.lolasdelights.com/fullchain.pem
# Указание приватного ключа TLS
smtpd_tls_key_file=/etc/letsencrypt/live/mail.lolasdelights.com/privkey.pem
# Включение TLS для SMTP-сервера
smtpd_use_tls=yes
# Разрешать аутентификацию только через TLS
smtpd_tls_auth_only = yes
# Ограничение клиентских подключений
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client_hostname, permit
# Указание пути к сертификатам CA для проверки TLS
smtp_tls_CApath=/etc/ssl/certs
# Уровень безопасности TLS для исходящей почты
smtp_tls_security_level=may
# Использование кэша для TLS-сессий, чтобы ускорить повторные соединения
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# Включение логирования для TLS
smtpd_tls_loglevel=1
-- Параметры SASL (аутентификация) --
Код: Скопировать в буфер обмена
Код:
# Ограничения безопасности SASL (запрещает анонимную аутентификацию)
smtpd_sasl_security_options = noanonymous
# Указание на использование Dovecot для SASL
smtpd_sasl_type = dovecot
# Путь до сокета для аутентификации через Dovecot
smtpd_sasl_path = private/auth
# Включение аутентификации SASL
smtpd_sasl_auth_enable = yes
# Правила для разрешения отправки
smtpd_recipient_restrictions =
permit_sasl_authenticated, # Разрешить авторизованным пользователям
permit_mynetworks, # Разрешить для доверенных сетей
reject_unauth_destination # Отклонить отправку в неавторизованные домены
-- Конфигурация Milter для DKIM --
Код: Скопировать в буфер обмена
Код:
# Протокол для milter (mail filter)
milter_protocol = 6
# Принимать почту, если milter недоступен
milter_default_action = accept
# Указание на milter для аутентификации почты через порт 12301
smtpd_milters = inet:localhost:12301
# Настройка для взаимодействия с milter на всех интерфейсах
non_smtpd_milters = $smtpd_milters
-- Основная конфигурация Postfix --
Код: Скопировать в буфер обмена
Код:
# Имя хоста сервера
myhostname = mail.lolasdelights.com
# Основной домен для сервера
mydomain = lolasdelights.com
# Происхождение всех писем (исходящие письма будут иметь этот домен в поле "От")
myorigin = $mydomain
# Настройки для работы alias
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# Домены, отвечающие за доставку почты
mydestination = $myhostname, localhost.$mydomain, localhost, lolasdelights.com
# Реле для исходящих писем (если нужно перенаправлять почту через другой сервер)
relayhost =
# Сети, которые считаются доверенными
mynetworks = 127.0.0.0/8 [::1]/128
# Использование формата Maildir для хранения почты
home_mailbox = Maildir/
# Ограничение на размер почтовых ящиков (0 — без ограничения)
mailbox_size_limit = 0
# Разделитель для пользователей (например, user+label@example.com)
recipient_delimiter = +
# Интерфейсы, на которых сервер будет слушать
inet_interfaces = all
# Протоколы, которые будет поддерживать сервер (all — IPv4 и IPv6)
inet_protocols = all
Настройка master.cf:
Код: Скопировать в буфер обмена
sudo nano /etc/postfix/master.cf
Тут достаточно сложный конфиг, но нам надо только проследить, чтобы все протоколы и порты работали.
Код: Скопировать в буфер обмена
Код:
# Настройка для обработки входящей SMTP-почты (порт 25)
smtp inet n - y - - smtpd
# Настройка для защищенного SMTP (SMTPS на порту 465)
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps # Логирование с пометкой smtps
-o smtpd_tls_wrappermode=yes # Включение TLS в режиме "обертки"
-o smtpd_sasl_auth_enable=yes # Включение аутентификации через SASL для smtps
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # Разрешить только аутентифицированных пользователей, остальным — отказ
-o milter_macro_daemon_name=ORIGINATING # Использование Milter (DKIM)
# Настройка для защищенной отправки почты через порт 587 (submission)
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes # Включение аутентификации через SASL для submission
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # Разрешение отправки только аутентифицированным пользователям
-o milter_macro_daemon_name=ORIGINATING
-o smtpd_sasl_auth_enable=yes
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
-o syslog_name=postfix/$service_name
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 1 scache
postlog unix-dgram n - n - 1 postlogd
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
Установка Dovecot.
Dovecot — это сервер IMAP и POP3 с открытым исходным кодом для операционных систем типа Unix, написанный в первую очередь с учетом безопасности.
В связке с Postfix он отвечает за управление почтовыми ящиками и предоставление безопасного доступа к почте для пользователей через почтовые клиенты.
Код: Скопировать в буфер обмена
sudo apt install dovecot-imapd dovecot-pop3d -y
Настройка конфигов:
-- dovecot.conf --
Код: Скопировать в буфер обмена
sudo nano /etc/dovecot/dovecot.conf
Код: Скопировать в буфер обмена
Код:
# Определяет, какие протоколы поддерживаются сервером
protocols = imap pop3 lmtp
# Указываем серверу включить все конфигурационные файлы,
# которые находятся в папке /etc/dovecot/conf.d/
!include conf.d/*.conf
# Эта строка включает local.conf, если такой файл существует.
# Это удобно для локальных настроек, которые не должны зависеть от основной конфигурации.
!include_try local.conf
*Так как я брал только базу, вот еще популярные дополнительные инструкции, которые можно добавить в конфиг:
Quota. Позволяет ограничить объём почты, который пользователь может хранить на сервере.
Код: Скопировать в буфер обмена
Код:
plugin {
quota = maildir:User quota
quota_rule = *:storage=1G
quota_rule2 = Trash:storage=100M
}
Настройки сессий. Вы можете настроить параметры сессий, чтобы уменьшить нагрузку на сервер и ускорить отклик.
mail_max_userip_connections = 10
IDLE для IMAP. Включение IMAP IDLE помогает моментально доставлять уведомления о новых письмах почтовым клиентам.
Код: Скопировать в буфер обмена
imap_idle_notify_interval = 2 mins
-- 10-mail.conf --
Код: Скопировать в буфер обмена
sudo nano /etc/dovecot/conf.d/10-mail.conf
Код: Скопировать в буфер обмена
Код:
# Указывает, где хранится почта для пользователей.
mail_location = maildir:~/Maildir
namespace inbox {
# Задаёт пространство имён как основное
inbox = yes
# Устанавливает разделитель для каталогов
separator = /
# Указывает местоположение почтового ящика пользователя
location = maildir:~/Maildir
# Префикс для всех папок, находящихся в этом пространстве имён.
prefix = INBOX/
# Здесь настраиваются стандартные почтовые ящики:
mailbox Drafts {
auto = create
special_use = \Drafts
}
mailbox Sent {
auto = create
special_use = \Sent
}
mailbox Trash {
auto = create
special_use = \Trash
}
mailbox Junk {
auto = create
special_use = \Junk
}
mailbox Archive {
auto = create
special_use = \Archive
}
# автоматически подписывает пользователя на папку INBOX(сразу виден в почтовом клиенте)
mailbox INBOX {
auto = subscribe
}
}
# Оптимизация для формата Maildir
maildir_stat_dirs = yes
# Устанавливает привилегированную группу для доступа к почтовым директориям
mail_privileged_group = mail
# Задают диапазон UID, для которых Dovecot разрешает доступ к почте.
# По сути всех, кроме системных
first_valid_uid = 1000
last_valid_uid = 65535
# Улучшенная настройка для безопасной записи писем
mail_fsync = optimized
- mailbox_list_index = yes — ускоряет доступ к списку папок, сохраняя индексированные данные о папках и их содержимом.
- maildir_copy_with_hardlinks = yes — уменьшает использование дискового пространства при копировании писем внутри Maildir, создавая жёсткие ссылки вместо дублирования файлов.
- mail_plugins = quota — включает плагин для учёта квоты на использование почтового пространства.
- mail_max_userip_connections = 10 — ограничивает количество одновременных подключений с одного IP-адреса для одного пользователя, предотвращая перегрузку сервера.
- maildir_very_dirty_syncs = yes — уменьшает частоту синхронизаций данных на диск, что может улучшить производительность на серверах с высоким трафиком, но немного увеличивает риск потери данных при сбоях.
-- 10-ssl.conf --
Код: Скопировать в буфер обмена
sudo nano /etc/dovecot/conf.d/10-ssl.conf
Базовые настройки:
Код: Скопировать в буфер обмена
Код:
# Cервер требует обязательного использования SSL/TLS для всех подключений.
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.lolasdelights.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.lolasdelights.com/privkey.pem
- ssl_protocols = !SSLv3 !TLSv1 !TLSv1.1. Отключает устаревшие протоколы, такие как SSLv3, TLSv1, и TLSv1.1, которые небезопасны. Это помогает защитить сервер от уязвимостей в старых версиях протоколов.
- ssl_prefer_server_ciphers = yes. Указывает серверу использовать свои наборы шифров для соединений с клиентами, что помогает обеспечить более высокий уровень безопасности.
- ssl_dh_parameters_length = 2048. Устанавливает длину ключа для Diffie-Hellman параметров. Большее значение, такое как 2048, делает соединение более безопасным.
- ssl_cipher_list = HIGH:!aNULL:!MD5. Определяет список шифров, которые сервер может использовать. Параметры HIGH указывают на использование сильных шифров, а !aNULL и !MD5 отключают слабые алгоритмы аутентификации и хэширования, такие как MD5.
- ssl_min_protocol = TLSv1.2. Минимальная версия протокола, которую сервер будет поддерживать. Указание TLSv1.2 заставляет сервер отклонять соединения с более старыми и менее безопасными версиями протоколов.
Настройка SSL/TLS
До этого в конфигах я уже указывал пути к сертификатам. Сертификаты устанавливаются по дефолтным путями и вам надо только поменять свой домен.
Для это надо установить Certbot:
Код: Скопировать в буфер обмена
sudo apt install certbot -y
Получаем сертификаты:
Код: Скопировать в буфер обмена
sudo certbot certonly --standalone --preferred-challenges http -d mail.example.com
Вот, что вы должны увидеть при удачном получении:
Далее возвращаемся к конфигам и исправляем там все сертификаты, просто заменяя домен мой, на ваш.
Так же, важно, не забудьте предоставить postfix и dovecot права к файлам.
Установка OpenDKIM
Код: Скопировать в буфер обмена
sudo apt install opendkim opendkim-tools -y
Создаем необходимые директории:
Код: Скопировать в буфер обмена
Код:
sudo mkdir /etc/opendkim
sudo mkdir /etc/opendkim/keys
Настраиваем конфиг:
Код: Скопировать в буфер обмена
sudo nano /etc/opendkim.conf
Код: Скопировать в буфер обмена
Код:
# Включает логирование событий OpenDKIM
Syslog yes
# Устанавливает права доступа для создаваемых файлов и директорий
UMask 002
# Определяет алгоритмы каноникализации для DKIM-подписи.
Canonicalization relaxed/simple
# Включает режимы подписи и проверки
Mode sv
# Гарантирует, что заголовок From будет подписан
OversignHeaders From
# Пути
KeyTable /etc/opendkim/key.table
SigningTable /etc/opendkim/signing.table
ExternalIgnoreList /etc/opendkim/trusted.hosts
InternalHosts /etc/opendkim/trusted.hosts
# Cокет, через который Postfix взаимодействует с OpenDKIM
Socket inet:12301@localhost
# Файл, в котором хранится идентификатор процесса OpenDKIM
PidFile /run/opendkim/opendkim.pid
Создаем KeyTable:
Код: Скопировать в буфер обмена
sudo nano /etc/opendkim/key.table
И добавляем строку:
Код: Скопировать в буфер обмена
Код:
*@lolasdelights.com mail._domainkey.lolasdelights.com
# Не забывай менять домен
Настройка доверенных хостов:
Код: Скопировать в буфер обмена
sudo nano /etc/opendkim/trusted.hosts
Код: Скопировать в буфер обмена
Код:
127.0.0.1
localhost
80.66.84.179
lolasdelights.com
Генерация DKIM-ключей:
Код: Скопировать в буфер обмена
Код:
sudo mkdir /etc/opendkim/keys/lolasdelights.com
# Сгенерируй ключ
sudo opendkim-genkey -s mail -d lolasdelights.com
# Перемести сгенерированные файлы:
sudo mv mail.private /etc/opendkim/keys/lolasdelights.com/
sudo mv mail.txt /etc/opendkim/keys/lolasdelights.com/
# Не забывай права менять
sudo chown -R opendkim:opendkim /etc/opendkim/keys/example.com
Настройка DNS записей
Нам надо добавить несколько записей:
- A-запись для lolasdelights.com:
- Тип: A
- Имя/Хост: @
- Значение: IP-адрес вашего сервера
- A-запись для mail.lolasdelights.com:
- Тип: A
- Имя/Хост: mail
- Значение: IP-адрес вашего сервера
- MX-запись:
- Тип: MX
- Имя/Хост: @
- Значение: 10 mail.lolasdelights.com.
- SPF-запись:
- Тип: TXT
- Имя/Хост: @
- Значение: "v=spf1 mx ~all"
- DKIM-запись:
- Имя/Хост: mail._domainkey
- Тип: TXT
- Значение: Содержимое ключа без кавычек и скобок.
- DMARC-запись:
- Тип: TXT
- Имя/Хост: _dmarc
- Значение:"v=DMARC1; p=none; rua=mailto@lolasdelights.com"
Код: Скопировать в буфер обмена
sudo cat /etc/opendkim/keys/lolasdelights.com/mail.txt
Важно, настройки DNS могут обновляться до 8 часов, но обычно пару минут.
Настройка Firewall
Нам надо настроить порты:
Код: Скопировать в буфер обмена
Код:
sudo ufw allow OpenSSH
sudo ufw allow 25
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 587
sudo ufw allow 993
sudo ufw enable
Финал и проверки работы
Перезапускаем все службы:
Код: Скопировать в буфер обмена
Код:
sudo systemctl restart opendkim
sudo systemctl restart postfix
sudo systemctl restart dovecot
Проверяем статус на успешный запуск и логи:
Код: Скопировать в буфер обмена
Код:
sudo systemctl status opendkim
sudo systemctl status postfix
sudo systemctl status dovecot
Если где-то ошибки, смотрим логи. Чаще всего это проблемы с портами, а так же с разрешением доступа файлов сертификатов.
Проверяем порты, например через telnet:
Код: Скопировать в буфер обмена
Код:
# 25
telnet mail.lolasdelights.com 25
Trying 80.66.84.179...
Connected to mail.lolasdelights.com.
Escape character is '^]'.
220 mail.lolasdelights.com ESMTP Postfix (Ubuntu)
# 465
root@srv2358:~# telnet mail.lolasdelights.com 465
Trying 80.66.84.179...
Connected to mail.lolasdelights.com.
Escape character is '^]'.
# 587
root@srv2358:~# telnet mail.lolasdelights.com 587
Trying 80.66.84.179...
Connected to mail.lolasdelights.com.
Escape character is '^]'.
220 mail.lolasdelights.com ESMTP Postfix (Ubuntu)
У вас должна быть примерно такая же картина.
Для проверки портов можно использовать эту команду:
Код: Скопировать в буфер обмена
sudo ss -plnt | grep :465 # или любой другой
Создаём нового системного пользователя для вашего почтового ящика.
Код: Скопировать в буфер обмена
Код:
sudo adduser hahbah # любой ваш юзер
Вводим пароль, он будет такой при подключении к почте.
Далее используем почтовый клиент, я использовал Thunderbird. Можно также установить roundcube, для доступа через веб к вашей почте.
Настраиваем подключение:
- Входящая почта (IMAP):
- Сервер: mail.lolasdelights.com
- Порт: 993 (IMAP с SSL)
- Шифрование: SSL/TLS
- Имя пользователя: hahbah
- Пароль: Пароль, который вы задали при создании пользователя
- Исходящая почта (SMTP):
- Сервер: mail.lolasdelights.com
- Порт: 587 (SMTP с STARTTLS)
- Шифрование: STARTTLS
- Имя пользователя: hahbah
- Пароль: Пароль, который вы задали при создании пользователя
Для проверки можем отправить письмо от рута нам:
Код: Скопировать в буфер обмена
echo -e "Subject: XSS\n\nTest message" | sendmail hahbah@lolasdelights.com
Письмо успешно пришло
Если что-то не работает, вот полезные сайты:
1. mxtoolbox.com - позволяет проверить DNS. Есть хорошая функция Find Problems.
2. mail-tester.com - позволяет проверить отправку сообщений.
Установка своего XMPP
Кратенько расскаду про установку своего xmpp.
Для это используем Prosody.
Код: Скопировать в буфер обмена
Код:
sudo apt update
sudo apt install prosody
Настраиваем наш DNS. Надо добавить 3 новые записи.
A-запись для xmpp.lolasdelights.com:
- Тип: A
- Имя/Хост: xmpp
- Значение: IP-адрес вашего сервера
Пример для клиентских подключений:
- Service: _xmpp-client
- Protocol: TCP
- Name: (оставьте пустым или введите xmpp)
- Priority: 5
- Weight: 0
- Port: 5222
- Target: xmpp.lolasdelights.com
Пример для серверных подключений:
- Service: _xmpp-server
- Protocol: TCP
- Name: (оставьте пустым или введите xmpp)
- Priority: 5
- Weight: 0
- Port: 5269
- Target: xmpp.lolasdelights.com
Настраиваем конфиг:
Код: Скопировать в буфер обмена
sudo nano /etc/prosody/prosody.cfg.lua
Дефолтный конфиг содержит много полезной инфы, нам надо только добавить эти строки:
Код: Скопировать в буфер обмена
Код:
VirtualHost "lolasdelights.com"
ssl = {
key = "/etc/letsencrypt/live/lolasdelights.com/privkey.pem";
certificate = "/etc/letsencrypt/live/lolasdelights.com/fullchain.pem";
}
-- Включаем поддержку XMPP c2s (client-to-server) и s2s (server-to-server) соединений
c2s_require_encryption = true
s2s_require_encryption = true
Не забываем дать права:
Код: Скопировать в буфер обмена
Код:
sudo chown prosody:prosody /etc/letsencrypt/live/lolasdelights.com/privkey.pem
sudo chown prosody:prosody /etc/letsencrypt/live/lolasdelights.com/fullchain.pem
sudo chmod 640 /etc/letsencrypt/live/lolasdelights.com/privkey.pem
sudo chmod 640 /etc/letsencrypt/live/lolasdelights.com/fullchain.pem
Добавляем юзера:
Код: Скопировать в буфер обмена
Код:
sudo prosodyctl adduser hahbah@lolasdelights.com
Также пароль вводим.
Если надо обновляем сертификат:
Код: Скопировать в буфер обмена
sudo certbot certonly --standalone -d lolasdelights.com
Перезапускаем службу:
Код: Скопировать в буфер обмена
sudo systemctl restart prosody
Добавляем порты:
Код: Скопировать в буфер обмена
Код:
sudo ufw allow 5222
sudo ufw allow 5269
sudo ufw enable
Все готово, далее добавляем наш сервер, через какой-нибудь клиент.
Для примера я использовал Pidgin.
Введите следующие параметры:
- Username: hahbah
- Domain : lolasdelights.com
- Resource: можно оставить пустым или ввести что-то вроде Home (это имя устройства).
- Password: введите пароль пользователя, который вы создали.
- Connect Server: введите xmpp.lolasdelights.com.
- Port: 5222.
- Убедитесь, что Use encryption if available (Использовать шифрование, если доступно) включено.
И проверяем отправляя кому-нибудь запрос. Я отправил на свой jabber.
Это только базовые настройки, который хватит для использования. Кто захочет, думаю углубиться в конфиги.
Так же рекомендую установить антиспам и антивирусных инструментов.
Код: Скопировать в буфер обмена
Код:
sudo apt install spamassassin -y
# Вряд ли он пригодится. Но если интересно
sudo apt install clamav clamav-daemon -y
А так же установить Fail2Ban.
Надеюсь ничего не упустил и эта статья хоть кому-то будет полезна.
Спасибо за внимание)