Re: Re: Timeouts

От: Sergey Akhapkin <CGatePro_at_mx_ru>
Дата: Fri 20 Jun 2003 - 18:32:17 MSD

Hello Vladimir,

Thursday, June 19, 2003, 7:53:10 PM, you wrote:

Прошу прощения сразу не заметил, что внизу еще что-то есть.

>> т.к. правило те самые кондишены (*) связаны именно с самим запросом, и
>> плагин рухнет снова. Ну хорошо еще у нас плагин не обрабатывает
>> непосредственно письмо (передает демону), но опять перезагрузите

>> плагин ведь, если по таймаутам не сойдется.
VAB> И очень хорошо, что рухнет снова. Значит, его можно будет починить. Перегружать его зачем ? Остальные-то проходят, проверяются.
VAB> Хотя бы 
VAB> теоретически. А что Вы предлагаете - те мессажи, на которых Ваш плагин либо 
VAB> рушится, либо "уходит в себя" на 2 минуты - считать "хорошими" и пропускать 
VAB> юзеру без сканирования?

А отложить в карантин или сделать это настраиваемо никак ?

VAB> А зачем того вообще сканер нужен? Дело все в том, что 99% (как минимум) таких проблем - это архивы. Если рассмотривать архивы - чего уж проще, вирус в архив и под пароль.

А есть еще интереснее, через message/partial. Только к теме это отношения не имеет.

VAB> Если про сканер 
VAB> известно, что он на чем-то падает, то первое, что я сделаю ("если бы хакером 
VAB> был я"), я напишу такой вирус, который положит сканер.

Да, в том-то все и дело, что ничего такой KewlHazker не положит, ну один сканирующий процесс упадет, ну так настроить фильтр можно на такие:

ProcessingErrors = quarantine
ScanningErrors = quarantine

и разбираться потом с ними (когда админу уведомление придет), причем все что надо - что бы таймаут в Helpers был больше таймаута в фильтре.

И все бы чудно работало и никакие хакеры не страшны, а вместо этого имеем DoS на почтовую систему целиком. Так как лучше ?

VAB> Так что тут вопрос более чем принципиальный - в обоих случаях. Имхо, ничего принципиального нет.
От того, что фильтр релоадится ему лучше не становится (особенно учитывая, что сам-то он ни в чем не виноват, т.к. ничего не сканирует, а просто проксей работает) - а приводит это к еще более печальным последствиям, из-за одного левого архива лежит вся почта. Тут и хакером быть не надо, чего проще почтовую систему положить.

Случаи они разные бывают.

Вот пример: нарвался на проблему (CGP 4.0.6 Linux SMP):

16:57:01.06 4 EXTFILTER(drweb) out: 56415 FILE Queue/15861776.msg\n
16:57:01.37 4 EXTFILTER(drweb) out: 56416 FILE Queue/15861772.msg\n
16:57:01.40 4 EXTFILTER(drweb) inp: 56416 OK
16:57:05.05 4 EXTFILTER(drweb) out: 56417 FILE Queue/15861777.msg\n
16:57:05.09 4 EXTFILTER(drweb) inp: 56417 OK
16:57:06.94 4 EXTFILTER(drweb) out: 56418 FILE Queue/15861778.msg\n
16:57:06.98 4 EXTFILTER(drweb) inp: 56418 OK
16:57:23.75 4 EXTFILTER(drweb) out: 56419 FILE Queue/15861780.msg\n
16:57:23.78 4 EXTFILTER(drweb) inp: 56419 OK
16:57:31.00 1 EXTFILTER(drweb) request 56415 timed-out
16:57:31.00 2 EXTFILTER(drweb) killing the external program
16:57:31.00 1 EXTFILTER(drweb) failed on [15861776], will retry. Error Code=external helper timed out
16:57:42.78 1 EXTFILTER(drweb) failed on [15861709], will retry. Error Code=external helper timed out
16:57:47.00 1 EXTFILTER(drweb) failed on [15861783], will retry. Error Code=external helper timed out
16:57:48.04 1 EXTFILTER(drweb) failed on [15861784], will retry. Error Code=external helper timed out
16:57:49.88 1 EXTFILTER(drweb) reading failed: Error Code=bad file descriptor
16:57:51.98 1 EXTFILTER(drweb) failed on [15861785], will retry. Error Code=bad file descriptor
16:57:53.23 1 EXTFILTER(drweb) failed on [15861781], will retry. Error Code=bad file descriptor
16:58:01.47 1 EXTFILTER(drweb) failed on [15861779], will retry. Error Code=bad file descriptor
16:58:04.88 2 EXTFILTER(drweb) '/opt/drweb/drweb-cgp' relaunching
16:58:04.89 2 EXTFILTER(drweb) '/opt/drweb/drweb-cgp' launched
16:58:05.08 4 EXTFILTER(drweb) out: 56420 INTF 2\n
16:58:05.08 4 EXTFILTER(drweb) inp: 56420 INTF 1
16:58:05.08 2 EXTFILTER(drweb) interfaceLevel = 1
16:58:05.08 4 EXTFILTER(drweb) out: 56421 FILE Queue/15861785.msg\n
16:58:05.10 4 EXTFILTER(drweb) out: 56422 FILE Queue/15861776.msg\n
16:58:05.10 4 EXTFILTER(drweb) out: 56423 FILE Queue/15861783.msg\n
16:58:05.14 4 EXTFILTER(drweb) inp: 56421 OK
16:58:05.14 4 EXTFILTER(drweb) inp: 56423 OK
16:58:05.14 4 EXTFILTER(drweb) out: 56424 FILE Queue/15861784.msg\n
16:58:05.17 4 EXTFILTER(drweb) inp: 56424 OK
16:58:05.23 4 EXTFILTER(drweb) out: 56425 FILE Queue/15861781.msg\n
16:58:05.28 4 EXTFILTER(drweb) inp: 56425 OK
16:58:05.47 4 EXTFILTER(drweb) out: 56426 FILE Queue/15861779.msg\n
16:58:05.77 4 EXTFILTER(drweb) out: 56427 FILE Queue/15861709.msg\n
16:58:05.83 4 EXTFILTER(drweb) inp: 56427 ERROR "Dear User eme@eme.ru,\e\ethe message from your e-mail address (or may be forged by virus \efrom another computer) is infected and was not delivered. \e
16:58:06.73 4 EXTFILTER(drweb) inp: 56426 OK
16:58:06.76 4 EXTFILTER(drweb) out: 56428 FILE Queue/15861782.msg\n
16:58:06.79 4 EXTFILTER(drweb) inp: 56428 OK
16:58:10.27 4 EXTFILTER(drweb) out: 56429 FILE Queue/15861788.msg\n
16:58:10.31 4 EXTFILTER(drweb) inp: 56429 OK
16:58:14.14 4 EXTFILTER(drweb) out: 56430 FILE Queue/15861397.msg\n
16:58:14.19 4 EXTFILTER(drweb) inp: 56430 OK
16:58:16.54 4 EXTFILTER(drweb) out: 56431 FILE Queue/15861790.msg\n
16:58:16.56 4 EXTFILTER(drweb) inp: 56431 OK
16:58:23.37 4 EXTFILTER(drweb) out: 56432 FILE Queue/15861791.msg\n
16:58:23.41 4 EXTFILTER(drweb) inp: 56432 OK
16:58:34.55 4 EXTFILTER(drweb) out: 56433 FILE Queue/15861792.msg\n
16:58:34.60 4 EXTFILTER(drweb) inp: 56433 OK
16:58:35.00 1 EXTFILTER(drweb) request 56422 timed-out
16:58:35.00 2 EXTFILTER(drweb) killing the external program
16:58:44.59 1 EXTFILTER(drweb) failed on [15861789], will retry. Error Code=external helper timed out
16:58:53.04 4 EXTFILTER(drweb) inp: Bv+TAgQAEoAE/5MCBAATgAf/kwIE
16:58:53.04 1 EXTFILTER(drweb) bad response: Bv+TAgQAEoAE/5MCBAATgAf/kwIE
16:58:53.04 4 EXTFILTER(drweb) inp: ABSACf+TAgQAFYAI/5MCBAAAgAD/kwIEABaABf9gAQIAAACFAA8ANhEAAAEABwBNeXRoIExThQAU
16:58:53.04 1 EXTFILTER(drweb) bad response: ABSACf+TAgQAFYAI/5MCBAAAgAD/kwIEABaABf9gAQIAAACFAA8ANhEAAAEABwBNeXRoIExThQAU

А вот как такое может быть, кстати ?

Ну застрял фильтр на этом 15861776.msg, другие обрабатывает, зачем килять его ? Может лучше это письмо раза 3 фильтру дать, 3 раза таймаут - ну и пропустить/отложить/реджектнуть/по_желанию его.

Best regards,

         Sergey Akhapkin <asv@drweb.ru>
             Software Developer

   ID Antivirus Lab <http://www.drweb.ru> Получено Fri Jun 20 14:32:43 2003

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:12:38 MSK