Show Table of Contents
23.4. 設定例
23.4.1. SpamAssassin と Postfix
SpamAssasin はオープンソースのメールフィルターで、着信メールから未承諾 Email (スパムメッセージ) をフィルターにかける方法を提供します[26]。
Red Hat Enterprise Linux では、spamassassin パッケージが SpamAssassin を提供します。以下のコマンドを実行して spamassassin パッケージがインストールされていることを確認します。
~]$ rpm -q spamassassin
package spamassassin is not installed
このパッケージがインストールされていない場合は、root で
yum ユーティリティーを使用してインストールします。
~]# yum install spamassassin
SpamAssassin は Postfix などのメーラーと連携してスパムフィルタリング機能を提供します。メールの効果的な遮断、分析、フィルタリングを実行するために、SpamAssassin はネットワークインターフェース上でリッスンする必要があります。SpamAssassin のデフォルトポートは TCP/783 ですが、変更することもできます。以下では、SELinux がデフォルトで特定のポートでのみアクセスを許可することで SpamAssassin を補完している実践的な例を示します。次に、ポートを変更する方法およびデフォルト以外のポートで SpamAssassin を正常に動作させる方法について説明していきます。
以下に示す例は、シンプルな SpamAssassin 設定に対してどのように SELinux が影響を与えることができるのかを示す一例に過ぎません。SpamAssassin に関する総合的な説明は本ガイドの対象外となります。詳細については、公式の SpamAssassin ドキュメント を参照してください。ここでは、spamassassin がインストールされていること、使用しているポートでのアクセス許可がファイアウォールで設定されていること、SELinux が enforcing モードで実行されていることを前提としています。
手順23.1 デフォルト以外のポートで SpamAssassin を実行する
- root で
semanageユーティリティーを使用し、SELinux がデフォルトでspamdデーモンにリッスンすることを許可するポートを表示します。~]#
semanage port -l | grep spamdspamd_port_t tcp 783上記の出力では、SpamAssassin が動作するポートとして TCP/783 がspamd_port_tで定義されていることを示しています。 /etc/sysconfig/spamassassin設定ファイルを編集し、SpamAssassin が TCP/10000 で起動するよう変更します。# Options to spamd SPAMDOPTIONS="-d -p 10000 -c m5 -H"
上記の行では、SpamAssassin がポート 10000 で動作するよう指定しています。ここからは、このソケットを開くよう SELinux ポリシーを変更する方法を見ていきます。- SpamAssassin を起動すると、次のようなエラーメッセージが表示されます。
~]#
systemctl start spamassassin.serviceJob for spamassassin.service failed. See 'systemctl status spamassassin.service' and 'journalctl -xn' for details.上記の出力は、このポートへのアクセスが SELinux によってブロックされたことを表しています。 - 以下のような SELinux 拒否メッセージがログ記録されます。
SELinux is preventing the spamd (spamd_t) from binding to port 10000.
- root で
semanageを実行し、SpamAssassin がサンプルポート (TCP/10000) で動作できるように SELinux ポリシーを変更します。~]#
semanage port -a -t spamd_port_t -p tcp 10000 - SpamAssassin が起動し、TCP ポート 10000 で動作していることを確認します。
~]#
systemctl start spamassassin.service~]#netstat -lnp | grep 10000tcp 0 0 127.0.0.1:10000 0.0.0.0:* LISTEN 2224/spamd.pid - SELinux ポリシーで
spamdによる TCP ポート 10000 へのアクセスが許可されたため、SpamAssassin がこのポートで正常に動作するようになりました。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.