Hello Vladimir,
Thursday, June 19, 2003, 7:53:10 PM, you wrote:
Прошу прощения сразу не заметил, что внизу еще что-то есть.
>> т.к. правило те самые кондишены (*) связаны именно с самим запросом, и >> плагин рухнет снова. Ну хорошо еще у нас плагин не обрабатывает >> непосредственно письмо (передает демону), но опять перезагрузите
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
Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:12:38 MSK