Почтовый сервер Postfix на CentOS 7 с виртуальными доменами, системой управления, веб-доступом и многим другим

Термины по теме: Postfix, POP3, SMTP, IMAP, MariaDB, CentOS, PostfixAdmin, DovecotRoundcube

В данной инструкции выполнена настройка полноценного почтового сервера. Список всех особенностей и возможностей:

Содержание

1. Преднастройка системы
2. Настройка веб-сервера: NGINX + PHP + MariaDB
3. Установка и настройка PostfixAdmin
4. Настройка Postfix
5. Настройка Dovecot
6. Проверка работы сервера
7. Настройка Roundcube Webmail
8. Защита от вирусов
9. Защита со СПАМа

1. Преднастройка системы

Напоминаю, данная инструкция написана под систему Linux CentOS версии 7.

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

vi /etc/hostname

relay.dmosk.ru

* необходимо указать FQDN-имя, которое будет доступно из глобальной сети. В данном примере указано relay.dmosk.ru.

После вводим такую команду:

hostname relay.dmosk.ru

Устанавливаем служебные пакеты (они понадобятся в процессе настройки сервера):

yum install ntp wget

ntp для возможности синхронизировать время на сервере; wget — клиент для загрузки файлов.

Задаем временную зону (в данном примере московское время):

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Синхронизируем время:

ntpdate ru.pool.ntp.org

Обновляем систему:

yum update

Заранее открываем порты на брандмауэре:

firewall-cmd --permanent --add-port=25/tcp

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --permanent --add-port=110/tcp

firewall-cmd --permanent --add-port=143/tcp

firewall-cmd --permanent --add-port=443/tcp

firewall-cmd --permanent --add-port=465/tcp

firewall-cmd --permanent --add-port=587/tcp

firewall-cmd --permanent --add-port=993/tcp

firewall-cmd --permanent --add-port=995/tcp

firewall-cmd --reload

* где мы откроем следующие порты:

2. Настройка веб-сервера: NGINX + PHP + MariaDB

Система управления PostfixAdmin работает как веб-приложение, разработанное на PHP, а информацию хранит в базе данных. В нашем примере будет использоваться веб-сервер на NGINX, а база данных — MariaDB.

Установка NGINX

Добавляем репозиторий с нужным пакетом:

vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Устанавливаем nginx:

yum install nginx

Разрешаем автозапуск сервиса и запускаем его:

systemctl enable nginx

systemctl start nginx

Проверяем работоспособность веб-сервера, обратившись к нему в браузере по IP-адресу. Если видим заголовок «Welcome to nginx!», NGINX настроен верно.

Приветствие NGINX — все настроено верно

PHP + PHP-FPM + NGINX

Устанавливаем php и php-fpm:

yum install php

yum install php-fpm

Настраиваем NGINX:

vi /etc/nginx/conf.d/default.conf

server {
    listen       80 default_server;
    set $root_path /usr/share/nginx/html;

    location / {
        root   $root_path;
        index index.php index.hml;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param DOCUMENT_ROOT $root_path;
    }
}

* где /usr/share/nginx/html — каталог для размещения портала управления Postfix.

Настраиваем PHP-FPM:

vi /etc/php-fpm.d/www.conf

listen = /var/run/php-fpm/php5-fpm.sock

* здесь мы поменяли строку 127.0.0.1:9000.

Запускаем сервисы:

systemctl enable php-fpm

systemctl start php-fpm

systemctl restart nginx

* если в процессе перезапуска nginx выскочит ошибка nginx: [emerg] a duplicate default server, необходимо найти настройку виртуального домена, в которой также указана опция default_server — опцию нужно убрать. Или можно самостоятельно настроить другой виртуальный домен.

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

vi /usr/share/nginx/html/index.php

<?php phpinfo(); ?>

Открываем сайт в браузере по его IP-адресу. На открывшейся странице мы должны увидеть подробную информацию по php:

phpinfo

MariaDB

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

yum install mariadb mariadb-server

Включаем автозапуск сервиса и запускаем его:

systemctl enable mariadb

systemctl start mariadb

Задаем пароль для пользователя sql root:

mysqladmin -u root password

3. Установка и настройка PostfixAdmin

Устанавливаем дополнительные компоненты для PHP:

yum install php-mysql php-mbstring php-imap

Для применения установленных пакетов, перезапускаем обработчик скриптов:

systemctl restart php-fpm

Скачиваем PostfixAdmin:

wget https://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz

В директории сайтов nginx создаем каталог для postfixadmin и распаковываем в него архив:

mkdir /usr/share/nginx/html/postfixadmin

tar -C /usr/share/nginx/html/postfixadmin -xvf postfixadmin.tar.gz --strip-components 1

Задаем права на каталог:

chown -R apache:apache /usr/share/nginx/html/postfixadmin

* несмотря на то, что мы используем веб-сервер nginx, php-fpm по умолчанию, запускается от пользователя apache.

Создаем базу данных postfix и учетную запись в mariadb:

mysql -u root -p

CREATE DATABASE postfix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

* где postfix — имя базы.

GRANT ALL ON postfix.* TO 'postfix'@'localhost' IDENTIFIED BY 'postfix123';

* где postfix — имя учетной записи; postfix123 — пароль; localhost разрешает подключение только с локального сервера.

Выходим из командной оболочки MariaDB:

\q

Открываем конфигурационный файл postfixadmin:

vi /usr/share/nginx/html/postfixadmin/config.inc.php

И редактируем следующее:

$CONF['configured'] = true;
$CONF['default_language'] = 'ru';
$CONF['database_password'] = 'postfix123';
$CONF['emailcheck_resolve_domain']='NO';

Запускаем браузер и вводим адрес http://<IP-адрес сервера>/postfixadmin/setup.php

Начнется процесс проверки конфигурации и установки портала PostfixAdmin. После ее окончания вводим дважды пароль и генерируем хэш:

Вводим дважды пароль после установки PostfixAdmin

После перезагрузки страницы копируем хэш:

Так выглядит хэш PostfixAdmin

Открываем конфигурационный файл:

vi /usr/share/nginx/html/postfixadmin/config.inc.php

Находим строчку:

$CONF['setup_password'] = 'changeme';

И меняем ее на:

$CONF['setup_password'] = '7a8e14...c26';

* где '7a8e14...c26' — скопированный хэш.

После, на той же странице, где показан хэш, добавляем суперпользователя PostfixAdmin:

Создаем суперпользователя PostfixAdmin

* где Setup password — пароль, который мы ввели на предыдущей странице; Пароль — новый пароль для создаваемой учетной записи.

В итоге мы увидим следующее:

Мы создали суперпользователя для управления Postfix

И переходим в браузере на страницу http://<IP-адрес сервера>/postfixadmin/

Вводим логин и пароль для созданного пользователя.

Готово.

4. Настройка Postfix

По умолчанию, Postfix уже установлен в CentOS 7. Но если встретится сервер без него, выполним установку простой командой:

yum install postfix

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

groupadd -g 1024 vmail
useradd -d /home/mail -g 1024 -u 1024 vmail -m

* сначала мы создаем группу vmail и guid 1024, после — пользователя vmail с uid 1024 и домашней директорией /home/mail. Обратите внимание, что в некоторых системах идентификатор группы и пользователя 1024 может быть занят. В таком случае необходимо создать другой, а в данной инструкции ниже заменить все 1024 на альтернативный.

Теперь открываем на редактирование конфигурационный файл почтового сервера:

vi /etc/postfix/main.cf

И редактируем следующие строки:

myorigin = $mydomain

* данная настройка указывает, какой домен подставлять отправителю, если он не указан в заголовке FROM.

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

* указываем, для каких доменов принимаем входящую почту.

local_recipient_maps = unix:passwd.byname $alias_maps

* указываем, откуда брать список локальных пользователей.

mynetworks = 127.0.0.0/8

* разрешаем отправлять сообщения локальному серверу.

alias_maps = hash:/etc/aliases

* указываем, откуда брать список алиасов.

inet_interfaces = all

* необходимо убедиться, что postfix будет слушать на всех необходимых интерфейсах, в данном случае, на всех.

Теперь в конец конфигурационного файла допишем следующее:

virtual_mailbox_base = /home/mail
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 1024
virtual_uid_maps = static:1024
virtual_gid_maps = static:1024
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

smtpd_tls_cert_file = /etc/ssl/mail/public.pem
smtpd_tls_key_file = /etc/ssl/mail/private.key
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_helo_required = yes

* где:

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

vi /etc/postfix/mysql_virtual_alias_maps.cf

user = postfix
password = postfix123
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'

* где user и password — логин и пароль для подключения к MySQL; hosts — имя сервера баз данных (в нашем случае, локальный сервер); dbname — имя базы данных; query — шаблон запроса к данным.

Создаем файл с инструкцией получения данных по виртуальным доменам:

vi /etc/postfix/mysql_virtual_domains_maps.cf

user = postfix
password = postfix123
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%u'

И файл с почтовыми ящиками:

vi /etc/postfix/mysql_virtual_mailbox_maps.cf

user = postfix
password = postfix123
hosts = localhost
dbname = postfix
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'

Открываем файл master.cf и дописываем в самый конец:

vi /etc/postfix/master.cf

submission     inet  n       -       n       -       -       smtpd
    -o smtpd_tls_security_level=may
    -o smtpd_sasl_auth_enable=yes
    -o smtpd_sasl_type=dovecot
    -o smtpd_sasl_path=/var/spool/postfix/private/auth
    -o smtpd_sasl_security_options=noanonymous
    -o smtpd_sasl_local_domain=$myhostname

smtps      inet n - n - - smtpd
    -o syslog_name=postfix/smtps
    -o smtpd_tls_wrappermode=yes
    -o smtpd_sasl_auth_enable=yes
    -o smtpd_client_restrictions=permit_sasl_authenticated,reject

dovecot    unix  -       n       n       -        -       pipe
    flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}

* необходимо убедиться, что в содержимом файла нет других раскомментированных опций для submission, smtps и dovecot (по умолчанию, их нет). В данном случае, мы настроили работу postfix на портах 25, 465 и 587.

Перезапустим postfix:

systemctl restart postfix

5. Настройка Dovecot

Устанавливаем Dovecot с компонентом для работы с СУБД:

yum install dovecot dovecot-mysql

Настраиваем способ хранения сообщений:

vi /etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:/home/mail/%d/%u/
first_valid_gid = 1024

* в данном примере сообщения будут храниться в продвинутом формате maildir.

Настраиваем слушателя для аутентификации:

vi /etc/dovecot/conf.d/10-master.conf

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
    group = vmail
  }
}

* обращаем внимание, что /var/spool/postfix/private/auth — это тот же private/auth, который был прописан нами в postfix.

Настраиваем аутентификацию в Dovecot:

vi /etc/dovecot/conf.d/10-auth.conf

#!include auth-system.conf.ext
!include auth-sql.conf.ext

* в данном случае мы просто комментируем обычную аутентификацию и снимаем комментарий для использования sql-аутнтификации.

Настраиваем использование шифрования:

vi /etc/dovecot/conf.d/10-ssl.conf

ssl = required
ssl_cert = </etc/ssl/mail/public.pem
ssl_key = </etc/ssl/mail/private.key

* данная настройка укажет dovecot требовать от клиентов использования шифрования.

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

vi /etc/dovecot/conf.d/15-lda.conf

lda_mailbox_autocreate = yes

Настраиваем подключение к нашей базе данных:

vi /etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  …
  args = /etc/dovecot/sql.conf
}

userdb {
  …
  args = /etc/dovecot/sql.conf
}

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

Создаем файл с настройками работы с mysql:

vi /etc/dovecot/sql.conf

driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfix123
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 1024 AS uid, 1024 AS gid FROM mailbox WHERE username = '%u'
user_query = SELECT CONCAT('/home/mail/',LCASE(`domain`),'/',LCASE(`maildir`)), 1024 AS uid, 1024 AS gid FROM mailbox WHERE username = '%u'

И, напоследок, настраиваем протоколы и интерфейс, на котором будет слушать dovecot:

vi /etc/dovecot/dovecot.conf

protocols = imap imaps pop3 pop3s
listen = *

* по умолчанию, dovecot слушает также на ipv6 (listen = *, ::). Если на сервере не используется 6-я версия протокола TCP/IP, в логах dovecot появятся ошибки:
master: Error: service(imap-login): listen(::, 143) failed: Address family not supported by protocol
master: Error: service(imap-login): listen(::, 993) failed: Address family not supported by protocol

Генерируем сертификаты безопасности

Создаем каталог, в котором разместим сертификаты:

mkdir -p /etc/ssl/mail

И сгенерируем их следующей командой:

openssl req -new -x509 -days 1461 -nodes -out /etc/ssl/mail/public.pem -keyout /etc/ssl/mail/private.key -subj "/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=relay.dmosk.ru"

* сертификат сгенерирован на 1461 день, ключи subj могут быть произвольными, CN необходимо указать в соответствии с именем сервера, по которому мы будем подключаться к почте.

Запускаем dovecot:

systemctl start dovecot

6. Создаем первый почтовый ящик и проверяем работу сервера

В браузере вводим в адресной строке путь до Postfixadmin — http://<IP-адрес сервера>/postfixadmin/.

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

Переходим в Список доменов - Новый домен:

Создаем новый домен в Postfixadmin

Заполняем формы и нажимаем по Добавить домен:

Данные домена

Теперь переходим в Обзор - Создать ящик:

Создаем новый почтовый ящик через Postfixadmin

Вводим данные нового пользователя и нажимаем по Создать ящик:

Заполняем данные для создания нового ящика

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

Параметры для подключения:

7. Устанавливаем и настраиваем Roundcube Webmail

На официальном сайте заходим на страницу загрузки Roundcube. Смотрим ссылку на последнюю стабильную версию продукта:

Скачиваем стабильную версию Roundcube

Используем ссылку, чтобы загрузить архив программы:

wget https://github.com/roundcube/roundcubemail/releases/download/1.1.9/roundcubemail-1.1.9.tar.gz

Создаем каталог, где будут размещаться файлы портала:

mkdir /usr/share/nginx/html/webmail

И распаковываем скачанный архив:

tar -C /usr/share/nginx/html/webmail -xvf roundcubemail-1.1.9.tar.gz --strip-components 1

Копируем шаблон конфига:

cp /usr/share/nginx/html/webmail/config/config.inc.php.sample /usr/share/nginx/html/webmail/config/config.inc.php

И открываем его на редактирование:

vi /usr/share/nginx/html/webmail/config/config.inc.php

$config['db_dsnw'] = 'mysql://roundcube:roundcube123@localhost/roundcubemail';
$config['enable_installer'] = true;

* первую строку мы редактируем, а вторую добавляем. В первой строке roundcube:roundcube123 — логин и пароль для доступа к базе данных; localhost — сервер базы данных; roundcubemail — имя базы данных.

Задаем владельца apache на папку портала:

chown -R apache:apache /usr/share/nginx/html/webmail

Создаем в MariaDB базу для roundcubemail:

mysql -uroot -p

> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'roundcube123';

> quit

И загружаем в созданную базу данные:

mysql -uroot -p roundcube < /usr/share/nginx/html/webmail/SQL/mysql.initial.sql

Устанавливаем компоненты, необходимые для работы Roundcube:

yum install php-pear php-mcrypt php-intl php-ldap php-pear-Net-SMTP php-pear-Net-IDNA2 php-pear-Mail-Mime

Настроим php:

vi /etc/php.ini

date.timezone = "Europe/Moscow"

Перезагружаем php-fpm:

systemctl restart php-fpm

Теперь открываем браузер и переходим по адресу http://<IP-адрес сервера>/webmail/installer/. В самом низу нажимаем по кнопке Next. Если кнопка будет неактивна, проверяем, что нет ошибок (NOT OK).

Проверяем, что все пункты находятся в состоянии OK.

После удаляем папку с установочными скриптами:

\rm -R /usr/share/nginx/html/webmail/installer

И заходим в браузере по адресу http://<IP-адрес сервера>/webmail/.

8. Защищаемся от вирусов

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

Устанавливаем антивирус:

yum install clamav clamsmtp clamav-scanner-systemd clamav-update

Настраиваем postfix:

vi /etc/postfix/main.cf

content_filter = scan:[127.0.0.1]:10025
receive_override_options = no_address_mappings

* где content_filter указывает на приложение, которое будет сканировать сообщения; receive_override_options позволяет увидеть оригинальные email адреса писем с вирусами.

Теперь редактируем master.cf:

vi /etc/postfix/master.cf

Дописываем следующее:

scan unix - - n - 16 smtp
  -o smtp_send_xforward_command=yes
  -o smtp_enforce_tls=no

127.0.0.1:10026 inet n - n - 16 smtpd
  -o content_filter=
  -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
  -o smtpd_helo_restrictions=
  -o smtpd_client_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o mynetworks_style=host
  -o smtpd_authorized_xforward_hosts=127.0.0.0/8

Перезапускаем postfix:

systemctl restart postfix

Конфигурируем clamsmtpd:

vi /etc/clamsmtpd.conf

ClamAddress: /var/run/clamd.scan/clamd.sock
TempDirectory: /var/run/clamd.scan

* где ClamAddress указываем на путь к сокетному файлу — он должен совпадать с путем в конфигурационном файле для clam scan; TempDirectory — путь для хранения временных файлов.

Редактируем конфигурационный файл для clam scan:

vi /etc/clamd.d/scan.conf

PidFile /var/run/clamd.scan/clamd.pid
LocalSocket /var/run/clamd.scan/clamd.sock
User clamsmtp

* где PidFile — путь для pid-файла сервиса; LocalSocket — путь до сокетного файла для взаимодействия с clamsmtp; User — пользователь, от которого будет запускаться clamd.

Редактируем владельца на каталог для сокетного файла:

chown clamsmtp:clamscan /var/run/clamd.scan

Теперь разрешаем запуск антивируса и запускаем его:

systemctl enable clamsmtpd

systemctl start clamsmtpd

systemctl enable clamd@scan

systemctl start clamd@scan

Обновление

Открываем конфиг freshclam и ставим комментарий напротив Example:

vi /etc/freshclam.conf

#Example

Разрешаем и запускаем сервис:

systemctl enable clamd@freshclam

systemctl start clamd@freshclam

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

freshclam

Для настройки автоматического обновления, редактируем cron:

crontab -e

15 3 * * * /bin/freshclam

* в данном примере, каждый день в 03:15 будет запускаться процесс обновления clamav.

Проверка

Для проверки отправляем сообщение со следующим содержимым:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Письмо не должно дойти.

9. Боремся со СПАМом

Проверка контента с помощью Spamassassin

Устанавливаем spamassassin

yum install spamassassin

Редактируем master.cf:

vi /etc/postfix/master.cf

Для smtp добавляем следующую опцию: 

smtp      inet  n       -       n       -       -       smtpd
    -o content_filter=spamassassin

И добавить следующее:

spamassassin      unix  -       n       n       -       -       pipe
  flags=R user=spamd argv=/usr/bin/spamc -u spamd -e /usr/sbin/sendmail -f $sender $recipient

Обновляем spamassassin:

sa-update --nogpg

Разрешаем его запуск и стартуем сервис:

systemctl enable spamassassin

systemctl start spamassassin

Перезапускаем postfix:

systemctl restart postfix

Для автоматического обновления добавим в cron следующее:

crontab -e

30 3 * * * /bin/sa-update

* обновление будет происходить каждый день в 03:30.

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

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Антиспам средствами Postfix

В MTA Postfix встроен свой механизм проверки заголовков входящих сообщений. Правила размещаются в 6 секций, обработка которых выполняется в следующем порядке:

client -> helo -> sender -> relay -> recipient -> data

И так, для настройки антиспама в конфигурационный файл main.cf добавляем:

vi /etc/postfix/main.cf

smtpd_client_restrictions =
        permit_mynetworks
        permit_sasl_authenticated
        reject_unauth_pipelining
        permit

smtpd_helo_restrictions =
        permit

smtpd_sender_restrictions =
        permit_mynetworks
        permit_sasl_authenticated
        reject_non_fqdn_sender
        reject_unknown_sender_domain
        permit

smtpd_relay_restrictions =
        permit

smtpd_recipient_restrictions =
        permit_mynetworks
        permit_sasl_authenticated
        reject_non_fqdn_recipient
        reject_unauth_destination
        reject_unknown_recipient_domain
        reject_unverified_recipient
        permit

smtpd_data_restrictions =
        permit

smtpd_end_of_data_restrictions =
        permit

* это более или менее мягкие правила. Их можно использовать первое время, пока тестируем сервер.

Для усиления защиты добавляем:

smtpd_recipient_restrictions =
        ...
        reject_unknown_client_hostname
        reject_invalid_helo_hostname
        reject_non_fqdn_helo_hostname
        reject_unknown_helo_hostname
        reject_rbl_client bl.spamcop.net
        reject_rbl_client cbl.abuseat.org
        reject_rbl_client dul.ru
        reject_rbl_client dnsbl.abuse.ch
        permit

* где:

После внесения всех правок, необходима перезагрузка Postfix:

systemctl restart postfix

Сервер настроен — можно пользоваться.

# Серверы # UNIX # NGINX # MySQL # Linux # CentOS
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет