Настройка почтового сервера (Postfix)
Содержание
- 1 Настройка почтового сервера (Postfix)
- 1.1 1. Подготовка системы
- 1.2 2. Установка Postfix =
- 1.3 3. Базовая настройка Postfix =
- 1.4 4. Настройка аутентификации =
- 1.5 5. Настройка пользователей =
- 1.6 6. Настройка Dovecot =
- 1.7 7. Настройка SSL/TLS =
- 1.8 8. Настройка файрвола =
- 1.9 9. Управление Postfix =
- 1.10 10. Мониторинг и логирование =
- 1.11 11. Устранение неполадок =
- 1.12 12. Дополнительные настройки =
- 1.13 Заключение
Настройка почтового сервера (Postfix)
1. Подготовка системы
- Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
- Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
2. Установка Postfix =
Установка пакета
1. Обновите список пакетов:
sudo apt update
2. Установите Postfix:
sudo apt install postfix
3. Установите дополнительные компоненты:
sudo apt install mailutils dovecot-core dovecot-imapd dovecot-pop3d
Настройка при установке
1. При установке выберите тип конфигурации:
- Internet Site - для обычного почтового сервера
- Internet with smarthost - для использования внешнего SMTP
- Satellite system - для пересылки почты
2. Введите доменное имя сервера:
mail.example.com
3. Базовая настройка Postfix =
Основная конфигурация
1. Отредактируйте основной файл конфигурации:
sudo nano /etc/postfix/main.cf
2. Настройте основные параметры:
- Основные настройки
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
Настройка безопасности
1. Добавьте настройки безопасности:
- Настройки безопасности
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname
2. Настройте ограничения:
- Ограничения
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain
4. Настройка аутентификации =
Установка SASL
1. Установите SASL:
sudo apt install libsasl2-modules libsasl2-modules-sql
2. Настройте SASL:
sudo nano /etc/postfix/sasl/smtpd.conf
3. Добавьте содержимое:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
Настройка аутентификации в Postfix
1. Отредактируйте конфигурацию:
sudo nano /etc/postfix/main.cf
2. Добавьте настройки SASL:
- SASL настройки
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
3. Настройте TLS:
- TLS настройки
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtp_tls_security_level = may
5. Настройка пользователей =
Создание пользователей
1. Создайте пользователя для почты:
sudo useradd -m -s /bin/bash user1
2. Установите пароль:
sudo passwd user1
3. Добавьте пользователя в SASL базу данных:
sudo saslpasswd2 -c -u example.com user1
4. Проверьте пользователей:
sudo sasldblistusers2
Настройка виртуальных пользователей
1. Создайте файл виртуальных пользователей:
sudo nano /etc/postfix/virtual_users
2. Добавьте пользователей:
user1@example.com user1
user2@example.com user2
admin@example.com admin
3. Создайте базу данных:
sudo postmap /etc/postfix/virtual_users
4. Настройте Postfix для виртуальных пользователей:
sudo nano /etc/postfix/main.cf
5. Добавьте настройки:
- Виртуальные пользователи
virtual_alias_maps = hash:/etc/postfix/virtual_users
virtual_mailbox_domains = example.com
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxes
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
6. Настройка Dovecot =
Основная конфигурация
1. Отредактируйте конфигурацию Dovecot:
sudo nano /etc/dovecot/dovecot.conf
2. Настройте основные параметры:
- Основные настройки
protocols = imap pop3 lmtp
listen = *, ::
mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail
userdb {
driver = passwd
}
passdb {
driver = pam
}
Настройка IMAP/POP3
1. Настройте IMAP:
sudo nano /etc/dovecot/conf.d/10-mail.conf
2. Добавьте настройки:
mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail
3. Настройте аутентификацию:
sudo nano /etc/dovecot/conf.d/10-auth.conf
4. Добавьте настройки:
auth_mechanisms = plain login
!include auth-system.conf.ext
7. Настройка SSL/TLS =
Генерация SSL сертификата
1. Создайте приватный ключ:
sudo openssl genrsa -out /etc/ssl/private/mail.example.com.key 2048
2. Создайте запрос на сертификат:
sudo openssl req -new -key /etc/ssl/private/mail.example.com.key -out /etc/ssl/certs/mail.example.com.csr
3. Создайте самоподписанный сертификат:
sudo openssl x509 -req -days 365 -in /etc/ssl/certs/mail.example.com.csr -signkey /etc/ssl/private/mail.example.com.key -out /etc/ssl/certs/mail.example.com.crt
Настройка SSL в Postfix
1. Отредактируйте конфигурацию:
sudo nano /etc/postfix/main.cf
2. Обновите настройки TLS:
- TLS настройки
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/ssl/certs/mail.example.com.crt
smtpd_tls_key_file = /etc/ssl/private/mail.example.com.key
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_ciphers = high
Настройка SSL в Dovecot
1. Отредактируйте конфигурацию:
sudo nano /etc/dovecot/conf.d/10-ssl.conf
2. Настройте SSL:
ssl = yes
ssl_cert = </etc/ssl/certs/mail.example.com.crt
ssl_key = </etc/ssl/private/mail.example.com.key
ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384
8. Настройка файрвола =
Настройка UFW
1. Разрешите почтовые порты:
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 465/tcp
sudo ufw allow 993/tcp
sudo ufw allow 995/tcp
sudo ufw allow 143/tcp
sudo ufw allow 110/tcp
2. Проверьте статус:
sudo ufw status
Настройка iptables
1. Разрешите почтовые порты:
sudo iptables -A INPUT -p tcp --dport 25 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 587 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 465 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 993 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 995 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 143 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 110 -j ACCEPT
2. Сохраните правила:
sudo iptables-save > /etc/iptables/rules.v4
9. Управление Postfix =
Основные команды управления
- Запуск Postfix:
sudo systemctl start postfix
- Остановка Postfix:
sudo systemctl stop postfix
- Перезапуск Postfix:
sudo systemctl restart postfix
- Проверка статуса:
sudo systemctl status postfix
- Проверка конфигурации:
sudo postfix check
- Перезагрузка конфигурации:
sudo postfix reload
Управление очередью почты
1. Просмотрите очередь:
sudo postqueue -p
2. Очистите очередь:
sudo postqueue -f
3. Удалите все письма из очереди:
sudo postsuper -d ALL
4. Удалите письма старше определенного времени:
sudo postsuper -d ALL deferred
10. Мониторинг и логирование =
Настройка логирования
1. Отредактируйте конфигурацию логирования:
sudo nano /etc/rsyslog.d/50-default.conf
2. Добавьте настройки для Postfix:
- Postfix logging
mail.* -/var/log/mail.log
mail.err -/var/log/mail.err
3. Перезапустите rsyslog:
sudo systemctl restart rsyslog
Просмотр логов
1. Просмотрите логи Postfix:
sudo tail -f /var/log/mail.log
2. Просмотрите логи Dovecot:
sudo tail -f /var/log/dovecot.log
3. Просмотрите системные логи:
sudo journalctl -u postfix -f
sudo journalctl -u dovecot -f
Создание скрипта мониторинга
1. Создайте скрипт мониторинга:
sudo nano /usr/local/bin/mail-monitor.sh
2. Добавьте содержимое:
- !/bin/bash
- Проверка статуса Postfix
if systemctl is-active --quiet postfix; then
echo "Postfix is running"
else
echo "Postfix is not running"
# Отправка уведомления
echo "Postfix is down" | mail -s "Mail Server Alert" admin@example.com
fi
- Проверка статуса Dovecot
if systemctl is-active --quiet dovecot; then
echo "Dovecot is running"
else
echo "Dovecot is not running"
# Отправка уведомления
echo "Dovecot is down" | mail -s "Mail Server Alert" admin@example.com
fi
- Проверка размера очереди
QUEUE_SIZE=$(sudo postqueue -p | grep -c "^[A-F0-9]")
if [ $QUEUE_SIZE -gt 100 ]; then
echo "ALERT: Large mail queue: $QUEUE_SIZE messages" | mail -s "Mail Queue Alert" admin@example.com
fi
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/mail-monitor.sh
11. Устранение неполадок =
Частые проблемы
1. Postfix не запускается:
- Проверьте конфигурацию:
sudo postfix check
- Проверьте логи:
sudo journalctl -u postfix
- Проверьте порты:
sudo netstat -tlnp | grep :25
2. Письма не отправляются:
- Проверьте настройки релея
- Проверьте DNS записи
- Проверьте файрвол
3. Пользователи не могут получать почту:
- Проверьте настройки Dovecot
- Проверьте права доступа к почтовым ящикам
- Проверьте аутентификацию
Диагностика
1. Проверьте статус служб:
sudo systemctl status postfix
sudo systemctl status dovecot
2. Проверьте конфигурацию:
sudo postfix check
sudo doveconf -n
3. Проверьте подключения:
sudo netstat -tlnp | grep -E ':(25|587|465|993|995|143|110)'
4. Проверьте DNS записи:
dig MX example.com
dig A mail.example.com
12. Дополнительные настройки =
Настройка антиспама
1. Установите SpamAssassin:
sudo apt install spamassassin spamc
2. Настройте Postfix для использования SpamAssassin:
sudo nano /etc/postfix/master.cf
3. Добавьте настройки:
- SpamAssassin
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Настройка антивируса
1. Установите ClamAV:
sudo apt install clamav clamav-daemon
2. Настройте Postfix для использования ClamAV:
sudo nano /etc/postfix/master.cf
3. Добавьте настройки:
- ClamAV
clamav unix - n n - - pipe
user=clamav argv=/usr/bin/clamdscan --stdout --no-summary -i
Заключение
Почтовый сервер Postfix успешно установлен и настроен! Теперь вы можете отправлять и получать электронную почту.
Для размещения ваших почтовых серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных почтовых серверов
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних проектов
Наши специалисты помогут с настройкой почтового сервера и обеспечением безопасности вашей почты!