「Amavis」の版間の差分
(ページの作成:「Category:メールサーバー en:Amavis {{Related articles start}} {{Related|ClamAV}} {{Related|Postfix}} {{Related|Dovecot}} {{Related articles end}} [http://w...」) |
(同期) |
||
| (他の1人の利用者による、間の1版が非表示) | |||
| 13行目: | 13行目: | ||
このセットアップではアンチウイルススキャナとして [[ClamAV]] を用いることにします。 |
このセットアップではアンチウイルススキャナとして [[ClamAV]] を用いることにします。 |
||
| − | * |
+ | * {{Pkg|amavisd-new}} パッケージをインストールしてください。圧縮されたファイルも確認できるように {{Pkg|p7zip}} や {{Pkg|unrar}} などの任意の依存パッケージもインストールすると良いでしょう。 |
| − | * |
+ | * {{pkg|clamav}} パッケージをインストールします。 |
=== 基本設定 === |
=== 基本設定 === |
||
| 126行目: | 126行目: | ||
このオプションを設定すると Postfix はメールをポート {{ic|10024}} の Amavis に送信します。それからメールがチェックされ、メールが問題ない場合は上述のようにポート {{ic|10025}} に送り返されます。 |
このオプションを設定すると Postfix はメールをポート {{ic|10024}} の Amavis に送信します。それからメールがチェックされ、メールが問題ない場合は上述のようにポート {{ic|10025}} に送り返されます。 |
||
| − | 設定したら {{ic|postfix.service}} と {{ic| |
+ | 設定したら {{ic|postfix.service}} と {{ic|amavisd.service}} を[[再起動]]してください。 |
Postfix がポート {{ic|10025}} を listen しているかどうか確認したいときは、[[#テスト]] と同じ操作を実行してください。 |
Postfix がポート {{ic|10025}} を listen しているかどうか確認したいときは、[[#テスト]] と同じ操作を実行してください。 |
||
== SpamAssassin のサポート == |
== SpamAssassin のサポート == |
||
| + | |||
| + | {{Pkg|spamassassin}} パッケージをインストールしてください。 |
||
Spamassassin は Amavis に統合されているため {{ic|spamassassin.service}} を起動する必要はありません。Spamassassin のサポートを有効にするには {{ic|/etc/amavis/amavis.conf}} の以下の行をコメントアウトしてください: |
Spamassassin は Amavis に統合されているため {{ic|spamassassin.service}} を起動する必要はありません。Spamassassin のサポートを有効にするには {{ic|/etc/amavis/amavis.conf}} の以下の行をコメントアウトしてください: |
||
| 146行目: | 148行目: | ||
}} |
}} |
||
| − | それから {{ic|amavisd}} サービスを[[再起動]]してください。 |
+ | それから {{ic|amavisd}} サービスを[[再起動]]して {{ic|sa-update}} を実行してください。 |
== 最終テスト == |
== 最終テスト == |
||
| 159行目: | 161行目: | ||
* [http://www.ijs.si/software/amavisd/README.postfix.html Amavis 公式ドキュメント] |
* [http://www.ijs.si/software/amavisd/README.postfix.html Amavis 公式ドキュメント] |
||
| − | * [https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server/amvisd_spamassassin_clamav Complete Virtual Mail Server/amvisd spamassassin clamav] on Gentoo wiki |
+ | * [https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server/amvisd_spamassassin_clamav/ja Complete Virtual Mail Server/amvisd spamassassin clamav] on Gentoo wiki |
2018年2月2日 (金) 15:31時点における最新版
Amavis のサイト より:
- amavisd-new はメーラー (MTA) とコンテンツチェッカー (ウィルススキャナや SpamAssassin) を結ぶ高性能なインターフェイスです。保守性を高め、速度の代償を払わずにすむよう、Perl で書かれています。(E)SMTP や LMTP で MTA と対話することができ、ヘルパープログラムを使うこともできます。Postfix との利用が最適ですが、二重化した sendmail や Exim v4 でも問題なく動作し、sendmail/milter も使えます。また、SMTP リレーによりどんな MTA も使えます。
インストールとセットアップ
このセットアップではアンチウイルススキャナとして ClamAV を用いることにします。
- amavisd-new パッケージをインストールしてください。圧縮されたファイルも確認できるように p7zip や unrar などの任意の依存パッケージもインストールすると良いでしょう。
- clamav パッケージをインストールします。
基本設定
ホストネームが FQDN ではない場合、/etc/amavisd/amavisd.conf で $myhostname や $mydomain を設定してください。
以下の行をコメントアウトすることで ClamAV のサポートを有効化できます (/etc/clamav/clamd.sock と同じ clamd.sock を配置してください):
# ### http://www.clamav.net/
['ClamAV-clamd',
\&ask_daemon, ["CONTSCAN {}\n", "/var/lib/clamav/clamd.sock"],
qr/\bOK$/m, qr/\bFOUND$/m,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
# # NOTE: run clamd under the same user as amavisd - or run it under its own
# # uid such as clamav, add user clamav to the amavis group, and then add
# # AllowSupplementaryGroups to clamd.conf;
# # NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in
# # this entry; when running chrooted one may prefer a socket under $MYHOME.
以下の行にコメントを追加することでアンチウイルススキャンが有効になります:
# @bypass_virus_check_maps = (1); # controls running of anti-virus code
AllowSupplementaryGroups true を /etc/clamav/clamd.conf に追加してください。
その後、パーミッションの問題が起こらないように amavis グループに clamav ユーザーを追加してください:
# usermod -a -G amavis clamav
最後にサービスを再起動してください:
以下のコマンドでエラーをチェックします:
# systemctl status amavisd # journalctl -xbo short -u amavisd
テスト
新しい設定をテストするときは amavisd のデフォルトの listen ポートに telnet を実行します:
$ telnet 127.0.0.1 10024
以下のように表示されるはずです:
Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]' 220 [127.0.0.1] ESMTP amavisd-new service ready
Type ehlo 127.0.0.1:
EHLO localhost 250-[127.0.0.1] 250-VRFY 250-PIPELINING 250-SIZE 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 XFORWARD NAME ADDR PORT PROTO HELO IDENT SOURCE
quit と入力して終了してください。
Postfix の統合
クイックスタート
Postfix から amavis を設定するには、以下を /etc/postfix/master.cf に追加します:
# # anti spam & anti virus section # amavisfeed 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:10025 inet n - y - - smtpd -o content_filter= -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 smtpd_restrictions_classes= -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,no_milters -o local_header_rewrite_clients=
上記の設定では postfix と Amavis を同一のマシン (127.0.0.1) 上で動作させています。違うマシンで使っている場合 /etc/amavisd/amavisd.conf と上記の Postfix エントリを編集してください。
Postfix はポート 10025 を listen するので Amavis はこのポートにチェックしたメールを返します。
また、smtp や submission セクションに以下の設定を追加する必要があります:
-o content_filter=amavisfeed:[127.0.0.1]:10024
このオプションを設定すると Postfix はメールをポート 10024 の Amavis に送信します。それからメールがチェックされ、メールが問題ない場合は上述のようにポート 10025 に送り返されます。
設定したら postfix.service と amavisd.service を再起動してください。
Postfix がポート 10025 を listen しているかどうか確認したいときは、#テスト と同じ操作を実行してください。
SpamAssassin のサポート
spamassassin パッケージをインストールしてください。
Spamassassin は Amavis に統合されているため spamassassin.service を起動する必要はありません。Spamassassin のサポートを有効にするには /etc/amavis/amavis.conf の以下の行をコメントアウトしてください:
# @bypass_spam_checks_maps = (1); # controls running of anti-spam code
必要に応じて SpamAssassin の設定を編集してください:
$sa_tag_level_deflt = 1.0; # add spam info headers if at, or above that level $sa_tag2_level_deflt = 1.0; # add 'spam detected' headers at that level $sa_kill_level_deflt = 5.0; # triggers spam evasive actions (e.g. blocks mail) $sa_dsn_cutoff_level = 8; # spam level beyond which a DSN is not sent # $sa_quarantine_cutoff_level = 25; # spam level beyond which quarantine is off $penpals_threshold_high = $sa_kill_level_deflt; # do not waste time on hi spam $bounce_killer_score = 100; # spam score points to add for joe-jobbed bounces
それから amavisd サービスを再起動して sa-update を実行してください。
最終テスト
全てが上手く動作していることを確認するには:
- 通常のメールを送信。
- EICAR ファイルを添付したメールを送信。
- スパムとして判定されるようなメールを送信。
- Postfix と Amavis のログを両方確認。