Chapter 12. Postfix
Postfix is an open-source Mail Transport Agent (MTA), which supports protocols like LDAP, SMTP AUTH (SASL), and TLS.[11]
In Red Hat Enterprise Linux, the postfix package provides postfix. Run the
rpm -q postfix
command to see if the postfix package is installed. If it is not installed, run the following command as the root user to install it:
~]# yum install postfix
12.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
EnforcingThegetenforce
command returnsEnforcing
when SELinux is running in enforcing mode. - Run the
service postfix start
command as the root user to startpostfix
:~]#
service postfix start
Starting postfix: [ OK ] - Run the
ps -eZ | grep postfix
command to view thepostfix
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.