메뉴 건너뛰기

리눅스 관련 모음

본문시작

설치관련
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.

   

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
130 설치관련 php-559컴파일시 에러---configure: error: utf8_mime2text() has new signature,.... 햇빛소년 2014.02.23 3891
129 설치관련 mysql 컴파일 설치 후 해야 할 일... secret 햇빛소년 2014.02.23 4
128 에러해결 libmysqlclient.so.16()(64bit) is needed by... 낮은 버전을 요구 할 때.. 햇빛소년 2014.02.23 4113
127 설치관련 리눅스 콘솔에서 SSH 원격 서버 접속하기 햇빛소년 2014.02.23 3531
126 설치관련 원격 서버에 파일 올리거나 가져오기... 1 햇빛소년 2014.02.22 9109
125 에러해결 XE 데이터 이전시 "댓글" 사라지는 문제 해결... secret 햇빛소년 2014.02.13 0
124 에러해결 [mysql] 에러메세지 - [Note] Plugin 'FEDERATED' is disabled. 햇빛소년 2014.01.20 6862
123 에러해결 [mysql] 에러 메세지 - RSA private key file not found: /mysql/data//private_key.pem. Some authentication plugins will not work. secret 햇빛소년 2014.01.20 1
122 에러해결 [mysql]에러 메세지- #1146 - Table 'mysql.innodb_index_stats' doesn't exist 해결 secret 햇빛소년 2014.01.17 157
121 에러해결 만약 Phpmyadmin 메인 화면에서 다음과 같은 에러 메세지를 보이지 않게 하고 싶다면.... 햇빛소년 2014.01.17 5400
120 에러해결 HTML <meta> Tag 햇빛소년 2013.12.26 11245
119 에러해결 error on line at column Input is not proper UTF-8, indicate encoding ! 햇빛소년 2013.12.26 4624
118 에러해결 'post-create' on '/var/spool/abrt/................................... secret 햇빛소년 2013.08.28 0
117 설치관련 What do these PHP mbstring settings do? 햇빛소년 2013.08.25 11074
116 설치관련 메일계정 관련 명령어... secret 햇빛소년 2013.08.19 0
115 설치관련 procmail 소스설치 햇빛소년 2013.07.24 14495
114 에러해결 LGU+ 결제 Mserver 설치관련 에러 사항..... secret 햇빛소년 2013.07.18 0
113 에러해결 sendmail[8569]: auxpropfunc error invalid parameter supplied 햇빛소년 2013.07.11 15686
» 설치관련 The ClamAV Plugin --> clamav.cf , clamav.pm 햇빛소년 2013.07.07 14881
111 설치관련 clamav.cf --> Clamav Multiple Score 햇빛소년 2013.07.07 18123
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10