Настройка почтового сервера
Исходная информация
Настройка почтового сервера на базе CentOS 7 и Exim
OS - CentOS 7
smtp - Exim
pop3/imap - Dovecot
antivirus - ClamAV
gui - PostfixAdmin
webmail - Roundcube
Подготовка сервера
1) Устанавливаем ОС в минимальной поставке. 2) Назначаем валидный(белый) ip адрес с бэерезолвом в хостнейм сервера (PTR). 3) Обновляем свежеустановленую систему:
[root@mail ~] yum update -y
[root@mail ~] reboot
4) Устанавливаем необходимые репозитории
[root@mail ~] yum install epel-release.noarch -y
5) Устанавливаем необходимый прикладной софт
[root@mail ~] yum install mc vim wget net-tools bind-utils htop -y
6) Отключаем SELINUX
[root@mail ~] vim /etc/sysconfig/selinux
Заменяем SELINUX=enforcing на SELINUX=disabled, сохраняем
7) Отключаем firewalld
[root@mail ~] systemctl stop firewalld
[root@mail ~] systemctl disable firewalld
[root@mail ~] yum remove firewalld -y
8) Отключаем и удаляем то что нам не пригодится
[root@mail ~] systemctl stop wpa_supplicant postfix
[root@mail ~] systemctl disable wpa_supplicant postfix
[root@mail ~] yum remove postfix -y
9) Перезагружаемся
[root@mail ~] reboot
Натройка компонентов
Переходим непосредственно к настройке почтовых и вспомагательных сервисов.
Создадим пользователя и групу от имени которого будем работать с почтой.
Так как почту будем хранить в каталоге /var/spool/vmail то туда же и назначим домашнюю деректорию нашего пользователя.
[root@mail ~] useradd -d /var/spool/vmail -s /sbin/nologin -c "vmail user" vmail
ClamAV
Установим и настроим антивирус, подготовим его для работы с exim.
[root@mail ~] yum install clamav-server clamav-update clamav -y
Создадим пользователя от которого будет рботать демон clamav и добавим его в групу vmail
[root@mail ~] useradd -G clamupdate -d /var/lib/clamav -s /sbin/nologin -c "clamd user" clamd
[root@mail ~] usermod -G clamd,clamupdate,vmail clamd
Создадим файл сервиса для управления clamav через systemd
[root@mail ~] vim /usr/lib/systemd/system/clamd.service
[Unit]
Description = clamd scanner daemon
After = syslog.target nss-lookup.target network.target
[Service]
Type = simple
ExecStartPre=-/usr/bin/mkdir /var/run/clamd
ExecStartPre=/usr/bin/chown -R clamd:vmail /var/run/clamd
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/clamd.conf --foreground=yes
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target
Натроим clamd
[root@mail ~] vim /etc/clamd.d/clamd.conf
LogSyslog yes
LogFacility LOG_MAIL
ExtendedDetectionInfo yes
PidFile /var/run/clamd/clamd.pid
TemporaryDirectory /tmp
LocalSocket /var/run/clamd/clamd.sock
LocalSocketMode 660
User clamd
AllowSupplementaryGroups yes
PhishingSignatures yes
MaxThreads 20
Настроим freshclam
[root@mail ~] vim /etc/sysconfig/freshclam
Закоментируем последнюю строчку
#FRESHCLAM_DELAY=disabled-warn # REMOVE ME
[root@mail ~] mv /etc/freshclam.conf /etc/freshclam.conf.bak
[root@mail ~] vim /etc/freshclam.conf
UpdateLogFile /var/log/freshclam.log
DatabaseMirror database.clamav.net
NotifyClamd /etc/clamav/clamd.conf