메뉴 건너뛰기

리눅스 관련 모음

본문시작

설치관련
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. Starting Dovecot Imap: Error: service(pop3-login): listen(*, 110) failed: Address already in use

    Date2013.06.29 Category에러해결 By햇빛소년 Views25216
    Read More
  2. Starting spamd: Apr 29 16:41:34.934 [14162] warn: server socket setup failed, retry 1: spamd: could not chown 에러해결

    Date2012.04.29 By햇빛소년 Views32110
    Read More
  3. su 명령의 문제점

    Date2011.10.04 By햇빛소년 Views54674
    Read More
  4. SURBL을 이용해 스팸 정확도 극대화하기

    Date2011.04.14 By햇빛소년 Views50988
    Read More
  5. The ClamAV Plugin --> clamav.cf , clamav.pm

    Date2013.07.07 Category설치관련 By햇빛소년 Views14881
    Read More
  6. TIFF 설피시 /usr/local/include/jmorecfg.h:263:16: error: expected identifier before numeric constant 에러

    Date2013.06.04 Category에러해결 By햇빛소년 Views17422
    Read More
  7. unable to include potential exec "include/top.html" in parsed file 에러 해결!!!

    Date2013.01.11 Category에러해결 By햇빛소년 Views30287
    Read More
  8. utf8_mime2text() has new signature,

    Date2014.03.01 Category에러해결 By햇빛소년 Views3088
    Read More
  9. What do these PHP mbstring settings do?

    Date2013.08.25 Category설치관련 By햇빛소년 Views11076
    Read More
  10. win8.1 F8 안전모드 부팅하기

    Date2015.02.22 Category에러해결 By햇빛소년 Views741
    Read More
  11. XE 데이터 이전시 "댓글" 사라지는 문제 해결...

    Date2014.02.13 Category에러해결 By햇빛소년 Views0
    Read More
  12. yum install 시에 Transaction check error: 발생할 때

    Date2017.01.12 Category에러해결 By햇빛소년 Views4949
    Read More
  13. ZendGuardLoader 설치 에러

    Date2013.01.10 Category에러해결 By햇빛소년 Views24649
    Read More
  14. ZendGuardLoader.so: undefined symbol: compiler_globals

    Date2013.01.19 Category에러해결 By햇빛소년 Views25879
    Read More
  15. zone_resigninc:dns_journal_open -> unexpected error

    Date2015.02.07 Category에러해결 By햇빛소년 Views0
    Read More
  16. 경영학과의 눈물… 예고된 취업 바늘구멍

    Date2014.10.12 Category설치관련 By햇빛소년 Views4050
    Read More
  17. 공기정화 식물을 키워라!

    Date2011.05.19 By햇빛소년 Views36768
    Read More
  18. 그누보드 영카트 대신택배 배송조회 깨짐 현상 정확한 URL 링크 주소.

    Date2022.08.23 Category에러해결 By햇빛소년 Views352
    Read More
  19. 기가인터넷 CAT.6 인터넷 속도 100Mb 인식 문제 해결

    Date2023.03.17 Category에러해결 By햇빛소년 Views342
    Read More
  20. 내년부터 시험없이 국가기술자격 딴다

    Date2011.05.19 By햇빛소년 Views40541
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10