Использование MailScanner с Exim |

Использование MailScanner с Exim

Мануал

Описание MailScanner

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

MailScanner разделяет эти две части еще больше, требуя, чтобы они использовали отдельные очереди. Входящая корреспонденция принимается в одну очередь, и исходящая почта отправляется с другой очереди.

Единственным путем, через который почта может добраться от одной очереди до другой и является MailScanner.

Таким образом, мы должны использовать два отдельных процесса Exim.

У каждого из этих процессов должен быть свой собственный конфигурационный файл, такой, чтобы каталоги были разные.

Чтобы гарантировать, что вся почта отсканирована, процесс “приемника” (который принимает входящие сообщения из сети) должна быть предотвращена фактическая отсылки любой почты, по крайней мере в нормальной эксплуатации. Это подразумевает, что мы должны использовать скомпилированный  по умолчанию конфигурационный файл Exim для процесса приема писем. В других случаях локальные пользователи могли бы обойти MailScanner при отправке почты, используя интерфейс командной строки для Exim. Не забывайте, что многие MTAs также используют интерфейс командной строки, не определяя путь до конфигурационного файла.

Конфигурация Exim

Начните с того, что скопируйте вашу рабочую конфигурацию Exim  из /etc/exim/exim.conf в /etc/exim/exim_out.conf для использования исходящего Exim.

Этот файл может остаться неизмененным.

Вы должны внести два изменения в конфигурацию по умолчанию:

– скажите ему использовать различный спул каталоги

– предотвратите Exim от немедленной передачи сообщений

Расположение каталога Spool

Чтобы изменить каталог, вы должны добавить эту строку к первой части/etc/exim/exim.conf:

 spool_directory = /var/spool/exim.in 

Добавим в /etc/exim/exim.conf и в /etc/exim/exim_out.conf:

log_file_path = /var/spool/exim/log/ 

Задержка входящих сообщений

Есть несколько способов препятствовать тому, чтобы Exim сразу передал сообщения. Самое простое что можно сделать, это добавить эту строку к первой части конфигурационного файла:

queue_only = true 

Однако, это позволяет админам Exim обходить MailScanner, используя опции Exim, такие как -q и -M, и если у вас есть запись в конфиге prod_requires_admin = true тогда, любой пользователь может сделать это.

В Exim-4.21 и выше вы должны использовать дополнительные меры, чтобы сделать опцию queue_only более сильной:

 queue_only_override = false 

Exim 4

Если вы используете более старую версию Exim, вы можете внести более сложное изменение, которое заставляет все сообщения быть задержанными, когда Exim пытается доставить их.

Чтобы сделать это в Exim 4, добавьте этот router сразу после первой строки роутеров так, чтобы это был первый роутер в конфиге:

defer_router:
	driver = redirect
	allow_defer
	data = :defer: All deliveries are deferred
	verify = false 

Управление Exim

Как описано выше, вы должны управлять двумя демонами Exim: один, чтобы прослушивать связи SMTP, и один, чтобы отрабатывать очередь на исходящем каталоге. Вы должны будете изменить сценарий запуска Exim (например,/etc/init.d/exim), чтобы сделать это. По умолчанию он будет содержать строку:

/usr/bin/exim -bd -q15m

Вы должны изменить ее на:

/usr/bin/exim -bd
 /usr/bin/exim -q15m -C /etc/exim/exim_out.conf 

Слушатель SMTP по умолчанию создаст пид файл /var/spool/exim.in/exim-daemon.pid, но управляющий очередью Exim не создаст таковой.

Вы можете заставить его сделать это, изменив его командную строку на:

/usr/bin/exim -q15m -C /etc/exim/exim_out.conf -oP /var/spool/exim/exim-daemon.pid 

У вас должен также быть прописан crontab для Exim, который циклически очищает логи и базы данных. Выполните стандартные команды:

# /usr/bin/exim_tidydb /var/spool/exim callout > /dev/null
# /usr/bin/exim_tidydb /var/spool/exim retry > /dev/null
# /usr/bin/exim_tidydb /var/spool/exim reject > /dev/null
# /usr/bin/exim_tidydb /var/spool/exim wait-smtp > /dev/null

Вы также должны выполнить:

# /usr/bin/exim_tidydb /var/spool/exim.in callout > /dev/null
# /usr/bin/exim_tidydb /var/spool/exim.in retry > /dev/null
# /usr/bin/exim_tidydb /var/spool/exim.in reject > /dev/null
# /usr/bin/exim_tidydb /var/spool/exim.in wait-smtp > /dev/null

Конфигурация MailScanner

Сам MailScanner должен понимать, как заставить Exim послать почту. Это делается для того, чтобы послать предупреждающие сообщения отправителю, получателям и администратору почтового сервера, когда обнаружен вирус, и начать попытку срочной доставки для сообщений, которые были помещены вочередь. Есть два параметра настройки в конфигурации MailScanner, которые говорят ей, как вызвать отправителя (в этом случае Exim).

Настройка  “Sendmail” используется, чтобы послать почту, которая была недавно создана MailScanner (т.е. предупреждения). Вы можете использовать простую настройку, такую как это:

 Sendmail = /usr/bin/exim</code> 

Однако, это действие заставляет предупреждения быть повторно просмотренными прежде чем быть отосланными. Чтобы обойти это, вы можете установить:

Sendmail = /usr/bin/exim -C /etc/exim/exim_out.conf

 

Вы также можете заставить Exim отмечать сообщения, которые были произведены MailScanner в логах:

Sendmail = /usr/bin/exim -oMr MailScanner

MailScanner также нужно сказать, где Exim входящие и исходящие спул каталоги:

Incoming Queue Dir = /var/spool/exim.in/input
Outgoing Queue Dir = /var/spool/exim/input

Если у вас есть split_spool_directory в вашей конфигурации Exim, конфигурация немного отличается:

Incoming Queue Dir = /var/spool/exim.in/input/*
Outgoing Queue Dir = /var/spool/exim/input
Split Exim Spool = yes

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

Вы должны будете также определить пользователя Exim:

Run As User = exim
Run As Group = exim 

 

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий