amavis-new + clamav (2006/05/04)
ウィルススキャンメールサーバにSophos Anti-Virus + AMaViS + Postfixによるメールサーバにおけるウィルス対策について書きましたが,しばらくいじっていなかったうちに,amavis-postfixパッケージは提供されなくなっていたりして,だいぶ以前の設定はobsoluteであることが分かりました.今回,
「Debian GNU/Linux徹底入門」 武藤健志著の12.1.6「ウィルスとspamへの対策」を読んで,フリーのウィルス検知ソフトウェアclamavを利用して,ウィルススキャンメールサーバを構築しようと思い立ちました.
まず,clamavパッケージをインストールします.
# apt-get install clamav [clamav-freshclam] Virus databbase update method: "daemon" Local database mirror site: "db.jp.clamav.net (Japan)" HTTP proxy information (leave blank for none): "" Should clamd be notified after updates?: ""
依存関係でclamav-freshclamパッケージが入ります.質問を見ると,これはdaemonとして動き,ウィルス定義ファイルを最新のものにしてくれるようで,感激しました.
以前に検知されたウィルス付きメールをclamavでチェックしてみました.
# cd /var/lib/amavis/virusmails # clamscan virus-20041009-110431-28255 virus-20041009-110431-28255: Worm.SomeFool.Q FOUND ----------- SCAN SUMMARY ----------- Known viruses: 53249 Engine version: 0.88.2 Scanned directories: 0 Scanned files: 1 Infected files: 1 Data scanned: 0.02 MB Time: 1.533 sec (0 m 1 s)
きちんと検出しました.以前のamavis-postfixパッケージに相当するものがamavisd-newパッケージのようです.amavis-postfixパッケージをpurgeして,amavisd-newパッケージをインストールします.
# dpkg --purge amavis-postfix # apt-get install amavisd-new
clamavをdaemonとして動作させるclamav-daemonパッケージをインストールします.
# apt-get install clamav-daemon
clamavユーザをamavisグループに追加します.
# adduser clamav amavis Adding user `clamav' to group `amavis'... Done.
設定ファイル/etc/amavis/conf.d/20-debian_defaults内にある$inet_socket_portはamavisd-newが監視するポート番号です.これを空いているポートにして下さい.この例では,30124とします.デフォルトは10124です.設定を変更したら,/etc/init.d/amavis reloadをしましょう.これ以降は,/usr/share/doc/amavisd-new/README.postfix.gzに従い,作業を進めました./etc/postfix/master.cfの末尾に次を追加します.
# vi /etc/postfix/master.cf [Add the following lines at the end.] # # amavisd-new + clamav. # smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:30125 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
上のポート番号30125は適当ですので,空いているポート番号を利用して下さい.次に,/etc/postfix/main.cfに次の一行を加えます.
# vi /etc/postfix/main.cf [Add a line] content_filter = smtp-amavis:[127.0.0.1]:30124
postfixを再起動すれば,オーケーです.
# /etc/init.d/postfix restart
なお,/usr/share/doc/amavisd-new/README.postfix.gzには,いろいろな動作チェックの方法が書いてあります.それらを試しながら進めると,処理内容の理解の助けになると思います.
梅原 大祐 / UMEHARA Daisuke umehara@kit.ac.jp Last modified: 2020/05/01 15:37