Jump to content

Search the Community

Showing results for tags 'imap'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Серверные операционные системы
    • Windows Server 2016
    • Windows Server 2012/2012R2
    • CentOS/Red Hat
    • FreeBSD
  • Клиентские операционные системы
    • Windows 10
    • Windows 7/8
    • Linux
    • MacOS, BSD и прочая экзотика
  • Сети и инфрастуктура
    • Компьютерные сети
    • Active Directory
    • Антивирусы и безопасность в сети
    • VPN и маршуртизация
  • 1С:Предприятие
    • Кластер серверов 1С:Предприятия 8
    • Клиентская платформа 1С:Предприятия 8
  • Сайтостроение
    • Веб-сервера
    • Раскрутка и монетизация
  • Курилка
    • Курилка

Blogs

  • Windows
  • CentOS
  • Linux
  • iOS
  • 1C
  • LAN
  • Mikrotik
  • web-администрирование
  • Разное
  • Asterisk
  • Solaris

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 1 result

  1. В данной инструкции выполнена настройка полноценного почтового сервера. Список всех особенностей и возможностей: Почтовая система на базе Postfix; Поддержка виртуальных доменов; Хранение почты на сервере; Подключение к почтовым ящикам по POP3 и IMAP (Dovecot); Поддержка шифрования; Хранение части настроек в MariaDB; Защита от СПАМа и вирусов; Доступ к почте с помощью веб-интерфейса (Roundcube); Возможность управление почтовыми ящиками с помощью PostfixAdmin. 1. Преднастройка системы Напоминаю, данная инструкция написана под систему Linux CentOS версии 7. Общие настройки Задаем правильное имя серверу — это важный шаг, так как большинство антиспам систем выполняют проверки, обращаясь к серверу по имени в ожидании ответа. vi /etc/hostname relay.dmosk.ru * необходимо указать FQDN-имя, которое будет доступно из глобальной сети. В данном примере указано relay.dmosk.ru. После вводим такую команду: hostname relay.dmosk.ru Устанавливаем служебные пакеты (они понадобятся в процессе настройки сервера): yum install ntpdate wget * ntpdate для возможности синхронизировать время на сервере; wget — клиент для загрузки файлов. Задаем временную зону (в данном примере московское время): \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime Синхронизируем время: ntpdate ru.pool.ntp.org Обновляем систему: yum update Настройка безопасности Заранее открываем порты на брандмауэре с помощью firewalld: 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 * где мы откроем следующие порты: 25 — стандартный SMTP через STARTTLS; 80 — HTTP для порталов Postfixadmin и Roundcube; 110 — стандартный POP3 через STARTTLS; 143 — стандартный IMAP через STARTTLS; 443 — защищенный HTTPS для порталов Postfixadmin и Roundcube; 465 — защищенный SMTP через SSL/TLS; 587 — защищенный SMTP через STARTTLS; 993 — защищенный IMAP через SSL/TLS; 995 — защищенный POP3 через SSL/TLS. В CentOS также может использоваться утилита iptables — в таком случае команды будут следующие: iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 143 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp --dport 465 -j ACCEPT iptables -A INPUT -p tcp --dport 587 -j ACCEPT iptables -A INPUT -p tcp --dport 993 -j ACCEPT iptables -A INPUT -p tcp --dport 995 -j ACCEPT После сохраняем правила любым из описанных способов. 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 настроен верно. 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: 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. После ее окончания вводим дважды пароль и генерируем хэш: После перезагрузки страницы копируем хэш: Открываем конфигурационный файл: vi /usr/share/nginx/html/postfixadmin/config.inc.php Находим строчку: $CONF['setup_password'] = 'changeme'; И меняем ее на: $CONF['setup_password'] = '7a8e14...c26'; * где '7a8e14...c26' — скопированный хэш. После, на той же странице, где показан хэш, добавляем суперпользователя PostfixAdmin: * где Setup password — пароль, который мы ввели на предыдущей странице; Пароль — новый пароль для создаваемой учетной записи. В итоге мы увидим следующее: И переходим в браузере на страницу 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 * где: virtual_mailbox_base — базовый путь хранения почтовых ящиков в системе UNIX. virtual_alias_maps — формат и путь хранения алиасов для виртуальных пользователей. virtual_mailbox_domains — формат и путь хранения доменов виртуальных пользователей. virtual_mailbox_maps — формат и путь хранения почтовых ящиков для виртуальных пользователей. virtual_minimum_uid — с какого номера присваивать идентификаторы пользователям. virtual_uid_maps — идентификатор пользователя, от которого записываются сообщения. virtual_gid_maps — идентификатор группы, от которой записываются сообщения. virtual_transport — задает доставщика сообщений. dovecot_destination_recipient_limit — передача сообщений от Postfix в Dovecot выполняется по заданному количеству (в нашем примере, по 1 шт.). smtpd_sasl_auth_enable — разрешает sasl аутентификацию. smtpd_sasl_exceptions_networks — исключение сетей от использования шифрования. smtpd_sasl_security_options — дополнительные опции настройки sasl. broken_sasl_auth_clients — эту опцию прописываем для клиентов MS Outlook. smtpd_sasl_type — указывает тип аутентификации. smtpd_sasl_path — путь до временных файлов обмена информацией с Dovecot. Указывается либо абсолютный путь, либо относительный queue_directory. smtpd_tls_cert_file — полный путь до публичного сертификата. smtpd_tls_key_file — полный путь до приватного сертификата. smtpd_use_tls — указывает клиентам на наличие поддержки TLS. smtpd_tls_auth_only — использовать только TLS. smtpd_helo_required — требовать начинать сессию с приветствия. Создаем файл с настройками обращения к базе с алиасами: 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. Перед нами появится страница управления учетными записями. Переходим в Список доменов - Новый домен: Заполняем формы и нажимаем по Добавить домен: Теперь переходим в Обзор - Создать ящик: Вводим данные нового пользователя и нажимаем по Создать ящик: Теперь можно подключиться к серверу с помощью любой почтовой программы, например, Mozilla Thunderbird. Параметры для подключения: Сервер: имя сервера или его IP-адрес (не желательно, так как сертификат выдается по доменному имени). IMAP: 143 STARTTLS или 993 SSL/TLS POP3: 110 STARTTLS или 995 SSL/TLS SMTP: 25 STARTTLS или 465 SSL/TLS или 587 STARTTLS 7. Устанавливаем и настраиваем Roundcube Webmail На официальном сайте заходим на страницу загрузки 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 roundcubemail < /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 * где: reject_unknown_client_hostname — проверяет наличие PRT-записи отправителя и наличие рабочей А-записи в соответствие PTR. reject_invalid_helo_hostname — проверяет синтаксис HELO-приветствия. reject_non_fqdn_helo_hostname — требует правильного FQDN-имени во время HELO-приветствия. reject_unknown_helo_hostname — запрещает представляться именами, для которых нет А-записи или MX. reject_rbl_client — проверяет наличие отправителя в черных списках. После внесения всех правок, необходима перезагрузка Postfix: systemctl restart postfix Сервер настроен — можно пользоваться.
×
×
  • Create New...