QmailScanner

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

久しぶりの更新(2015/5/20)

qmail-scannerにstパッチをつけたもので運用します。
stパッチはqmail-scannerをより強力にしてくれるので、お勧めです。
2.11stで遊びまする。

Perlが5.12.0以降、Perlのsuidエミュレーションが消え去りました。
その影響で、qmail-scannerが正しく動作しなくなり、メールが使えなくなります。
contribフォルダに有るラッパーをつかっていけるらしいということでやってみます。

ダウンロード

cd /usr/local/src wget http://jaist.dl.sourceforge.net/sourceforge/qmail-scanner/qmail-scanner-2.11.tgz tar zxvf qmail-scanner-2.11.tgz cd qmail-scanner-2.11 wget http://toribio.apollinare.org/qmail-scanner/download/q-s-2.11st-20130319.patch.gz gzip -dc q-s-2.11st-20130319.patch.gz | patch -p1 cd locale cp -r ja_JP.EUC ja_JP.UTF-8 cd ja_JP.UTF-8/ vi conv.sh ---cut here--- #!/bin/sh for i in `ls -1`;do nkf -w $i > $i.tmp mv $i.tmp $i done ---cut here--- sh conv.sh cd ../../

インストール

./configure \ --qs-user qscand \ --admin webmaster \ --domain example.org \ --admin-description "System Anti-Virus Administrator" \ --notify nmlvadm,admin \ --local-domains example.org \ --silent-viruses auto \ --virus-to-delete 0 \ --skip-text-msgs 1 \ --lang ja_JP.UTF-8 \ --debug no \ --minidebug 1 \ --add-dscr-hdrs 0 \ --dscr-hdrs-text "X-Antivirus-Detection" \ --normalize 1 \ --archive 0 \ --settings-per-domain 0 \ --max-scan-size 100000000 \ --unzip 0 \ --max-zip-size 1000000000 \ --max-unpacked-files 10000 \ --redundant 0 \ --log-details syslog \ --log-crypto 0 \ --fix-mime 1 \ --ignore-eol-check 0 \ --sa-delta 0 \ --sa-alt 0 \ --sa-debug 0 \ --sa-report 0 \ --sa-quarantine 3 \ --sa-delete 10 \ --sa-reject 1 \ --scanners "clamdscan,verbose_spamassassin" \ --install 1

後はEnterキー連打でインストール完了です。

perl 5.12対応

インストールされたqmail-scanner-queue.plはパーミッションがおかしいかも知れないので、0755にしておきます

chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl cd /usr/local/src/qmail-scanner-2.11st/contrib gcc -o qmail-scanner-queue qmail-scanner-queue.c install -D -o root -g root -m6755 qmail-scanner-queue /var/qmail/bin/qmail-scanner-queue

後は/service/qmail-smtpd/runとかに書かれてるQMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"をQMAILQUEUE="/var/qmail/bin/qmail-scanner-queue"にしてqmailctl restartで動くようになります。

とりあえずstパッチについては、メールの削除はせずに
様子見するような設定でインストールします。

次にqmail-scanner-queue.plの日本語化メール対応と
ローカルタイム化をします。

/var/qmail/bin/qmail-scanner-queue.pl

my $qmailinject = '/var/qmail/bin/qmail-inject'; ↓ my $qmailinject = '/usr/bin/nkf -j | /var/qmail/bin/qmail-inject'; #1777行目付近 ($sec,$min,$hour,$mday,$mon,$year) = gmtime(time); ↓ ($sec,$min,$hour,$mday,$mon,$year) = localtime(time); $findate .= sprintf "%02d %02d:%02d:%02d -0000", $year+1900, $hour, $min, $sec; ↓ $findate .= sprintf "%02d %02d:%02d:%02d +0900", $year+1900, $hour, $min, $sec;

次にQmailとの連携のためrunファイルを編集します。

/service/qmail-smtpd/run

#MAXSMTPDの下に追加 QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE #/var/qmail/bin/qmail-smtpd \の下に追加 /usr/local/bin/rblsmtpd -r list.dsbl.org -r cbl.abuseat.org -r sbl.spamhaus.org -r virus.rbl.jp \ #変更 exec /usr/local/bin/softlimit -m 8000000 \ ↓ exec /usr/local/bin/softlimit -m 15000000 \

Qmail-Scannerの設定

/var/spool/qscan/quarantine-events.txt

コメントを外す #.lnk #.wsh #.bat #.com #.exe 追加(間はTabじゃないと怒られます) .ade SIZE=-1 Access Project Extension .adp SIZE=-1 Access Project .bas SIZE=-1 Visual Basic Class Module .btm SIZE=-1 JP Software fast batch file .chm SIZE=-1 Compiled HTML help file .cmd SIZE=-1 cmd.exe NT batch file .crt SIZE=-1 Security Certificate .css SIZE=-1 Cascading Style Sheets .dll SIZE=-1 Windows Dynamic Link Library .hlp SIZE=-1 Windows Help File .inf SIZE=-1 Setup Information file .ins SIZE=-1 Internet Communication Settings .isp SIZE=-1 Internet Communication Settings .js SIZE=-1 JavaScript .jse SIZE=-1 JavaScript Encoded .mdb SIZE=-1 Acess Application .mde SIZE=-1 Access MDE Database .msc SIZE=-1 Common Console Document .msi SIZE=-1 Windows Installer Package .msp SIZE=-1 Windows Installer Patch .mst SIZE=-1 Visual Test Source File .nls SIZE=-1 National Language Support .pcd SIZE=-1 Photo CD Image .reg SIZE=-1 Windows Registry file .sct SIZE=-1 Scriptlet File .shb SIZE=-1 Shell Scrap object .shs SIZE=-1 Shell automation code .url SIZE=-1 Internet Shortcut (Uniform Resource Locator) .vb SIZE=-1 Script Script File .vba SIZE=-1 Visual Basic Application .vbe SIZE=-1 VisualBasic Encoded .wsc SIZE=-1 Windows Script Component .wsf SIZE=-1 Windows Scripting File

設定反映

setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g

Cronの設定

0 0 * * * /var/qmail/bin/qmail-scanner-queue.pl -z 59 23 * * * /var/qmail/bin/log-report.sh /var/spool/qscan/qmail-queue.log | mail -s 'qmail log-report' webmaster@example.org

アンチウィルスの追加とか

つい最近、SophosがLinux向けのアンチウィルスを無償提供するとのニュースが有ったので、
いろいろなフリーのアンチウィルスを入れて試してみます。(各ページにて確認してね)
2015/5/20現在Sophos用のscannnerの設定がうまくいかないので誰かうまく動かせる人がいたら教えて下しあ
とりあえず、動かすのはClamAV、AVG、F-protの3つをインストールして使います。
ClamAVは既にインストールされてると思うので、それ以外を入れます。
尚、qmail-scanner側のコンパイル時の設定は以下のようにしています。
--scanners "clamdscan,avgd,mhr,fpscan,verbose_spamassassin,savscan" AVGはインストール後にqmail-queueを元に戻してqmail-scanner-queue.plをいじる必要があるので
インストールのところを確認しておいてください。

後はqmailctl restartでOKなはずです。
ちゃんと動いているかチェックする場合はqmail-scanner付属の
チェックツールで確認可能です。

cd /usr/local/src/qmail-scanner-2.11st/contrib ./test_installation.sh -doit

これは4通投げるのですが、
1通目は正常なメール
2通目はeicarのテストウィルス(メール本文)
3通目もeicarのテストウィルス(添付ファイル)
4通目はSpamテスト

1通目だけ届いていればたぶん完璧です。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.