Страница 1 из 1

? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-16 13:07:41
Гость
(Настройка почтовых систем у меня впервые)
Схема dovecot+exim+(clamav+spamassasin+mysql+apache1)
Суть вопроса, нам (не мне 8) ) нужно полностью писать smtp сессию экзима, дабы ни одно ценное письмо (а так же горы спама) не прошло мимо нас, т.е. перед условиями отбора на антивирус и всеми остальными правилами.
Развернуто:
1. каким способом (желательно внутреЭКЗИМОВСКИМ) сделать лог входящего смтп (т.е. нам) соединения и класть его в базу.
2. При проверке на clamav если письмо с вирусом, то отправляеющему ничего не отправлять,а внутреннему адресу сообщить что аткой то такойто вам слал это..
3. Можно ли (и если да то как), настроить экзим и довекот полностью на работу в базе. т.ею аналог dbmail сделать. чтобы никаких директорий на диске.
Проделовать за себя всю работу не прошу( хотя на деле так может выйти).. просто укажите куда копать. ибо работа в настройке встала. Заранее благодарен

Re: ? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-16 16:20:03
dikens3
Гость писал(а):1. каким способом (желательно внутреЭКЗИМОВСКИМ) сделать лог входящего смтп (т.е. нам) соединения и класть его в базу.
У меня так:

Код: Выделить всё

MYSQL_LOGHELOMYBLOCK    = INSERT INTO `log`(`action`,src_ip,src_email,dst_email,helo,hostname,date,time) VALUES (16,'$sender_host_address',LCASE('$sender_address'),'$local_part@$domain','$sender_helo_name','$sender_host_name',CURDATE(),now())

acl_smtp_rcpt:
# Прибиваем, если HELO совпадает с нашими шаблонами блокировок
  deny    message       = Your are blocked in HELO/EHLO - access denied.
          !senders      = :
          condition     = ${if match{$sender_helo_name}{.orange.|.wanadoo.|dynamic|.vhonest.}{yes}{no}}
          set acl_m19   = ${lookup mysql{MYSQL_LOGHELOMYBLOCK}}

Re: ? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-17 8:44:59
Alex Keda
2 дикенс
http://www.lissyara.su/?id=1209#9.9
и выпонить рекомендации
а то при желании можно и базу твою дропнуть

Re: ? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-17 10:10:40
70n0ff
Спасибо за помощь, эт я темку сделал просто не понял почему гостём.
Сейчас (так как можно завязать на базу почти все) буду эксперементировать.
Такой вопросик.
Какую базу использовать на серваке Xenon 2x процессорном?
Mysql or postgress?
ПРо первый прочел, что он второй процессор почти не использует, а вот про прогресс програмисты(свои) то же что то полчат..
И последние, так как с линухов пересаживаюсь на BSD (не понимаю зачем но влечет чето), понял, что тут все не просто, есть FreeBSD, OpenBSD, NetBSD, DragonFlyBSD.
ИЗначальную их ориентацию я понял, мне конкретно для почты какую ставить и для прокси?
По форумам прошел, грят что FreeBSD внедряет нароботки Open? тогда вопрос может сразу опен ставить.
Буду рад если дадите ссылк на дискусси, но мне важно ваше мнение. Пока себе поставил FreeBSD 7 - proxy. Но просто если есть лучше операционка дл яэтой задачи то че тупить. Вот такая просьба. Просветить мне насчет этого.

Re: ? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-17 13:39:38
70n0ff
Подскажите, что бы всё письмо записать в базу как сделать? $message ? или как? А то заголовок, даты. кароче лог нормально а вот само б письмо

Re: ? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-17 14:58:55
dikens3
Пример использования message_body:
http://forum.lissyara.su/viewtopic.php?f=20&t=8187

Re: ? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-18 8:53:34
70n0ff
Все работает. только ,в база пополняется, одно но, тест сообщения($message_body) 505 символов, даже и не знаю что делать.... копаюс.

Re: ? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-18 10:05:18
Alex Keda
в переменной не всё сообщение.
курите доку

Re: ? Логировать smtp сессию Exim'a в mysql

Добавлено: 2008-04-21 6:50:49
70n0ff
Подсказать доки можите? я в оригинале уже фак прочел..

НАшел след инфу
$message_body
This variable contains the initial portion of a message’s body while it is being delivered, and is
intended mainly for use in filter files. The maximum number of characters of the body that are put
into the variable is set by the message_ body_ visible configuration option; the default is 500.
Newlines are converted into spaces to make it easier to search for phrases that might be split over
a line break. Binary zeros are also converted into spaces.
$message_body_end
This variable contains the final portion of a message’s body while it is being delivered. The
format and maximum size are as for $message_body.

message_ body_ visible= поставил значение по больше, но как мне кажется не так должна решатся проблема