第24章 Postfix

Postfix はオープンソースのメール転送エージェント (MTA) で、LDAP や SMTP AUTH (SASL)、TLS といったプロトコルをサポートします[22]
Red Hat Enterprise Linux では、postfix パッケージが Postfix を提供します。postfix パッケージがインストールされていることを確認するには、以下のコマンドを実行します。
~]$ rpm -q postfix
package postfix is not installed
このパッケージがインストールされていない場合は、root で yum ユーティリティーを使用してインストールします。
~]# yum install postfix

24.1. Postfix と SELinux

Postfix を有効にすると、デフォルトで制限のあるサービスとして実行されます。制限のあるプロセスはそれ自体のドメイン内で実行され、他の制限のあるプロセスとは分離されます。制限のあるプロセスが攻撃を受けると、SELinux ポリシー設定に応じて、攻撃側がリソースにアクセスして加えることができる被害は限定されます。以下に、Postfix 自体のドメイン内で実行している Postfix プロセスの例を示します。ここでは postfix パッケージがインストールされていること、また Postfix サービスが起動されていることを前提としています。
  1. getenforce コマンドを実行して、SELinux が enforcing モードで実行していることを確認します。
    ~]$ getenforce
    Enforcing
    SELinux が enforcing モードで実行している場合は、Enforcing が返されます。
  2. root ユーザーで以下のコマンドを実行し、postfix を起動します。
    ~]# systemctl start postfix.service
    サービスが稼働していることを確認します。出力は以下のようになり、タイムスタンプのみが異なります。
    ~]# systemctl status postfix.service
    postfix.service - Postfix Mail Transport Agent
       Loaded: loaded (/usr/lib/systemd/system/postfix.service; disabled)
       Active: active (running) since Mon 2013-08-05 11:38:48 CEST; 3h 25min ago
  3. 以下のコマンドを実行して、postfix プロセスを表示します。
    ~]$ ps -eZ | grep postfix
    system_u:system_r:postfix_master_t:s0 1651 ?   00:00:00 master
    system_u:system_r:postfix_pickup_t:s0 1662 ?   00:00:00 pickup
    system_u:system_r:postfix_qmgr_t:s0 1663 ?     00:00:00 qmgr
    上記の出力では、Postfix master プロセスに関連する SELinux コンテキストは system_u:system_r:postfix_master_t:s0 です。コンテキストの最後から 2 番目の部分、postfix_master_t がこのプロセスのタイプになります。タイプは、プロセスのドメインやファイルのタイプを定義します。この例の場合、master プロセスは postfix_master_t ドメイン内で実行しています。


[22] 詳細は、『システム管理者のガイド』の「Postfix」セクションを参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。