Linux/Postfix + amavisd + clamav のバックアップの現在との差分(No.0)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*Postfix + amavisd + clamav [#c2d227ab]
[[dokuwiki.fl8.jp掲載済>http://dokuwiki.fl8.jp/01_linux/03_mail/02_postfix_amavisd_clamav]]

**環境 [#oadbadcc]
CentOS 5.4


#contents



**ClamAVインストール [#y0d63920]
 # yum install clamd

◆設定を修正
 # vi /etc/clamd.conf
 80 TCPSocket 3310
    ↓ コメントアウト
 80 #TCPSocket 3310
 
 170 User clamav
    ↓ コメントアウト
 170 #User clamav

◆再起動
 # service clamd restart

**amavisdインストール [#c9ec4440]
 # yum install amavisd-new

◆設定を修正
 # 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

◆添付ファイルがはじかれるので、この部分をコメントアウト
 $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



 );

◆ウィルスや、スパムの最終的な処理方法
D_BOUNCEにしてあると、受け取ってもらえなくてずっと溜まってしまうので、D_DISCARDにしておく。
  $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;

・説明
    設定変数                     説明
    $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の設定 [#ze0cf6dc]
・下記を追加
 # 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

・下記を追加
 # vi /etc/postfix/main.cf
 content_filter=smtp-amavis:[127.0.0.1]:10024

・再起動
 # /etc/init.d/postfix restart


**Spamassassinと連携する場合 [#a79dad7b]
 # 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.

***whitelist_from,blacklistfromが効かない [#c12b0632]
/etc/mail/spamassassin/local.cfファイルを編集して、spamassassinを再起動しても設定は反映されない。~
ずっとなんでだろ?でした。 (^^; 


&color(Red){設定を反映させるには、amavisdの再起動が必要です。};
 # vi /etc/mail/spamassassin/local.cf
 
 # /etc/init.d/amavisd restart

***X-Spamのヘッダが入らない [#l6042323]
スパムやウィルスのフィルタは通っているけど、~
メールのヘッダは変更されていない。

どうも@local_domains_mapsにマッチした場合に下の設定が効くらしい。
 $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

デフォルトだと$mydomainしか入ってないので、~
チェックする全てのドメインを記述してあげる。
 # vi /etc/amavisd.conf
 @local_domains_maps = ( [ ".$mydomain"] );

 @local_domains_maps = ( [".$mydomain",".ma21.ath.cx",".fl8.jp"] );  # list of all local domains

[[http://blog.goo.ne.jp/watermind/m/200904]]

こまかな設定など

http://www.crimson-snow.net/hmsvr/centos/maild/clamav.html


**スパム対策(RBLを利用) [#t331e273]
ブラックリストを利用してチェックする。

 # 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



**スパム・ウィルスメールの保管場所 [#jd36bc51]
このフォルダ内に保管されます。
 # ll /var/virusmails/

**spamassassinが起動しない [#fc65ee96]
こんなエラーでspamassassinが起動してくれない。
 # /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.

/var/log/mailログを見てみたら、amavisdのログにsa-updateしろと出ておりました。
 # sa-update
 # /etc/init.d/spamassassin start
sa-updateしたら、正常に起動しました。

**ウィルスメールテスト [#l1f32a9e]
[[ウィルスメールを送ってくれるサービス>開発日記/2010-04-02]]