메뉴 건너뛰기

리눅스 관련 모음

본문시작

설치관련
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. mysql 컴파일 설치 후 해야 할 일...

    Date2014.02.23 Category설치관련 By햇빛소년 Views4
    Read More
  2. 리눅스 콘솔에서 SSH 원격 서버 접속하기

    Date2014.02.23 Category설치관련 By햇빛소년 Views3531
    Read More
  3. 원격 서버에 파일 올리거나 가져오기...

    Date2014.02.22 Category설치관련 By햇빛소년 Views9161
    Read More
  4. What do these PHP mbstring settings do?

    Date2013.08.25 Category설치관련 By햇빛소년 Views11074
    Read More
  5. 메일계정 관련 명령어...

    Date2013.08.19 Category설치관련 By햇빛소년 Views0
    Read More
  6. procmail 소스설치

    Date2013.07.24 Category설치관련 By햇빛소년 Views14495
    Read More
  7. The ClamAV Plugin --> clamav.cf , clamav.pm

    Date2013.07.07 Category설치관련 By햇빛소년 Views14881
    Read More
  8. clamav.cf --> Clamav Multiple Score

    Date2013.07.07 Category설치관련 By햇빛소년 Views18141
    Read More
  9. [bind] DNSSEC 구축방법

    Date2013.07.07 Category설치관련 By햇빛소년 Views16474
    Read More
  10. [Linux Password 정책변경] linux 비밀번호 md5에서 SHA-512로 변경하기

    Date2013.06.30 Category설치관련 By햇빛소년 Views0
    Read More
  11. ssh 포트변경 및 iptables 수정

    Date2013.06.25 Category설치관련 By햇빛소년 Views15240
    Read More
  12. rewrite 도메인 포워딩

    Date2013.06.22 Category설치관련 By햇빛소년 Views15155
    Read More
  13. /etc/init.d/proftpd 실행 스크립트

    Date2013.06.19 Category설치관련 By햇빛소년 Views0
    Read More
  14. httpd-2.4.4 httpd.conf 설정 옵션 변경.

    Date2013.06.13 Category설치관련 By햇빛소년 Views14021
    Read More
  15. dnssec-keygen 사용법 및 구축과 검증

    Date2013.06.07 Category설치관련 By햇빛소년 Views24036
    Read More
  16. rndc-confgen — rndc key generation tool

    Date2013.05.31 Category설치관련 By햇빛소년 Views17372
    Read More
  17. Luajit 다운로드 및 설치

    Date2013.01.19 Category설치관련 By햇빛소년 Views22842
    Read More
  18. .htaccess 이용 스팸 IP 차단

    Date2013.01.17 Category설치관련 By햇빛소년 Views25201
    Read More
  19. PHP CodeSniffer 코딩검사

    Date2013.01.14 Category설치관련 By햇빛소년 Views0
    Read More
  20. DCC+razor2+pyzor how to ---[ spamassassin -D <test 2>debug ]

    Date2012.05.31 Category설치관련 By햇빛소년 Views31628
    Read More
Board Pagination Prev 1 2 3 Next
/ 3