内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
01_linux
»
03_mail
»
02 Postfix + amavisd + clamav
トレース:
01_linux:03_mail:02_postfix_amavisd_clamav
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 02 Postfix + amavisd + clamav ====== ===== 環境 ===== CentOS 5.4 clamav-0.91.2 ===== ①ClamAVインストール ===== <code> # yum install clamd </code> ==== 設定を修正 ==== <code> # vi /etc/clamd.conf 80 TCPSocket 3310 ↓ コメントアウト 80 #TCPSocket 3310 170 User clamav ↓ コメントアウト 170 #User clamav </code> ==== Clamav再起動 ==== <code> # service clamd restart </code> ===== ②amavisdインストール ===== <code> # yum install amavisd-new </code> ==== 設定を修正 ==== <code> # vi /etc/amavisd.conf 14 #@bypass_spam_checks_maps = (1); # controls running of anti-spam code ↓ スパムチェックは行わない 14 @bypass_spam_checks_maps = (1); # controls running of anti-spam code 21 #$mydomain = 'example.com'; # a convenient default for other settings ↓ 自分のドメインを入れる 21 $mydomain = 'test.flateight.com'; # a convenient default for other settings 363 #['ClamAV-clamd', 364 # \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"], 365 # qr/\bOK$/m, qr/\bFOUND$/m, 366 # qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], ↓ コメントアウトを外す 363 ['ClamAV-clamd', 364 \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"], 365 qr/\bOK$/m, qr/\bFOUND$/m, 366 qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], 206 qr'^\.(exe-ms|dll)$', # banned file(1) types, rudimentary ↓ コメントアウト。exe,dllも送信できるようにする。 206 # qr'^\.(exe-ms|dll)$', # banned file(1) types, rudimentary </code> === 添付ファイルがはじかれるので、この部分をコメントアウト === <code> $banned_filename_re = new_RE( ### BLOCKED ANYWHERE # qr'^UNDECIPHERABLE$', # is or contains any undecipherable components qr'^\.(exe-ms|dll)$', # banned file(1) types, rudimentary # qr'^\.(exe|lha|tnef|cab|dll)$', # banned file(1) types ・ ・ ・ ); </code> === ウィルスや、スパムの最終的な処理方法 D_BOUNCEにしてあると、受け取ってもらえなくてずっと溜まってしまうので、D_DISCARDにしておく。 === <code> $final_virus_destiny = D_DISCARD; # $final_banned_destiny = D_BOUNCE; # $final_spam_destiny = D_BOUNCE; $final_banned_destiny = D_DISCARD; $final_spam_destiny = D_DISCARD; $final_spam_destiny = D_PASS; </code> === 説明 === ^ 設定変数 ^ 説明 ^ |$final_virus_destiny|ウィルスメールの最終的な処理方法。| |$final_banned_destiny|banned(禁止された)メールの最終的な処理方法。| |$final_spam_destiny|スパムメール($sa_kill_level_deflt以上のスコア)の最終的な処理方法。| |$final_bad_header_destiny|ヘッダにASCII以外の文字が含まれているメール(Bad Header)の最終的な処理方法。| ^ 設定値 ^ 説明 ^ |D_DISCARD|メールは受信者に配送せず、送信者にも通知しない。| |D_BOUNCE|メールは受信者には配送されないが、配送されなかったことを送信者に通知する。 \\ ただし、例外的に送信者に通知しないものがある。| |D_REJECT|メールは受信者には配送されないが、配送されなかったことを送信者に通知する。| |D_PASS|メールは配送される。| ===== ③Postfixの設定 ===== ==== master.cf修正 ==== <code> # vi /etc/postfix/master.cf smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 </code> ==== main.cf修正 ==== <code> # vi /etc/postfix/main.cf content_filter=smtp-amavis:[127.0.0.1]:10024 </code> ==== postfix再起動 ==== <code> # /etc/init.d/postfix restart </code> ==== MTAの切り替えもやっておく ==== [[01_linux:03_mail:10_mtaの切り替え]] ===== ④Spamassassinと連携する場合 ===== <code> # vi /etc/amavisd.conf @bypass_spam_checks_maps = (1); # controls running of anti-spam code ↓ コメントアウトを付ける #@bypass_spam_checks_maps = (1); # controls running of anti-spam code ↓スパムを検出した際の通知先を追加。 $spam_admin = "spamalert\@$mydomain"; # notifications recip. </code> ==== whitelist_from,blacklistfromが効かない ==== /etc/mail/spamassassin/local.cfファイルを編集して、spamassassinを再起動しても設定は反映されない。 ずっとなんでだろ?でした。 <color red>設定を反映させるには、amavisdの再起動が必要です。</color> <code> # vi /etc/mail/spamassassin/local.cf # /etc/init.d/amavisd restart </code> ==== X-Spamのヘッダが入らない ==== スパムやウィルスのフィルタは通っているけど、 メールのヘッダは変更されていない。 どうも@local_domains_mapsにマッチした場合に下の設定が効くらしい。 <code> $sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level $sa_tag2_level_deflt = 6.2; # add 'spam detected' headers at that level </code> デフォルトだと$mydomainしか入ってないので、 チェックする全てのドメインを記述してあげる。 <code> # vi /etc/amavisd.conf @local_domains_maps = ( [ ".$mydomain"] ); ↓ @local_domains_maps = ( [".$mydomain",".ma21.ath.cx",".fl8.jp"] ); # list of all local domains </code> ===== ⑤スパム対策(RBLを利用) ===== ブラックリストを利用してチェックする。 <code> # vi /etc/postfix/main.cf ------- 一番下に入れる ------- smtpd_client_restrictions = permit_mynetworks, #reject_rbl_client relays.ordb.org, reject_rbl_client spamcop.net, reject_rbl_client dynablock.wirehub.net, reject_rbl_client all.rbl.jp, #reject_rbl_client opm.blitzed.org, #reject_rbl_client relays.ordb.org, #reject_rbl_client relays.visi.com, reject_rbl_client sbl.spamhaus.org, check_client_access hash:/etc/postfix/reject_client, permit </code> ===== Tips ===== ==== スパム・ウィルスメールの保管場所 ==== このフォルダ内に保管されます。 <code> # ll /var/virusmails/ </code> ==== spamassassinが起動しない ==== こんなエラーでspamassassinが起動してくれない。 <code> # /etc/init.d/spamassassin start spamd を起動中: child process [26884] exited or timed out without signaling production of a PID file: exit 255 at /usr/bin/spamd line 2588. </code> /var/log/mailログを見てみたら、amavisdのログにsa-updateしろと出ておりました。 <code> # sa-update # /etc/init.d/spamassassin start </code> sa-updateしたら、正常に起動しました。 ==== ウィルスメールのテスト ==== 本文に下記を書いたメールを送ってちゃんと検知すればOK X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* ==== スパムメールのテスト ==== 本文に下記を書いたメールを送ってちゃんと検知すればOK XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X {{tag>postfix amavisd clamav spamassassin}}
01_linux/03_mail/02_postfix_amavisd_clamav.txt
· 最終更新: 2016/06/06 03:26 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ