Перейти к содержимому


Фото
- - - - -

Проблема с антивирусным демоном


  • Please log in to reply
11 ответов в этой теме

#1 the_age007

the_age007

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 01 Апрель 2009 - 12:17

Имеем: drweb-4.44.1 на freebsd7.1 и exim-4.60-4 под 6.1-STABLE

Так вот, периодически в логах экзима проскакивают следующие сообщения:

2009-04-01 00:02:07 1Lok9v-000GFu-Kq malware acl condition: drweb: unable to read return code
2009-04-01 00:02:07 1Lok9v-000GFu-Kq H=(host-helo) [*.165] F=<*> temporarily rejected after DATA
2009-04-01 03:03:58 1Lomzu-0005wR-IL malware acl condition: drweb: unable to read return code
2009-04-01 03:03:58 1Lomzu-0005wR-IL H=(host-helo) [*.2] F=<*> temporarily rejected after DATA
2009-04-01 09:21:45 1LostV-0000PA-CP malware acl condition: drweb: unable to read return code
2009-04-01 09:21:45 1LostV-0000PA-CP H=(host-helo) [*.164] F=<> temporarily rejected after DATA
2009-04-01 10:48:11 1LouF8-00099K-Ja malware acl condition: drweb: unable to read return code
2009-04-01 10:48:11 1LouF8-00099K-Ja H=(host-helo) [*.155] F=<> temporarily rejected after DATA


В логах drweb'a видно следующее:

Wed Apr 1 00:02:07 2009 IP[8997] Error reading from socket (Connection reset by peer)!(2)

Wed Apr 1 03:03:58 2009 IP [9483] Error reading from socket (Connection reset by peer)!(2)

Wed Apr 1 10:48:11 2009 IP [11350] Error reading from socket (Connection reset by peer)!(2)

Интересно узнать, с чем это связано и как с этим бороться...


И ещё - при одновлении drwebd перегружается по HUP'y, что вызывает недоступность для сканирования. Так вот, можно ли как-нибудь продолжить работу на время перезагрузки со старой базой?

Сообщение было изменено the_age007: 01 Апрель 2009 - 12:27


#2 Anton Ivanov

Anton Ivanov

    Advanced Member

  • Posters
  • 842 Сообщений:

Отправлено 01 Апрель 2009 - 14:11

Видимо Вы используйте интерфейс:
av_scanner = drweb:/var/run/drwebd.sock
av_scanner = drweb:192.168.2.20 31337

Он Доктор Веб официально не поддерживается и вообще устарел. Надо использовать либо старые почтовые фильтры, либо MailD.
По поводу HUP - во многом проблема должны быть решена в версии 5.0.

#3 the_age007

the_age007

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 01 Апрель 2009 - 14:30

Видимо Вы используйте интерфейс:
av_scanner = drweb:/var/run/drwebd.sock
av_scanner = drweb:192.168.2.20 31337


Да, именно так. MailD увы, не прикрутишь... :) По крайней мере сейчас... Да и сможет ли MailD работать без ключика с антивирусом на TCP-сокете? Сам ключик есть, но не хочется его светить на одном хосте с почтовиком...

Вот что в исходниках exim'a на эту тему:

/* wait for result */    if ((bread = recv(sock, &drweb_rc, sizeof(drweb_rc), 0) != sizeof(drweb_rc))) {      (void)close(sock);      log_write(0, LOG_MAIN|LOG_PANIC,        "malware acl condition: drweb: unable to read return code");      return DEFER;    }

Если учесть, что в логе др-веба нет ни слова о сбое в 2009-04-01 09:21:45 (хотя в логе экзима это фиксируется), склоняюсь к мнению, что эта проблема из-за того, что дрвеб по какой-то причине не смог обработать сообщение за приемлемое с точки зрения экзима время. Как можно включить режим дебаг-логирования у drwebd ?

Какие параметры у drweb'a можно подкрутить? Сейчас в конфиге стоит

FileTimeout = 300
SocketTimeout = 360
ListeningQueue = 0

#4 Anton Ivanov

Anton Ivanov

    Advanced Member

  • Posters
  • 842 Сообщений:

Отправлено 01 Апрель 2009 - 17:50

для MailD нужен специальный ключ с продуктом MailD. Ключ можно не класть накомпьютер с MailD если установить агента на другой хост и перенастроить компоненты MailD (*.mmc файл и monitor.conf) на работу с ним по tcp-сокету.

думаю здесь возможно и ошибка:
if ((bread = recv(sock, &drweb_rc, sizeof(drweb_rc), 0) != sizeof(drweb_rc))) {

надо править этот код, что бы он праивльно обрабатывал сигналы ( EINTR к примеру), а так же на запись не всех sizeof(drweb_rc) байт (те нужен цикл). ошибки close так же надо проверять. вобщем код не аккуратен :)

режим дебага в drwebd не предусмотрен.

вроде значения по-умолчанию адекватны.

#5 the_age007

the_age007

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 02 Апрель 2009 - 16:38

для MailD нужен специальный ключ с продуктом MailD. Ключ можно не класть накомпьютер с MailD если установить агента на другой хост и перенастроить компоненты MailD (*.mmc файл и monitor.conf) на работу с ним по tcp-сокету.


Ключ есть, это не проблема. Плагины (vaderetro), как я понимаю, всё равно остаются на том же хосте, что и сам maild? Просто хотелось бы оставить на почтовике только легковесный клиент, основную работу перенести на другой, более мощный сервер.

думаю здесь возможно и ошибка:
if ((bread = recv(sock, &drweb_rc, sizeof(drweb_rc), 0) != sizeof(drweb_rc))) {

надо править этот код, что бы он праивльно обрабатывал сигналы ( EINTR к примеру), а так же на запись не всех sizeof(drweb_rc) байт (те нужен цикл). ошибки close так же надо проверять. вобщем код не аккуратен :)


А есть описание протокола антивируса drweb в открытом доступе?

#6 Anton Ivanov

Anton Ivanov

    Advanced Member

  • Posters
  • 842 Сообщений:

Отправлено 02 Апрель 2009 - 16:45

описание есть в каждом тарболе с деомном, к примеру - но это не вопрос протокола, а вопрос корректного программирования под *nix вообще.

#7 the_age007

the_age007

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 03 Апрель 2009 - 15:10

описание есть в каждом тарболе с деомном, к примеру - но это не вопрос протокола, а вопрос корректного программирования под *nix вообще.


Прошу меня извинить, но этого описания я, право, не нашёл... :) Можете уточнить, в каком архиве и какой файл?

#8 nwtour

nwtour

    Member

  • Members
  • 113 Сообщений:

Отправлено 03 Апрель 2009 - 17:08

описание есть в каждом тарболе с деомном, к примеру - но это не вопрос протокола, а вопрос корректного программирования под *nix вообще.


Я уточнял. В пакетах и тарболах нет описания.
Если поймем, что нужно работать, тогда, я думаю, вреда особого не будет и не так уж много потеряем. © В. Черномырдин

#9 Anton Ivanov

Anton Ivanov

    Advanced Member

  • Posters
  • 842 Сообщений:

Отправлено 04 Апрель 2009 - 09:31

Да - действительно нет. Извините, ввел в заблуждение.

#10 the_age007

the_age007

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 07 Апрель 2009 - 14:21

Таким образом, единственный вариант связывания exim'a с антивирусом drweb - только maild, правильно?

#11 Anton Ivanov

Anton Ivanov

    Advanced Member

  • Posters
  • 842 Сообщений:

Отправлено 07 Апрель 2009 - 14:23

нет - есть еще старые фильтры, но они так же не смогут работать удаленно - так как работают через pipe.

#12 the_age007

the_age007

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 07 Апрель 2009 - 14:26

Ясно... Спасибо, будем думать...