메뉴 건너뛰기

리눅스 관련 모음

본문시작

설치관련
2013.07.07 17:55

The ClamAV Plugin --> clamav.cf , clamav.pm

조회 수 14881 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

국산 통나무 수공예 남원제기, 남원목기

자료가 도움이 되셨다면
혼수용품제수용품 필요시
남원제기 공식 홈페이지 http://남원제기.kr
남원목기 공식 홈페이지 http://otchil.kr
에서 구매 해 주세요
정성껏 모시겠습니다.
 

/etc/mail/spamassassin/넣어주면 된다.

The ClamAV Plugin

This plugin submits the entire email to a locally running Clam AntiVirus server for virus detection. If a virus is found, it returns a positive return code to indicate spam and sets the header "X-Spam-Virus: Yes ($virusname)".

Code

clamav.cf:

loadplugin ClamAV clamav.pm
full CLAMAV eval:check_clamav()
describe CLAMAV Clam AntiVirus detected a virus
score CLAMAV 10
add_header all Virus _CLAMAVRESULT_

clamav.pm:

package ClamAV;
use strict;

# version 2.0, 2010-01-07
#   - use SA public interface set_tag() and add_header, instead of
#     pushing a header field directly into $conf->{headers_spam}

# our $CLAMD_SOCK = 3310;               # for TCP-based usage
our $CLAMD_SOCK = "/var/run/clamd.basic/clamd.sock";   # change me

use Mail::SpamAssassin;
use Mail::SpamAssassin::Plugin;
use Mail::SpamAssassin::Logger;
use File::Scan::ClamAV;
our @ISA = qw(Mail::SpamAssassin::Plugin);

sub new {
  my ($class, $mailsa) = @_;
  $class = ref($class) || $class;
  my $self = $class->SUPER::new($mailsa);
  bless($self, $class);
  $self->register_eval_rule("check_clamav");
  return $self;
}

sub check_clamav {
  my($self, $pms, $fulltext) = @_;
  dbg("ClamAV: invoking File::Scan::ClamAV, port/socket: %s", $CLAMD_SOCK);
  my $clamav = new File::Scan::ClamAV(port => $CLAMD_SOCK);
  my($code, $virus) = $clamav->streamscan(${$fulltext});
  my $isspam = 0;
  my $header = "";
  if (!$code) {
    my $errstr = $clamav->errstr();
    $header = "Error ($errstr)";
  } elsif ($code eq 'OK') {
    $header = "No";
  } elsif ($code eq 'FOUND') {
    $header = "Yes ($virus)";
    $isspam = 1;
    # include the virus name in SpamAssassin's report
    $pms->test_log($virus);
  } else {
    $header = "Error (Unknown return code from ClamAV: $code)";
  }
  dbg("ClamAV: result - $header");
  $pms->set_tag('CLAMAVRESULT', $header);
  # add a metadatum so that rules can match against the result too
  $pms->{msg}->put_metadata('X-Spam-Virus',$header);
  return $isspam;
}

1;

How To Use It

First of all, you need to install ClamAV and ensure that scanning a mail with clamscan works.

Second, you need to install the File::Scan::ClamAV perl module.

Finally, save the two files above into the /etc/mail/spamassassin/ directory. You can adjust the default score of 10 in clamav.cf if you like. You should edit the clamav.pm file and change the setting for '$CLAMD_SOCK' to match where your ClamAV installation has put its named pipe.

Restart the spamd daemon if you're using that, and you should be all set.

If you'd like to sort virus emails to a separate folder, create a rule looking for the "X-Spam-Virus: Yes" header.

To get a different score based on virus type, see ClamAVMultipleScores.

   

  1. win8.1 F8 안전모드 부팅하기

  2. What do these PHP mbstring settings do?

  3. utf8_mime2text() has new signature,

  4. unable to include potential exec "include/top.html" in parsed file 에러 해결!!!

  5. TIFF 설피시 /usr/local/include/jmorecfg.h:263:16: error: expected identifier before numeric constant 에러

  6. The ClamAV Plugin --> clamav.cf , clamav.pm

  7. SURBL을 이용해 스팸 정확도 극대화하기

  8. No Image 04Oct
    by 햇빛소년
    2011/10/04 by 햇빛소년
    Views 54657 

    su 명령의 문제점

  9. No Image 29Apr
    by 햇빛소년
    2012/04/29 by 햇빛소년
    Views 32110 

    Starting spamd: Apr 29 16:41:34.934 [14162] warn: server socket setup failed, retry 1: spamd: could not chown 에러해결

  10. Starting Dovecot Imap: Error: service(pop3-login): listen(*, 110) failed: Address already in use

  11. No Image 12May
    by 햇빛소년
    2011/05/12 by 햇빛소년
    Views 45290 

    ssh로 특정 ip접근 hosts.deny 자동 추가

  12. ssh 포트변경 및 iptables 수정

  13. squirrelmail에서 메일 삭제시 Error: file_dotlock_create... 에러에 대하여.

  14. sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

  15. No Image 22Feb
    by 햇빛소년
    2012/02/22 by 햇빛소년
    Views 27959 

    specifies multiple packages 대처법

  16. spamassassin 에러 Can't locate Mail/SpamAssassin/CompiledRegexps/body 0.pm in @INC

  17. No Image 13Apr
    by 햇빛소년
    2011/04/13 by 햇빛소년
    Views 48101 

    spamassassin /320.pre -> Rule2XSBBody 체크시 에러 해결법

  18. No Image 29Mar
    by 햇빛소년
    2011/03/29 by 햇빛소년
    Views 74186 

    Spam Assassin + ClamAV 바이러스 필터 연동하기

  19. No Image 08Apr
    by 햇빛소년
    2011/04/08 by 햇빛소년
    Views 49951 

    Solving the "Can't connect to UNIX socket" and "/parts: Access denied" problems.

  20. sendmail[8569]: auxpropfunc error invalid parameter supplied

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10