Настройка sendmail во FreeBSD

В базовую систему FreeBSD обязательно входит SMTP сервер sendmail. Самый старый некоммерческий почтовый сервер, имеющий довольно сомнительную репутацию, но тем не менее в большинстве систем он присутствует и установлен на огромном количестве серверов, обслуживающих почту. Хоть своей конфигурацией sendmail и отпугивает, уметь делать минимальные настройки надо.

Приступим к настройке:

Использовать его будем, как SMTP сервер отправляющий почту во вне сети и принимающий почту для домена hilik.org.ua.

1. Настроим сеть, от адресов которой, можно отправлять почту. В настройках по умолчанию sendmail позволяет отправлять почту от локальных адресов(127.0.0.1), разрешим пересылать почту от сети 192.168.0.0/24. Для этого в файле /etc/access пропишем нашу сеть, выглядит это так:

192.168 RELAY

и затем выполнить команду make в каталоге /etc/mail/

Настройка отправки закончена.

2. Укажем домен для которого мы будем принимать почту, сделать это можно двумя способами.

Первый, указать в файле local-host-names и перезапустить sendmail:

hilik.org.ua

и второй, указать в /etc/mail/access и в /etc/mail/mailertable, действий понадобится больше, но не надо рестартовать sendmail. Это несомненный плюс. Впишем в /etc/mail/access такую строку:

To:hilik.org.ua RELAY

и в файлу /etc/mail/mailertable:

hilik.org.ua local:

и затем выполнить команду make в каталоге /etc/mail/

Настрока приема для домена закончена.

3. Укажим адрес получателя, который будет получать почту roota и postmasterа, для этого пропишем в /etc/mail/aliases такую вещь:

root: hilik@hilik.org.ua

и выполнить команду make или newaliases.

3. Настройка приема и отправки закончена, но необходимо установить минимальную антивирусную защиту. Для этого воспользуемся бесплатным антивирусом ClamAv. Все внешние программы такого рода подключаются к sendmail, через специальный интерфейс Milter, поэтому любая программа, предназначенная для связи с sendmail, должна поддерживать этот интерфейс.

Когда вы устанавливаете clamav из портов, а находится он в /usr/ports/security/clamav/, необходимо в диалоге настройки сборки, обязательно указать:

[X] MILTER Compile the milter interface

После установки, необходимо запустить 3 демона: сам clamav, clamav-freshclam, утилита для обновление вирусных баз и clamav-milter – интерфейс взаимодействия с sendmail.

Прежде чем запускать, надо настроить sendmail. Файл настроек sendmail /etc/mail/sendmail.cf имеет довольно своеобразный синтаксис, по сути он представляет из себя программу, в которой описаны действия с письмом, поэтому что бы настройки мог менять рядовой администратор, был написан врапер m4 для файла настроек. То есть с помощью макропроцессора m4 будет генерироваться файл настроек sendmail. При установке FreeBSD, в /etc/mail устанавливаются файлы <имя хоста>.mc и <имя хоста>.submit.mc, у меня это hilik.org.ua и hilik.org.ua.submit.mc. Это и сеть макросы на основе которых будет генерироваться файл настроек. Два файла настроек существуют потому, что во FreeBSD sendmail разделен на 2 процесса, один отвечает за прием и отправку почты во вне и из вне, а второй предназначен для приема отправки почты локально.

В нашем случае мне необходимо исправить файл hilik.org.ua.mc. необходимо добавить такие строки:

INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m;C:30s;E:10m')dnl

define(`confINPUT_MAIL_FILTERS', `clamav')

Теперь надо выполнить make, макропроцессор m4 создаст файл hilik.org.ua.cf и поле этого нужно выполнить make install, hilik.org.ua.cf будет переименован в sendmail.cf.

Теперь надо запустить clamav. Настроек никаких делать не надо, пропишем в rc.conf:

clamav_clamd_enable="YES"

clamav_freshclam_enable="YES"

clamav_milter_enable="YES"

и запустим:

/usr/local/etc/rc.d/clamav-freshclam start

/usr/local/etc/rc.d/clamav-clamd start

/usr/local/etc/rc.d/clamav-milter start

Теперь можно перезапустить sendmail:

/etc/rc.d/sendmail restart

На этом настройка sendmail закончена.

http://www.hilik.org.ua/настройка-sendmail/

Обновлено: 12.03.2015