[Sendmail]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク

ClamAVはフリーのウィルススキャンソフトで、サーバ上にインストールすることで、ユーザがメールを受け取る前にウィルスを除去することができます。sendmail+clamav-milterでウィルススキャンをするためには、まずsendmailがmilterに対応している必要があります。8.12以上ではデフォルトで対応しているようですが、そうでない場合はSendmailのアップグレードが必要となります。milterに対応しているかどうかは以下のコマンドで知ることができます。


sendmail -d0 < /dev/null | grep MILTER


以下のように"MILTER"とでてくればOKです。


Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7


以下ClamAVのインストール方法。


clamavユーザを作成


useradd -s /bin/false -d /var/run/clamav clamav


ソースを取得


wget http://aleron.dl.sourceforge.net/sourceforge/clamav/clamav-0.75.tar.gz
Resolving aleron.dl.sourceforge.net... done.
Connecting to aleron.dl.sourceforge.net[204.157.3.229]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2,764,536 [application/x-gzip]


ソースを解凍


tar xvzf clamav-0.75.tar.gz
cd clamav-0.75
useradd clamav


enable-milterオプションを付けてconfigure後、インストール


./configure -enable-milter
make
make install


/etc/sendmail.cfの修正。以下の二行をsendmail.mcに追加し、sendmail.cfを作成しなおしてください


INPUT_MAIL_FILTER(`clmilter' , `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS',`clmilter')


/usr/local/etc/clamav.conf の編集

Exampleがあると動かないのでコメントします。 #Example


ログに記述される際、時間がわからないと困るのでコメントをはずす。
LogTime


シスログ経由でログを取るため、コメントをはずす。
LogSyslog


ログのfacility名
LogFacility LOG_MAIL


詳細なログを出力
LogVerbose


メールのアーカイブをチェックするのに必要なため、コメントをはずす。
StreamSaveToDisk


PIDファイルの保存場所
PidFile /var/run/clamd.pid


作成されるソケットの場所を指定(clamavユーザ権限のある場所)
LocalSocket /var/run/clamav/clamd.sock


データベースをチェックする間隔(デフォルトでは1時間)
SelfCheck 3600


clamdのユーザ権限をclamavに指定
User clamav


メールをスキャンするため、コメントをはずします。
ScanMail


ウィルスデータベースのアップデート。まず一旦手動でデータベースを更新


freshclam


次にデーモンとして起動し、 -c オプションで更新回数(一日)を指定


freshclam -d -c 24


clamdを起動


/usr/local/sbin/clamd


clamav-milterを起動


/usr/local/sbin/clamav-milter -loP --pidfile /var/run/clamav/clamav-milter.pid
/var/run/clamav/clmilter.sock


clamav-milterの主なオプション:

-b 送り主に通知 -l ローカルのメッセージをスキャン -o 外部へのメッセージをスキャン -p <I>メールアドレス</> 管理者のメールアドレス。デフォルトはpostmaster -P 警告メールを管理者にのみ送信 --pidfile PIDファイルを作成


sendmailを再起動


/etc/rc.d/init.d/sendmail restart

参考サイト: http://www.clamav.net
※documentationの中に日本語もあります



関連記事
$jの確認方法
stat=Deferred: local mailer (/usr/bin/procmail) exited with EX_TEMPFAIL
submit.cf - ローカル配送の転送
DSN: Data format error
dracd.dbのエントリーを調べるには
ClamAV - Oversized Zip FOUND
SMTP AUTH
Domain name required for sender address
alias database /etc/aliases.db out of date
config error: mail loops back to me (MX problem?)
dnsblによるスパム対策
/etc/mail/local-host-names
Cannot resolve PTR record for
procmailにて未承諾広告を削除
Domain of sender address....
/etc/mail/access.db - リレーの制御
savemail panic
sendmailのアップグレード
キューの再送をする
ClamAVによるウィルススキャン
virtusertable - 複数ドメインのメールを受信
MaxMessageSize - メールの送受信サイズを制限するには
メールの転送設定 - aliases
Unable to process From lines (envelope), change recognition modes
キューの並列処理をさせるには
キューの時間を変更するには
sendmailのバージョンを調べるには
mailq - メールのキューを見るには
メールをプログラムへ渡すには
mailertableによる配送経路の指定
telnetによるメール送信
Drac + QpopperによるPOP Before SMTP
Sendmailでのウィルススキャン
広告