Skip to menu

리눅스 관련 모음

본문시작

Views 14881 Votes 0 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

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

자료가 도움이 되셨다면
혼수용품제수용품 필요시
남원제기 공식 홈페이지 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
No. Category Subject Author Date Views
41 스팸어쎄신(spamassassin)은 설치 후 service등록과 업데이트를 한번 더 해 줘야 한다. 햇빛소년 2012.05.10 29484
40 DCC+razor2+pyzor how to ---[ spamassassin -D <test 2>debug ] file 햇빛소년 2012.05.31 31628
39 PHP CodeSniffer 코딩검사 secret 햇빛소년 2013.01.14 0
38 .htaccess 이용 스팸 IP 차단 햇빛소년 2013.01.17 25201
37 Luajit 다운로드 및 설치 햇빛소년 2013.01.19 22842
36 rndc-confgen — rndc key generation tool 햇빛소년 2013.05.31 17372
35 dnssec-keygen 사용법 및 구축과 검증 햇빛소년 2013.06.07 24036
34 httpd-2.4.4 httpd.conf 설정 옵션 변경. 햇빛소년 2013.06.13 14021
33 /etc/init.d/proftpd 실행 스크립트 secret 햇빛소년 2013.06.19 0
32 rewrite 도메인 포워딩 햇빛소년 2013.06.22 15155
31 ssh 포트변경 및 iptables 수정 햇빛소년 2013.06.25 15242
30 [Linux Password 정책변경] linux 비밀번호 md5에서 SHA-512로 변경하기 secret 햇빛소년 2013.06.30 0
29 [bind] DNSSEC 구축방법 file 햇빛소년 2013.07.07 16474
28 clamav.cf --> Clamav Multiple Score 햇빛소년 2013.07.07 18142
» The ClamAV Plugin --> clamav.cf , clamav.pm 햇빛소년 2013.07.07 14881
26 procmail 소스설치 햇빛소년 2013.07.24 14495
25 메일계정 관련 명령어... secret 햇빛소년 2013.08.19 0
24 What do these PHP mbstring settings do? 햇빛소년 2013.08.25 11074
23 원격 서버에 파일 올리거나 가져오기... 1 햇빛소년 2014.02.22 9163
22 리눅스 콘솔에서 SSH 원격 서버 접속하기 햇빛소년 2014.02.23 3531
Board Pagination Prev 1 2 3 Next
/ 3