Dies ist eine alte Version des Dokuments!


Installation und Basiskonfiguration von Postfix unter CentOS 7.x

Bild: Postfix-Logo
Nachdem wir uns einen grundlegenden Überblick über Postfix verschafft haben, werden wir uns nun eingehend mit der Installation und Grundkonfiguration unseres Postfix-MTA1) beschäftigen.

Seit CentOS 6.0 wird als MTA Postfix installiert - aktuell ist dies der 2.10er Release. Falls bereits nicht bei der Grundinstallation unseres Hosts automatisch der MTA installiert wurde, holen wir diesen Schritt mit Hilfe von yum einfach nach.

 # yum install postfix -y

Was uns das RPM-Paket alles mitgebracht hat, erkunden wir bei Bedarf mit Hilfe des Befehls rpm -qil.

 # rpm -qil
Name        : postfix
Epoch       : 2
Version     : 2.10.1
Release     : 6.el7
Architecture: x86_64
Install Date: Sun 28 Sep 2014 09:04:39 PM CEST
Group       : System Environment/Daemons
Size        : 12773475
License     : IBM and GPLv2+
Signature   : RSA/SHA256, Fri 04 Jul 2014 06:33:15 AM CEST, Key ID 24c6a8a7f4a80eb5
Source RPM  : postfix-2.10.1-6.el7.src.rpm
Build Date  : Tue 10 Jun 2014 03:39:36 AM CEST
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.postfix.org
Summary     : Postfix Mail Transport Agent
Description :
Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),
TLS
/etc/pam.d/smtp
/etc/pam.d/smtp.postfix
/etc/postfix
/etc/postfix/access
/etc/postfix/canonical
/etc/postfix/generic
/etc/postfix/header_checks
/etc/postfix/main.cf
/etc/postfix/master.cf
/etc/postfix/relocated
/etc/postfix/transport
/etc/postfix/virtual
/etc/sasl2/smtpd.conf
/usr/bin/mailq
/usr/bin/mailq.postfix
/usr/bin/newaliases
/usr/bin/newaliases.postfix
/usr/bin/rmail
/usr/bin/rmail.postfix
/usr/lib/sendmail
/usr/lib/sendmail.postfix
/usr/lib/systemd/system/postfix.service
/usr/libexec/postfix
/usr/libexec/postfix/aliasesdb
/usr/libexec/postfix/anvil
/usr/libexec/postfix/bounce
/usr/libexec/postfix/chroot-update
/usr/libexec/postfix/cleanup
/usr/libexec/postfix/discard
/usr/libexec/postfix/dnsblog
/usr/libexec/postfix/error
/usr/libexec/postfix/flush
/usr/libexec/postfix/lmtp
/usr/libexec/postfix/local
/usr/libexec/postfix/main.cf
/usr/libexec/postfix/master
/usr/libexec/postfix/master.cf
/usr/libexec/postfix/nqmgr
/usr/libexec/postfix/oqmgr
/usr/libexec/postfix/pickup
/usr/libexec/postfix/pipe
/usr/libexec/postfix/post-install
/usr/libexec/postfix/postfix-files
/usr/libexec/postfix/postfix-script
/usr/libexec/postfix/postfix-wrapper
/usr/libexec/postfix/postmulti-script
/usr/libexec/postfix/postscreen
/usr/libexec/postfix/proxymap
/usr/libexec/postfix/qmgr
/usr/libexec/postfix/qmqpd
/usr/libexec/postfix/scache
/usr/libexec/postfix/showq
/usr/libexec/postfix/smtp
/usr/libexec/postfix/smtpd
/usr/libexec/postfix/spawn
/usr/libexec/postfix/tlsmgr
/usr/libexec/postfix/tlsproxy
/usr/libexec/postfix/trivial-rewrite
/usr/libexec/postfix/verify
/usr/libexec/postfix/virtual
/usr/sbin/postalias
/usr/sbin/postcat
/usr/sbin/postconf
/usr/sbin/postdrop
/usr/sbin/postfix
/usr/sbin/postkick
/usr/sbin/postlock
/usr/sbin/postlog
/usr/sbin/postmap
/usr/sbin/postmulti
/usr/sbin/postqueue
/usr/sbin/postsuper
/usr/sbin/sendmail
/usr/sbin/sendmail.postfix
/usr/sbin/smtp-sink
/usr/sbin/smtp-source
/usr/share/doc/postfix-2.10.1
/usr/share/doc/postfix-2.10.1/COMPATIBILITY
/usr/share/doc/postfix-2.10.1/LICENSE
/usr/share/doc/postfix-2.10.1/README-Postfix-SASL-RedHat.txt
/usr/share/doc/postfix-2.10.1/README_FILES
/usr/share/doc/postfix-2.10.1/README_FILES/AAAREADME
/usr/share/doc/postfix-2.10.1/README_FILES/ADDRESS_CLASS_README
/usr/share/doc/postfix-2.10.1/README_FILES/ADDRESS_REWRITING_README
/usr/share/doc/postfix-2.10.1/README_FILES/ADDRESS_VERIFICATION_README
/usr/share/doc/postfix-2.10.1/README_FILES/BACKSCATTER_README
/usr/share/doc/postfix-2.10.1/README_FILES/BASIC_CONFIGURATION_README
/usr/share/doc/postfix-2.10.1/README_FILES/BUILTIN_FILTER_README
/usr/share/doc/postfix-2.10.1/README_FILES/CDB_README
/usr/share/doc/postfix-2.10.1/README_FILES/CONNECTION_CACHE_README
/usr/share/doc/postfix-2.10.1/README_FILES/CONTENT_INSPECTION_README
/usr/share/doc/postfix-2.10.1/README_FILES/DATABASE_README
/usr/share/doc/postfix-2.10.1/README_FILES/DB_README
/usr/share/doc/postfix-2.10.1/README_FILES/DEBUG_README
/usr/share/doc/postfix-2.10.1/README_FILES/DSN_README
/usr/share/doc/postfix-2.10.1/README_FILES/ETRN_README
/usr/share/doc/postfix-2.10.1/README_FILES/FILTER_README
/usr/share/doc/postfix-2.10.1/README_FILES/INSTALL
/usr/share/doc/postfix-2.10.1/README_FILES/IPV6_README
/usr/share/doc/postfix-2.10.1/README_FILES/LDAP_README
/usr/share/doc/postfix-2.10.1/README_FILES/LINUX_README
/usr/share/doc/postfix-2.10.1/README_FILES/LOCAL_RECIPIENT_README
/usr/share/doc/postfix-2.10.1/README_FILES/MAILDROP_README
/usr/share/doc/postfix-2.10.1/README_FILES/MEMCACHE_README
/usr/share/doc/postfix-2.10.1/README_FILES/MILTER_README
/usr/share/doc/postfix-2.10.1/README_FILES/MULTI_INSTANCE_README
/usr/share/doc/postfix-2.10.1/README_FILES/MYSQL_README
/usr/share/doc/postfix-2.10.1/README_FILES/NFS_README
/usr/share/doc/postfix-2.10.1/README_FILES/OVERVIEW
/usr/share/doc/postfix-2.10.1/README_FILES/PACKAGE_README
/usr/share/doc/postfix-2.10.1/README_FILES/PCRE_README
/usr/share/doc/postfix-2.10.1/README_FILES/PGSQL_README
/usr/share/doc/postfix-2.10.1/README_FILES/POSTSCREEN_README
/usr/share/doc/postfix-2.10.1/README_FILES/QSHAPE_README
/usr/share/doc/postfix-2.10.1/README_FILES/RELEASE_NOTES
/usr/share/doc/postfix-2.10.1/README_FILES/RESTRICTION_CLASS_README
/usr/share/doc/postfix-2.10.1/README_FILES/SASL_README
/usr/share/doc/postfix-2.10.1/README_FILES/SCHEDULER_README
/usr/share/doc/postfix-2.10.1/README_FILES/SMTPD_ACCESS_README
/usr/share/doc/postfix-2.10.1/README_FILES/SMTPD_POLICY_README
/usr/share/doc/postfix-2.10.1/README_FILES/SMTPD_PROXY_README
/usr/share/doc/postfix-2.10.1/README_FILES/SOHO_README
/usr/share/doc/postfix-2.10.1/README_FILES/SQLITE_README
/usr/share/doc/postfix-2.10.1/README_FILES/STANDARD_CONFIGURATION_README
/usr/share/doc/postfix-2.10.1/README_FILES/STRESS_README
/usr/share/doc/postfix-2.10.1/README_FILES/TLS_LEGACY_README
/usr/share/doc/postfix-2.10.1/README_FILES/TLS_README
/usr/share/doc/postfix-2.10.1/README_FILES/TUNING_README
/usr/share/doc/postfix-2.10.1/README_FILES/ULTRIX_README
/usr/share/doc/postfix-2.10.1/README_FILES/UUCP_README
/usr/share/doc/postfix-2.10.1/README_FILES/VERP_README
/usr/share/doc/postfix-2.10.1/README_FILES/VIRTUAL_README
/usr/share/doc/postfix-2.10.1/README_FILES/XCLIENT_README
/usr/share/doc/postfix-2.10.1/README_FILES/XFORWARD_README
/usr/share/doc/postfix-2.10.1/TLS_ACKNOWLEDGEMENTS
/usr/share/doc/postfix-2.10.1/TLS_LICENSE
/usr/share/doc/postfix-2.10.1/bounce.cf.default
/usr/share/doc/postfix-2.10.1/examples
/usr/share/doc/postfix-2.10.1/examples/chroot-setup
/usr/share/doc/postfix-2.10.1/examples/chroot-setup/LINUX2
/usr/share/doc/postfix-2.10.1/examples/qmail-local
/usr/share/doc/postfix-2.10.1/examples/qmail-local/qmail-local.txt
/usr/share/doc/postfix-2.10.1/examples/smtpd-policy
/usr/share/doc/postfix-2.10.1/examples/smtpd-policy/README.SPF
/usr/share/doc/postfix-2.10.1/examples/smtpd-policy/greylist.pl
/usr/share/doc/postfix-2.10.1/main.cf.default
/usr/share/man/man1/mailq.1.gz
/usr/share/man/man1/mailq.postfix.1.gz
/usr/share/man/man1/newaliases.1.gz
/usr/share/man/man1/newaliases.postfix.1.gz
/usr/share/man/man1/postalias.1.gz
/usr/share/man/man1/postcat.1.gz
/usr/share/man/man1/postconf.1.gz
/usr/share/man/man1/postdrop.1.gz
/usr/share/man/man1/postfix.1.gz
/usr/share/man/man1/postkick.1.gz
/usr/share/man/man1/postlock.1.gz
/usr/share/man/man1/postlog.1.gz
/usr/share/man/man1/postmap.1.gz
/usr/share/man/man1/postmulti.1.gz
/usr/share/man/man1/postqueue.1.gz
/usr/share/man/man1/postsuper.1.gz
/usr/share/man/man1/sendmail.postfix.1.gz
/usr/share/man/man1/smtp-sink.1.gz
/usr/share/man/man1/smtp-source.1.gz
/usr/share/man/man5/access.5.gz
/usr/share/man/man5/aliases.5.gz
/usr/share/man/man5/aliases.postfix.5.gz
/usr/share/man/man5/body_checks.5.gz
/usr/share/man/man5/bounce.5.gz
/usr/share/man/man5/canonical.5.gz
/usr/share/man/man5/cidr_table.5.gz
/usr/share/man/man5/generic.5.gz
/usr/share/man/man5/header_checks.5.gz
/usr/share/man/man5/ldap_table.5.gz
/usr/share/man/man5/master.5.gz
/usr/share/man/man5/memcache_table.5.gz
/usr/share/man/man5/mysql_table.5.gz
/usr/share/man/man5/nisplus_table.5.gz
/usr/share/man/man5/pcre_table.5.gz
/usr/share/man/man5/pgsql_table.5.gz
/usr/share/man/man5/postconf.5.gz
/usr/share/man/man5/postfix-wrapper.5.gz
/usr/share/man/man5/regexp_table.5.gz
/usr/share/man/man5/relocated.5.gz
/usr/share/man/man5/sqlite_table.5.gz
/usr/share/man/man5/tcp_table.5.gz
/usr/share/man/man5/transport.5.gz
/usr/share/man/man5/virtual.5.gz
/usr/share/man/man8/anvil.8.gz
/usr/share/man/man8/bounce.8.gz
/usr/share/man/man8/cleanup.8.gz
/usr/share/man/man8/defer.8.gz
/usr/share/man/man8/discard.8.gz
/usr/share/man/man8/dnsblog.8.gz
/usr/share/man/man8/error.8.gz
/usr/share/man/man8/flush.8.gz
/usr/share/man/man8/lmtp.8.gz
/usr/share/man/man8/local.8.gz
/usr/share/man/man8/master.8.gz
/usr/share/man/man8/oqmgr.8.gz
/usr/share/man/man8/pickup.8.gz
/usr/share/man/man8/pipe.8.gz
/usr/share/man/man8/postscreen.8.gz
/usr/share/man/man8/proxymap.8.gz
/usr/share/man/man8/qmgr.8.gz
/usr/share/man/man8/qmqpd.8.gz
/usr/share/man/man8/scache.8.gz
/usr/share/man/man8/sendmail.8.gz
/usr/share/man/man8/showq.8.gz
/usr/share/man/man8/smtp.8.gz
/usr/share/man/man8/smtpd.8.gz
/usr/share/man/man8/spawn.8.gz
/usr/share/man/man8/tlsmgr.8.gz
/usr/share/man/man8/tlsproxy.8.gz
/usr/share/man/man8/trace.8.gz
/usr/share/man/man8/trivial-rewrite.8.gz
/usr/share/man/man8/verify.8.gz
/usr/share/man/man8/virtual.8.gz
/var/lib/misc/postfix.aliasesdb-stamp
/var/lib/postfix
/var/spool/postfix
/var/spool/postfix/active
/var/spool/postfix/bounce
/var/spool/postfix/corrupt
/var/spool/postfix/defer
/var/spool/postfix/deferred
/var/spool/postfix/flush
/var/spool/postfix/hold
/var/spool/postfix/incoming
/var/spool/postfix/maildrop
/var/spool/postfix/pid
/var/spool/postfix/private
/var/spool/postfix/public
/var/spool/postfix/saved
/var/spool/postfix/trace

Mit dem Netzwerkprotokoll DANE2) kann die Kommunikation mit anderen MTAs weiter abgesichert werden. Die X.509-Zertifikate für die Transportverschlüsselung werden dabei mit DNS-Einträgen verknüpft und sind somit per DNSSEC3) sicher abgesichert. Dieses neue Sicherheitsfeature steht ab Postfix Version 2.11 zur Verfügung.

Die entsprechenden Pakete für die Installation von Postfix 2.11 nehmen wir am einfachsten wieder mit Hilfe von yum vor - Voraussetzung man hat sich das Paket vom Repository mailserver.guru heruntergeladen.

 # yum localinstall http://repo.mailserver.guru/7/x86_64/postfix-2.11.1-1.el7.centos.x86_64.rpm

Einfacher geht es natürlich, wenn das Repository mailserver.guru eingebunden hat. Dann reicht der gewohnte Aufruf von yum.

 # yum install postfix -y

Was uns das RPM-Paket alles mitgebracht hat, erkunden wir bei Bedarf mit Hilfe des Befehls rpm -qil.

 # rpm -qil
Name        : postfix
Epoch       : 2
Version     : 2.11.1
Release     : 1.el7.centos
Architecture: x86_64
Install Date: Thu 02 Oct 2014 05:08:14 PM CEST
Group       : System Environment/Daemons
Size        : 13030977
License     : IBM and GPLv2+
Signature   : RSA/SHA1, Wed 24 Sep 2014 07:23:35 PM CEST, Key ID 60ecfb9e8195aea0
Source RPM  : postfix-2.11.1-1.el7.centos.src.rpm
Build Date  : Wed 24 Sep 2014 07:23:15 PM CEST
Build Host  : vml000200.dmz.nausch.org                                                                                                                                           
Relocations : (not relocatable)                                                                                                                                                  
Packager    : Django <django@mailserver.guru>                                                                                                                                    
Vendor      : Django                                                                                                                                                             
URL         : http://www.postfix.org                                                                                                                                             
Summary     : Postfix Mail Transport Agent                                                                                                                                       
Description :                                                                                                                                                                    
Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),                                                                                                      
TLS                                                                                                                                                                              
/etc/pam.d/smtp                                                                                                                                                                  
/etc/pam.d/smtp.postfix                                                                                                                                                          
/etc/postfix                                                                                                                                                                     
/etc/postfix/access                                                                                                                                                              
/etc/postfix/canonical
/etc/postfix/generic
/etc/postfix/header_checks
/etc/postfix/main.cf
/etc/postfix/master.cf
/etc/postfix/relocated
/etc/postfix/transport
/etc/postfix/virtual
/etc/sasl2/smtpd.conf
/usr/bin/mailq
/usr/bin/mailq.postfix
/usr/bin/newaliases
/usr/bin/newaliases.postfix
/usr/bin/rmail
/usr/bin/rmail.postfix
/usr/lib/sendmail
/usr/lib/sendmail.postfix
/usr/lib/systemd/system/postfix.service
/usr/libexec/postfix
/usr/libexec/postfix/aliasesdb
/usr/libexec/postfix/anvil
/usr/libexec/postfix/bounce
/usr/libexec/postfix/chroot-update
/usr/libexec/postfix/cleanup
/usr/libexec/postfix/discard
/usr/libexec/postfix/dnsblog
/usr/libexec/postfix/error
/usr/libexec/postfix/flush
/usr/libexec/postfix/lmtp
/usr/libexec/postfix/local
/usr/libexec/postfix/main.cf
/usr/libexec/postfix/master
/usr/libexec/postfix/master.cf
/usr/libexec/postfix/nqmgr
/usr/libexec/postfix/oqmgr
/usr/libexec/postfix/pickup
/usr/libexec/postfix/pipe
/usr/libexec/postfix/post-install
/usr/libexec/postfix/postfix-files
/usr/libexec/postfix/postfix-script
/usr/libexec/postfix/postfix-wrapper
/usr/libexec/postfix/postmulti-script
/usr/libexec/postfix/postscreen
/usr/libexec/postfix/proxymap
/usr/libexec/postfix/qmgr
/usr/libexec/postfix/qmqpd
/usr/libexec/postfix/scache
/usr/libexec/postfix/showq
/usr/libexec/postfix/smtp
/usr/libexec/postfix/smtpd
/usr/libexec/postfix/spawn
/usr/libexec/postfix/tlsmgr
/usr/libexec/postfix/tlsproxy
/usr/libexec/postfix/trivial-rewrite
/usr/libexec/postfix/verify
/usr/libexec/postfix/virtual
/usr/sbin/postalias
/usr/sbin/postcat
/usr/sbin/postconf
/usr/sbin/postdrop
/usr/sbin/postfix
/usr/sbin/postkick
/usr/sbin/postlock
/usr/sbin/postlog
/usr/sbin/postmap
/usr/sbin/postmulti
/usr/sbin/postqueue
/usr/sbin/postsuper
/usr/sbin/sendmail
/usr/sbin/sendmail.postfix
/usr/sbin/smtp-sink
/usr/sbin/smtp-source
/usr/share/doc/postfix-2.11.1
/usr/share/doc/postfix-2.11.1/COMPATIBILITY
/usr/share/doc/postfix-2.11.1/LICENSE
/usr/share/doc/postfix-2.11.1/README-Postfix-SASL-RedHat.txt
/usr/share/doc/postfix-2.11.1/README_FILES
/usr/share/doc/postfix-2.11.1/README_FILES/AAAREADME
/usr/share/doc/postfix-2.11.1/README_FILES/ADDRESS_CLASS_README
/usr/share/doc/postfix-2.11.1/README_FILES/ADDRESS_REWRITING_README
/usr/share/doc/postfix-2.11.1/README_FILES/ADDRESS_VERIFICATION_README
/usr/share/doc/postfix-2.11.1/README_FILES/BACKSCATTER_README
/usr/share/doc/postfix-2.11.1/README_FILES/BASIC_CONFIGURATION_README
/usr/share/doc/postfix-2.11.1/README_FILES/BUILTIN_FILTER_README
/usr/share/doc/postfix-2.11.1/README_FILES/CDB_README
/usr/share/doc/postfix-2.11.1/README_FILES/CONNECTION_CACHE_README
/usr/share/doc/postfix-2.11.1/README_FILES/CONTENT_INSPECTION_README
/usr/share/doc/postfix-2.11.1/README_FILES/DATABASE_README
/usr/share/doc/postfix-2.11.1/README_FILES/DB_README
/usr/share/doc/postfix-2.11.1/README_FILES/DEBUG_README
/usr/share/doc/postfix-2.11.1/README_FILES/DSN_README
/usr/share/doc/postfix-2.11.1/README_FILES/ETRN_README
/usr/share/doc/postfix-2.11.1/README_FILES/FILTER_README
/usr/share/doc/postfix-2.11.1/README_FILES/FORWARD_SECRECY_README
/usr/share/doc/postfix-2.11.1/README_FILES/INSTALL
/usr/share/doc/postfix-2.11.1/README_FILES/IPV6_README
/usr/share/doc/postfix-2.11.1/README_FILES/LDAP_README
/usr/share/doc/postfix-2.11.1/README_FILES/LINUX_README
/usr/share/doc/postfix-2.11.1/README_FILES/LMDB_README
/usr/share/doc/postfix-2.11.1/README_FILES/LOCAL_RECIPIENT_README
/usr/share/doc/postfix-2.11.1/README_FILES/MAILDROP_README
/usr/share/doc/postfix-2.11.1/README_FILES/MEMCACHE_README
/usr/share/doc/postfix-2.11.1/README_FILES/MILTER_README
/usr/share/doc/postfix-2.11.1/README_FILES/MULTI_INSTANCE_README
/usr/share/doc/postfix-2.11.1/README_FILES/MYSQL_README
/usr/share/doc/postfix-2.11.1/README_FILES/NFS_README
/usr/share/doc/postfix-2.11.1/README_FILES/OVERVIEW
/usr/share/doc/postfix-2.11.1/README_FILES/PACKAGE_README
/usr/share/doc/postfix-2.11.1/README_FILES/PCRE_README
/usr/share/doc/postfix-2.11.1/README_FILES/PGSQL_README
/usr/share/doc/postfix-2.11.1/README_FILES/POSTSCREEN_README
/usr/share/doc/postfix-2.11.1/README_FILES/QSHAPE_README
/usr/share/doc/postfix-2.11.1/README_FILES/RELEASE_NOTES
/usr/share/doc/postfix-2.11.1/README_FILES/RESTRICTION_CLASS_README
/usr/share/doc/postfix-2.11.1/README_FILES/SASL_README
/usr/share/doc/postfix-2.11.1/README_FILES/SCHEDULER_README
/usr/share/doc/postfix-2.11.1/README_FILES/SMTPD_ACCESS_README
/usr/share/doc/postfix-2.11.1/README_FILES/SMTPD_POLICY_README
/usr/share/doc/postfix-2.11.1/README_FILES/SMTPD_PROXY_README
/usr/share/doc/postfix-2.11.1/README_FILES/SOHO_README
/usr/share/doc/postfix-2.11.1/README_FILES/SQLITE_README
/usr/share/doc/postfix-2.11.1/README_FILES/STANDARD_CONFIGURATION_README
/usr/share/doc/postfix-2.11.1/README_FILES/STRESS_README
/usr/share/doc/postfix-2.11.1/README_FILES/TLS_LEGACY_README
/usr/share/doc/postfix-2.11.1/README_FILES/TLS_README
/usr/share/doc/postfix-2.11.1/README_FILES/TUNING_README
/usr/share/doc/postfix-2.11.1/README_FILES/ULTRIX_README
/usr/share/doc/postfix-2.11.1/README_FILES/UUCP_README
/usr/share/doc/postfix-2.11.1/README_FILES/VERP_README
/usr/share/doc/postfix-2.11.1/README_FILES/VIRTUAL_README
/usr/share/doc/postfix-2.11.1/README_FILES/XCLIENT_README
/usr/share/doc/postfix-2.11.1/README_FILES/XFORWARD_README
/usr/share/doc/postfix-2.11.1/TLS_ACKNOWLEDGEMENTS
/usr/share/doc/postfix-2.11.1/TLS_LICENSE
/usr/share/doc/postfix-2.11.1/bounce.cf.default
/usr/share/doc/postfix-2.11.1/examples
/usr/share/doc/postfix-2.11.1/examples/chroot-setup
/usr/share/doc/postfix-2.11.1/examples/chroot-setup/LINUX2
/usr/share/doc/postfix-2.11.1/examples/qmail-local
/usr/share/doc/postfix-2.11.1/examples/qmail-local/qmail-local.txt
/usr/share/doc/postfix-2.11.1/examples/smtpd-policy
/usr/share/doc/postfix-2.11.1/examples/smtpd-policy/README.SPF
/usr/share/doc/postfix-2.11.1/examples/smtpd-policy/greylist.pl
/usr/share/doc/postfix-2.11.1/main.cf.default
/usr/share/man/man1/mailq.1.gz
/usr/share/man/man1/mailq.postfix.1.gz
/usr/share/man/man1/newaliases.1.gz
/usr/share/man/man1/newaliases.postfix.1.gz
/usr/share/man/man1/postalias.1.gz
/usr/share/man/man1/postcat.1.gz
/usr/share/man/man1/postconf.1.gz
/usr/share/man/man1/postdrop.1.gz
/usr/share/man/man1/postfix.1.gz
/usr/share/man/man1/postkick.1.gz
/usr/share/man/man1/postlock.1.gz
/usr/share/man/man1/postlog.1.gz
/usr/share/man/man1/postmap.1.gz
/usr/share/man/man1/postmulti.1.gz
/usr/share/man/man1/postqueue.1.gz
/usr/share/man/man1/postsuper.1.gz
/usr/share/man/man1/sendmail.postfix.1.gz
/usr/share/man/man1/smtp-sink.1.gz
/usr/share/man/man1/smtp-source.1.gz
/usr/share/man/man5/access.5.gz
/usr/share/man/man5/aliases.5.gz
/usr/share/man/man5/aliases.postfix.5.gz
/usr/share/man/man5/body_checks.5.gz
/usr/share/man/man5/bounce.5.gz
/usr/share/man/man5/canonical.5.gz
/usr/share/man/man5/cidr_table.5.gz
/usr/share/man/man5/generic.5.gz
/usr/share/man/man5/header_checks.5.gz
/usr/share/man/man5/ldap_table.5.gz
/usr/share/man/man5/lmdb_table.5.gz
/usr/share/man/man5/master.5.gz
/usr/share/man/man5/memcache_table.5.gz
/usr/share/man/man5/mysql_table.5.gz
/usr/share/man/man5/nisplus_table.5.gz
/usr/share/man/man5/pcre_table.5.gz
/usr/share/man/man5/pgsql_table.5.gz
/usr/share/man/man5/postconf.5.gz
/usr/share/man/man5/postfix-wrapper.5.gz
/usr/share/man/man5/regexp_table.5.gz
/usr/share/man/man5/relocated.5.gz
/usr/share/man/man5/socketmap_table.5.gz
/usr/share/man/man5/sqlite_table.5.gz
/usr/share/man/man5/tcp_table.5.gz
/usr/share/man/man5/transport.5.gz
/usr/share/man/man5/virtual.5.gz
/usr/share/man/man8/anvil.8.gz
/usr/share/man/man8/bounce.8.gz
/usr/share/man/man8/cleanup.8.gz
/usr/share/man/man8/defer.8.gz
/usr/share/man/man8/discard.8.gz
/usr/share/man/man8/dnsblog.8.gz
/usr/share/man/man8/error.8.gz
/usr/share/man/man8/flush.8.gz
/usr/share/man/man8/lmtp.8.gz
/usr/share/man/man8/local.8.gz
/usr/share/man/man8/master.8.gz
/usr/share/man/man8/oqmgr.8.gz
/usr/share/man/man8/pickup.8.gz
/usr/share/man/man8/pipe.8.gz
/usr/share/man/man8/postscreen.8.gz
/usr/share/man/man8/proxymap.8.gz
/usr/share/man/man8/qmgr.8.gz
/usr/share/man/man8/qmqpd.8.gz
/usr/share/man/man8/scache.8.gz
/usr/share/man/man8/sendmail.8.gz
/usr/share/man/man8/showq.8.gz
/usr/share/man/man8/smtp.8.gz
/usr/share/man/man8/smtpd.8.gz
/usr/share/man/man8/spawn.8.gz
/usr/share/man/man8/tlsmgr.8.gz
/usr/share/man/man8/tlsproxy.8.gz
/usr/share/man/man8/trace.8.gz
/usr/share/man/man8/trivial-rewrite.8.gz
/usr/share/man/man8/verify.8.gz
/usr/share/man/man8/virtual.8.gz
/var/lib/misc/postfix.aliasesdb-stamp
/var/lib/postfix
/var/spool/postfix
/var/spool/postfix/active
/var/spool/postfix/bounce
/var/spool/postfix/corrupt
/var/spool/postfix/defer
/var/spool/postfix/deferred
/var/spool/postfix/flush
/var/spool/postfix/hold
/var/spool/postfix/incoming
/var/spool/postfix/maildrop
/var/spool/postfix/pid
/var/spool/postfix/private
/var/spool/postfix/public
/var/spool/postfix/saved
/var/spool/postfix/trace

Zuvor widmen wir aber den beiden Hauptkonfigurationsdateien main.cf und master.cf unsere Aufmerksamkeit.

Der Großteil der Konfiguration von Postfix erfolgt über /etc/postfix/main.cf. Desweiteren spielt die /etc/postfix/master.cf und weitere Dateien eine entscheidende Rolle.

All diese Dateien befinden sich im Konfigurationsverzeichnis /etc/postfix

/etc/postfix/
├── access
├── canonical
├── generic
├── header_checks
├── main.cf
├── master.cf
├── relocated
├── transport
└── virtual

Als erstes sehen wir uns die Hauptkonfigurationsdatei /etc/postfix/master.cf etwas genauer an.

Die Steuerung der in der Übersichtskizze von Postfix dargestellten Daemone und Module erfolgt mit Hilfe des master-Daemon und seiner Konfigurationsdatei master.cf, welches den Postfix-Main-Prozess definiert. Dieser Master-Prozess steuert und überwacht zum einen die einzelnen Postfix-Module, definiert wie viele Instanzen den einzelnen Modulen zugewiesen werden sollen. Zum anderen werden durch den Master-Prozess in regelmäßigen Abständen die Module zum Verwalten und Steuern der Queues gestartet.

Zur besseren Erklärung wurden die einzelnen Dienste und Befehle in der nachfolgenden Konfigurationsdatei mit Links zu den zugehörigen erklärenden Abschnitte der Wikiseite Postfix, der sichere Mailserver (MTA) unter CentOS 7.x versehen!

 # vim /etc/postfix/master.cf

/etc/postfix/master.cf
#
# Postfix master process configuration file.  For details on the format
# of the file, see the  master(5) manual page (command: "man 5 master" or
# on-line:  http://www.postfix.org/master.5.html).
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#smtp      inet  n       -       n       -       1       postscreen
#smtpd     pass  -       -       n       -       -       smtpd
#dnsblog   unix  -       -       n       -       0       dnsblog
#tlsproxy  unix  -       -       n       -       0       tlsproxy
#submission inet n       -       n       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       n       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       n       -       -       qmqpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxwrite unix  -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
#maildrop  unix  -       n       n       -       -       pipe
#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
#
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
#uucp      unix  -       n       n       -       -       pipe
#  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# ====================================================================
#
# Other external delivery methods.
#
#ifmail    unix  -       n       n       -       -       pipe
#  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
#
#bsmtp     unix  -       n       n       -       -       pipe
#  flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
#
#scalemail-backend unix -       n       n       -       2       pipe
#  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
#  ${nexthop} ${user} ${extension}
#
#mailman   unix  -       n       n       -       -       pipe
#  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
#  ${nexthop} ${user}

Die eigentliche Konfiguration unseres Postfix MTAs erfolgt mit Hilfe der Hauptkonfigurationsdatei main.cf. Diese Konfigurationsdatei ist durch die vielen sehr guten Dokumentationshinweise doch sehr angewachsen, aber im Grunde beschränkt sich diese auf ein paar wenige „aktive“ Zeilen.

In der Standardkonfiguration sind alle wichtigen Parameter bereits mit einem Default-wert vorbelegt.

So hat Postfix 2.10 816 Defaultparameter.

 # postconf -d | grep mail_version
 mail_version = 2.10.1
 milter_macro_v = $mail_name $mail_version
 # postconf -d | wc -l
 816

Postfix 2.11 bringt uns 832 Defaultparameter mit.

 # postconf -d | grep mail_version
 mail_version = 2.11.1
 milter_macro_v = $mail_name $mail_version
 # postconf -d | wc -l
 832

Werfen wir einfach einen Blick in diese Hauptkonfigurationmsdatei /etc/postfix/main.cf.

 # less /etc/postfix/main.cf
/etc/postfix/main.cf
 

Mit Hilfe des Programms postconf können wir während des laufenden Betriebes einzelnen Parameter, abfragen und auch ändern. Wollen wir uns alle Definitionen ansehen, die von den Standardvorgaben abweichen, verwenden wir den folgenden Aufruf:

# postconf -n
 

Möchten wir nun einen einzelne Variable abfragen, die nicht den Defaultvorgaben entspricht benutzen wir im Fall von myorigin den folgenden Aufruf.

 # postconf -d myorigin
 myorigin = $myhostname

Wollen wir einen Parameter ändern, so benutzen wir die Option -e. Als erstes fragen wir den wert einer Variable, im folgenden Beispiel von smtpd_client_connection_count_limit.

 # postconf -d smtpd_client_connection_count_limit
 smtpd_client_connection_count_limit = 50

Den Defaulwert von 50 ändern wir nun ab auf den Wert 10.

 # postconf -e "smtpd_client_connection_count_limit = 25"

Anschließend muss via service postfix reload der laufende Daemon noch von der Änderung an der main.cf informiert werden.

Auf die wichtigsten Konfigurationsparameter für den Betrieb unseres Mailservers gehen wir nun kurz ein:

  • myhostname
    Definition des Hostnames, über den der Mailserver später erreichbar sein wird. Die IP-Adresse des Mailservers muss später auch reverse auf gelöst werden könnne und dem hier definiertem Hostnamen entsprechen.
  • mydomain
    Definition der eigenen Domäne. Normalerweise, wird man diesen Wert nie setzen müssen, da der Wert automatisch vom Parameter myhostname abgeleitet wird, in dem der Host-Teil abgetrennt wird. Aus myhostname = mx1.nausch.org wird so nausch.org, ohne dasss wir extra Hand anlegen müssen. Den Parameter mydomain wird man also nur setzen müssen, wenn der Wert vom Domain-Teil des Parameters myhostname abweicht!
  • mydestination Über diesen Parameter wird definiert, für welche Domains sich unser Postfix als final destination fühlt; der MTA also eigentlich eMails annehmen soll. Normalerweise wird dies neben dem Wert localhost der Domain und Hostname des Servers sein.
    Der Parameter mydestination beschreibt nur den realen Hostnamen sowie der realen Domäne des Mailservers. Möchte man virtuelle Domänen verwenden, definiert man diese mit Hilfe der virtual-table und nicht bei mydestination!
  • myorigin Werden eMails lokal auf dem Mailserverhost generiert, erzeugt Postfix „richtige eMAiladressen“, in dem der Mailserver den User-Namen bzw. die User-ID mit dem Wert aus $myorigin ergänzt. Der Defaultwert myorigin = $mydomain bewirkt also, dass eine eMail von root auf unserem Host mx1.nausch.org die eMailadresse root@nausch.org erhält. Möchte man z.B. für DMZ-interne eMails in der eMailadresse direkt den Hostnamen mit angeben, so wird man hier statt $mydomain $myhostname angeben; somit würde dann die Adresse logwatch@pml010043.intra.nausch.org statt logwatch@nausch.org generiert.
  • mynetworks
    Muss man mehrere verschiedene Netzbereiche, oder einzelne Hosts zum sicheren Relayen freischalten, dann müssen die einzelnen Netzbereiche, bzw. Hosts über den Parameter mynetworks definiert werden. 10.10.10.0/24 beschreibt so ein ganzes Netz, 10.0.0.10/32 hingegen nur einen einzelnen Host.
  • mynetworks_style
    Festlegung des Netzes oder des Netzbereiches, die unser Postfix als vertrauenswürdig betrachten soll. Host aus diesem Netzbereichen ist es gestattet, eMails an externe Empfänger einzuliefern, die unser MTA dann wiederum ausliefern wird. class, host und subnet (Defaulteinstellung) können hier ausgewählt werden.
  • inet_interfaces
    Festlegung der Netzwerk-Adresse, von denen der Mailserver Verbindungen annehmen soll. Bei einfachen Workstations wird man hier den Vorgabewert localhost belassen. Wollen wir einen richtigen Mailserver betreiben, so definieren wir hier entweder direkt sine IP-Adresse, oder geben das Schlüsselwort all für alle Netzwerkschnittstellen an.
  • inet_protocols
    Festlegung des verwendeten Internetprotokolles, abhängig von der Serverkonfiguration selbst. Wurde der IPv6-Support deaktiviert, so definiert man hier entsprechend die Option inet_protocols = ipv4.
  • smtp_banner
    Definition des Begrüßungstextes, den der Mailserver nach dem Aufbau eingehender Verbindungenvon externen Mailservern ausgibt. Hier wird man i.d.R. aus Sicherheitsgründen lediglich den Hostnamen und den Namen des Mailservers preis geben, nicht aber Versionsangaben oder weiteres.

1)
Mail Transfer Agent
2)
DNS-based Authentication of Named Entities
3)
Domain Name System Security Extensions
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • centos/mail_c7/mta_2.1412949551.txt.gz
  • Zuletzt geändert: 10.10.2014 13:59.
  • (Externe Bearbeitung)