amavis: [virus_name_to_spam_score] пусто при использовании определенной базы данных моллюсков

294
ca_maer

У меня странное поведение в отношении virus_name_to_spam_score. Я использую 2 пользовательских Clamav DB. Вот журналы при использовании SaneSecurity, где мы видим, что все работает нормально:

Jun 12 10:57:53 prd-mail-1 amavis[4428]: (04428-01) run_av (ClamAV-clamd) result: /var/lib/amavis/tmp/amavis-20170612T105753-04428-qozS1fmk/parts/p004: Sanesecurity.TestSig_Type4_Hdr.2.UNOFFICIAL FOUND\n Jun 12 10:57:53 prd-mail-1 amavis[4428]: (04428-01) run_av (ClamAV-clamd): /var/lib/amavis/tmp/amavis-20170612T105753-04428-qozS1fmk/parts INFECTED: Sanesecurity.TestSig_Type4_Hdr.2.UNOFFICIAL Jun 12 10:57:53 prd-mail-1 amavis[4428]: (04428-01) lookup_re("Sanesecurity.TestSig_Type4_Hdr.2.UNOFFICIAL") matches key "(?^:^Sanesecurity\\.TestSig_)", result=undef Jun 12 10:57:53 prd-mail-1 amavis[4428]: (04428-01) lookup [virus_name_to_spam_score] => undef, "Sanesecurity.TestSig_Type4_Hdr.2.UNOFFICIAL" does not match Jun 12 10:57:53 prd-mail-1 amavis[4428]: (04428-01) virus_scan: (Sanesecurity.TestSig_Type4_Hdr.2.UNOFFICIAL), detected by 1 scanners: ClamAV-clamd Jun 12 10:57:53 prd-mail-1 amavis[4428]: (04428-01) lookup_re("Sanesecurity.TestSig_Type4_Hdr.2.UNOFFICIAL") matches key "(?^:.*)", result="1" Jun 12 10:57:53 prd-mail-1 amavis[4428]: (04428-01) lookup [viruses_that_fake_sender] => true, "Sanesecurity.TestSig_Type4_Hdr.2.UNOFFICIAL" matches, result="1", matching_key="(?^:.*)" Jun 12 10:57:53 prd-mail-1 amavis[4428]: (04428-01) Virus Sanesecurity.TestSig_Type4_Hdr.2.UNOFFICIAL matches (?^:.*), sender addr ignored 

Теперь при использовании SecurityInfo.com я вижу, что при первом запуске обнаруживается вирус, но затем вирусное_имя_спам_скор пустое. То, что я пытаюсь сделать, это использовать @virus_name_to_spam_score_maps, чтобы установить, что письма, приходящие из этого списка, будут помечены как спам, но поскольку проверка пуста, возвращается и они всегда помечаются как вирусы. Вот журналы:

Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) prolong_timer run_av_3: timer 288, was 288, deadline in 479.8 s Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) run_av (ClamAV-clamd) result: /var/lib/amavis/tmp/amavis-20170612T092354-18890-TNOnpS50/parts/p013: SecuriteInfo.com.Spam-4703.UNOFFICIAL FOUND\n/var/lib/amavis/tmp/amavis-20170612T092354-18890-TNOnpS50/parts/p009: SecuriteInfo.com.Spam-4703.UNOFFICIAL FOUND\n Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) run_av (ClamAV-clamd): /var/lib/amavis/tmp/amavis-20170612T092354-18890-TNOnpS50/parts INFECTED: Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) lookup_re(""), no matches Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) lookup [virus_name_to_spam_score] => undef, "" does not match Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) virus_scan: (), detected by 1 scanners: ClamAV-clamd Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) lookup_re("") matches key "(?^:.*)", result="1" Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) lookup [viruses_that_fake_sender] => true, "" matches, result="1", matching_key="(?^:.*)" Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) Virus matches (?^:.*), sender addr ignored Jun 12 09:25:32 prd-mail-1 amavis[18890]: (18890-02) lookup_sql_field(virus_lover) rec=0, "email@domain.com" result: undef 

Есть идеи, что может вызвать это?

1

1 ответ на вопрос

0
ca_maer

Я нашел ответ. Кажется, что используемый сканер clamav не вернул правильное значение, поэтому мне пришлось изменить @av_scanners в /etc/amavis/conf.d/50-user на следующее:

@av_scanners = ( #### http://www.clamav.net/ ['ClamAV-clamd', \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"], qr/\bOK$/m, qr/\bFOUND$/m, qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], ); 

и перезапустите Amavis