[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp:02227] Re: free virus scanner



柚口@宮城教育大学です。

# MLの皆様、
# ほとんど、投稿もせずにいつもROMになっておりました。^^;

ここ最近の話題の Virus Scannerに関しては、以前から興味はあったものの
「ほとんどが有料でサーバライセンスなんて高いだろう」とか
「メールサーバを立ち上げるだけで精一杯の私には、導入できないだろう」
などと諦めていました。

しかし、オープンなソフトウェアが存在するのを知り、興味本位でMLに流れていた情報
を元に調べたら、意外と簡単にできてしまいましたので
もし同じような環境で使われている方がおられるのであればと思い、
ここに私の導入した環境とその方法をメモしておきます。
# お役に立てれば、幸いです。(^^ゞ

私のインストールした環境は、以下のとおりです。
	マシン	:DOS/V自作機
	OS	:RedHat Linux 7.3(FTP版,日本語版)
	(研究室でWEBやMail,ML,Sambaなどのサーバとして24時間駆動中)
既に、PostfixはMTAとして使っており、今回は「Virus Scanner」を導入しただけです。

導入したソフトウェアとしては、以下のとおりです。
 「amavis-perl-11」&「Clam AntiVirus」
です。
それぞれの詳しい説明は、検索ページなどで調べてくださいね。
(私は、説明できるほど知識を持ち合わせていないので(^^ゞ )

なお、導入するにあたり参考にしたWEBページは、
  ●ZDNet:ウイルスからLinuxサーバを守る
    第3回:メールサーバでのウイルススキャン −Postfix編−
    http://www.zdnet.co.jp/help/howto/security/special7/
  ●Clam Antivirusに関するメモ
    http://homepage.mac.com/proc/clamav.html
です。

念のため、私の行った方法は生半可な知識で行っているため
セキュリティ上安全かどうかは判断できません。
私個人の見解としては、小規模メールサーバ(ユーザー数人)で
Virus Scannerを導入するつもりは無かったが、
オープンソフトウェアで利用できるのであれば、無いよりもいいかなぁとの
考えのもと導入してみたということを付け加えておきますね。

誤っている部分などがあれば、是非アドバイスいただけると幸いです。

========================================
柚口高志 Takashi Yuguchi
宮城教育大学大学院 環境教育実践専修在籍
E-mail: taka-y@xxxxxxxxxxxxxxxxxxxxxxx



***************************************************
Postfix + AMaViS-perl + Clam AntiVirus
インストールメモ(^O^)
***************************************************

*******サーバ環境**********************************
OS	: Red Hat Linux 7.3(ftp) kernel2.4.18-10
MTA	: postfix-1.1.7-2 (RPM)
Perl	: perl-5.6.1-34.99.6 (PRM)

*******インストール概観****************************
以下のような流れで、行いました。
 ・Clam AntiVirusのインストール
	clamav-0.53.tar.gz
 ・ウィルス定義データベースの更新設定
 ・AMaViS-perlに必要なプログラムのインストール
 ・AMaViS-perlのインストール
	amavis-perl-11.tar.gz
 ・ウイルスメールを送受信してみる(テスト)

*******インストール手順****************************
◆Clam AntiVirusのインストール

・clamavユーザの作成
	# groupadd clamav
	# useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav

・ソースコード入手。(http://clamav.elektrapro.com/)
	# wget http://clamav.elektrapro.com/stable/clamav-0.53.tar.gz

・解凍。
	# tar xvzf clamav-0.53.tar.gz
	# cd clamav-0.53

・configure & make
	# ./configure
	# make
	# su
	# make install

・インストールできたか確認
	loginしなおしてから
	# clamscan

	| /hogehoge/filename: OK
	| ......
	|  省略
	| ......
	| ---------- SCAN SUMMARY -----------
	| Known viruses: 7258
	| Scanned directories: 1
	| Scanned files: 10
	| Infected files: 0
	| Data scanned: 0.02 Mb
	| I/O buffer size: 131072 bytes
	| Time: 0.508 sec (0 m 0 s)
 となっていれば、とりあえずOKだろう。

**************************************************
◆ウィルス定義データベースの更新(clamv付属ツール利用)

・手動でアップデートしてみる(ユーザclamvか、rootで)
	# freshclam

	| Checking for a new database - started
	| Current working dir is /usr/local/share/clamav
	| Connected to clamav.elektrapro.com.
	| ...省略...
	| Database updated (containing in total 7265 signatures).
 なにかをダウンロードして、更新されたようである。

・自動更新したいのでcronに登録してみる
 ログファイルを作成
	# touch /var/log/clam-update.log
	# chmod 644 /var/log/clam-update.log 
	# chown clamav /var/log/clam-update.log

 rootかclamavユーザでcrontabに登録
	# crontab -e
	
	この一行を追加(毎朝8時に更新)
	0 8 * * * /usr/local/bin/freshclam --daemon-notify --quiet --log-verbose -l /var/log/clam-update.log

 cronで更新されれば、このようなログが記録されている
	# less clam-update.log
	--------------------------------------
	Checking for a new database - started
	viruses.db is up to date.
	viruses.db2 is up to date.


**************************************************
◆AMaViS-perlのインストール 準備

     以下のプルグラムが必要
	file
	arc
	bunzip2 (part of the bzip2 package)
	lha (version 1.14g or later!)
	unarj
	uncompress (standard on Unix and Unix-like systems)
	unrar
	zoo
    以下のPerlモジュールが必要
	Unix::Syslog
	Convert::UUlib
	Convert::TNEF
	Compress::Zlib
	Archive::Tar
	Archive::Zip
	G/GB/GBARR/MailTools-1.15.tar.gz
	MIME::Tools
	Bundle::libnet

・今回は、必要なプログラムをrpmfindから探しインストールした。
	# rpm -ivh ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/file-3.37-5.i386.rpm
	# rpm -ivh ftp://rpmfind.net/linux/contrib/libc6/i386/arc-5.21e-6.i386.rpm
	# rpm -ivh ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/bzip2-1.0.2-2.i386.rpm
	# rpm -ivh ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/lha-1.14i-4.i386.rpm
	# rpm -ivh ftp://rpmfind.net/linux/redhat/7.1/en/os/i386/RedHat/RPMS/unarj-2.43-6.i386.rpm
	# rpm -ivh ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/ncompress-4.2.4-28.i386.rpm
	# rpm -ivh ftp://rpmfind.net/linux/contrib/libc6/i386/unrar-3.0-1.i386.rpm
	# rpm -ivh ftp://rpmfind.net/linux/contrib/libc6/i386/zoo-2.10-7.i386.rpm

・また、必要なPerlモジュールは、CPANシェルを利用した。
	# perl -MCPAN -e shell
	(途中略)
	cpan> install Unix::Syslog
	cpan> install Convert::UUlib
	cpan> install Convert::TNEF
	cpan> install Compress::Zlib
	cpan> install Archive::Tar
	cpan> install Archive::Zip
	cpan> install G/GB/GBARR/MailTools-1.15.tar.gz
	cpan> install MIME::Tools
	cpan> install Bundle::libnet
	cpan> exit

・ユーザーの作成とエイリアスの追加
	# groupadd vscan
	# useradd -g vscan -d /dev/null -s /bin/false vscan

	# vi /etc/aliases
 	 次の一行を追加
	virusalert:	root

	# newaliases

**************************************************
◆AMaViS-perlのインストール 本編

・ソースコード入手(sourceforge.netより入手)
	# wget http://unc.dl.sourceforge.net/sourceforge/amavis/amavis-perl-11.tar.gz
・解凍
	# tar xvzf amavis-perl-11.tar.gz
	# cd amavis-perl-11

・パッチをあてる
 標準ではClam AntiVirusに対応していないため、
 Clam AntiVirus付属のAMaViS-perl用パッチをあてる。

 先ほどclamav-0.53.tar.gzを解凍したディレクトリからパッチをコピー
	# cp xxxx/clamav-0.53/support/amavis/clamavis.patch ./
	# patch -p1 < clamavis.patch
	# find . -exec touch 01010000 {} \;
 
	# ./configure --enable-smtp --enable-postfix

	最後にこのように表示された。
	| ** Configuration summary for amavis perl-11:
	| 
	|   Install amavis as:          /usr/sbin/amavis
	|   Configured for use with:    postfix
	|   Relay configuration:        no
	|   Enable SMTP:                yes
	|   Use SMTP port:              10025
	|   Use virus scanner(s):       Clam Antivirus
	|   Scanner runs as:            vscan
	|   Logging to syslog:          yes
	|   Quarantine directory:       /var/virusmails
	|   Max. recursion depth:       20
	|   Add X-Virus-Scanned header: yes
	|   Display AMaViS credits:     no
	|   Warn sender:                yes
	|   Reports sent to:            virusalert
	|   Reports sent by:            postmaster
	| 
	| To accept the above, type "make"

	# make
	# make check

	このようなに表示された。
	| (途中省略)
	| ===================
	| Test script created
	| ===================
	| (途中省略)
	| ==================
	| All 4 tests passed
	| ==================
	| (途中省略)

	# su
	# make install

・ウイルススキャンのためのディレクトリ設定
	# cd /var
	# chown -R vscan.vscan amavis virusmails
	# chmod 700 amavis virusmails

・Postfixの設定を変更
	# vi /etc/postfix/main.cf
	 この一行を最後に追加
	 content_filter = vscan:
	
	# vi /etc/postfix/master.cf
	 この2つの項目を最後に追加

	vscan unix - n n - 10 pipe
	    user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
	localhost:10025 inet n - n - - smtpd
	    -o content_filter=

・Postfixを再起動
	# service postfix restart



**************************************************
◆ウイルスメールを送受信してみる

・テスト用ウィルスファイルのダウンロード
 (http://www.eicar.org/anti_virus_test_file.htm)

 ファイル名:eicar.com を
 自分あてに添付ファイルに付けてメールしてみる。

 そうすると、ウィルスアラートメールが
 送信者と送信先、virusalert宛てにそれぞれ送られてくる。

	たとえば、送信者に戻ってきたメールは、

	|--------------------------------------------------------------------
	|	                           V I R U S  A L E R T
	|
	|Our viruschecker found the
	|
	|	Eicar-Test-Signature
	|
	|virus(es) in your email to the following recipient(s):
	|
	|-> xxxxx@hostname
	|
	|Please check your system for viruses, or ask your system 
	|administrator to do so.
	|
	|For your reference, here are the headers from your email:
	|
	|------------------------- BEGIN HEADERS -----------------------------
	|
	|(省略)
	|
	|-------------------------- END HEADERS ------------------------------

以上。
**************************************************

Follow-Ups
[postfix-jp:02228] Re: free virus scanner, TATSUYA
References
[postfix-jp:02212] free virus scanner, 山内 朋浩) <handy-forml@xxxxxxxxxxx>
[postfix-jp:02215] Re: free virus scanner, KIKUCHI Junichi
[postfix-jp:02216] Re: free virus scanner, Masayuki TAMAOKA
[postfix-jp:02224] Re: free virus scanner, 山内 朋浩) <handy-forml@xxxxxxxxxxx>

[検索ページ] [Postfix-JP ML Home]