Chapter 23. Postfix
Postfix is an open-source Mail Transport Agent (MTA), which supports protocols like LDAP, SMTP AUTH (SASL), and TLS.[22]
In Red Hat Enterprise Linux, the postfix package provides Postfix. Enter the following command to see if the postfix package is installed:
~]$ rpm -q postfix
package postfix is not installed
If it is not installed, use the
yum
utility root to install it:
~]# yum install postfix
23.1. Postfix and SELinux
When Postfix is enabled, it runs confined by default. Confined processes run in their own domains, and are separated from other confined processes. If a confined process is compromised by an attacker, depending on SELinux policy configuration, an attacker's access to resources and the possible damage they can do is limited. The following example demonstrates the Postfix and related processes running in their own domain. This example assumes the postfix package is installed and that the Postfix service has been started:
- Run the
getenforce
command to confirm SELinux is running in enforcing mode:~]$
getenforce
EnforcingThe command returnsEnforcing
when SELinux is running in enforcing mode. - Enter the following command as the root user to start
postfix
:~]#
systemctl start postfix.service
Confirm that the service is running. The output should include the information below (only the time stamp will differ):~]#
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 - Run following command to view the
postfix
processes:~]$
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 qmgrIn the output above, the SELinux context associated with the Postfixmaster
process issystem_u:system_r:postfix_master_t:s0
. The second last part of the context,postfix_master_t
, is the type for this process. A type defines a domain for processes and a type for files. In this case, themaster
process is running in thepostfix_master_t
domain.