Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mail_c6:mta_3 [23.05.2012 14:48. ] – [Headerchecks] django | centos:mail_c6:mta_3 [20.05.2021 12:42. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Grundabsicherung von Postfix ====== | ||
+ | Das schlimmste, was uns passieren kann, wäre der Betrieb eines offenen Mailrelais gefolgt von einem Mailserver der sich beharrlich weigert eMails anzunehmen, zu versenden und weiterzuleiten. Mit unserer [[centos: | ||
+ | |||
+ | Auch wurde der Versand unserer eMail bereits entsprechend berücksichtigt. | ||
+ | ===== Absicherung mit Hilfe von Restrictions ===== | ||
+ | Damit aber nun unser Mailserver nicht jeden Dreck - aka SPAM & Co - annimmt und auch versendet, definieren wir uns nun ein Regelwerk, mit Hilfe dessen wir festlegen, wann unser Server Mails annehmen oder ablehnen soll. Diese Festlegungen erfolgt mit Hilfe der **Restrictions**. | ||
+ | |||
+ | Der entscheidenste Moment, an dem wir nicht nur SPAM sondern auch all die anderen unerwünschten Nachrichten abzuwehren, ist der Einlieferungszeitpunkt! Was wir nicht annehmen brauchen wir auch später nicht weiterverarbeiten bzw. beachten. Analog dem Briefverkehr legen wir quasi fest, welche Sendungen überhaupt in unseren Briefkasten geworfen werden können und dürfen. | ||
+ | |||
+ | Wie bereits auch schon bei der Grundkonfiguration wurden die wichtigsten Details mit Hilfe der [[http:// | ||
+ | |||
+ | Bevor wir uns nun die einzelnen Konfigurationsdateien ansehen, werfen wir noch einen Blick in die nachfolgende Übersicht um festzustellen, | ||
+ | |||
+ | <uml> | ||
+ | |||
+ | state "/ | ||
+ | sendmail : Postfix - Modul | ||
+ | sendmail : " | ||
+ | |||
+ | state " | ||
+ | smtp_in : TCP/IP | ||
+ | smtp_in : Port 25 | ||
+ | |||
+ | state " | ||
+ | maildrop : Postfix - Queue | ||
+ | maildrop : " | ||
+ | |||
+ | state " | ||
+ | lmtp_24 : (Mail Delivery Agent) | ||
+ | lmtp_24 : Cyrus IMAP-Server | ||
+ | lmtp_24 : TCP/IP - Port 24 | ||
+ | |||
+ | state " | ||
+ | smtp_25 : (Mail Transport Agent) | ||
+ | smtp_25 : andere SMTP-Server (Relayhosts) | ||
+ | smtp_25 : im Internet bzw. Intranet | ||
+ | smtp_25 : TCP/IP - Port 25 | ||
+ | |||
+ | state " | ||
+ | mailman : Weitergabe der eMail | ||
+ | mailman : an Mailinglisten / wie Mailman | ||
+ | mailman : oder via UUCP ... | ||
+ | |||
+ | state " | ||
+ | mailbox : Postfix - Queue | ||
+ | mailbox : " | ||
+ | mailbox : lokale Zustellung | ||
+ | |||
+ | state MTA_Postfix { | ||
+ | state " | ||
+ | pickup : Modul | ||
+ | |||
+ | state " | ||
+ | cleanup : Modul | ||
+ | | ||
+ | state " | ||
+ | anvil : Modul | ||
+ | | ||
+ | state " | ||
+ | rewrite : Modul | ||
+ | |||
+ | state " | ||
+ | bounce : Modul | ||
+ | | ||
+ | state " | ||
+ | smtpd : Modul | ||
+ | | ||
+ | state " | ||
+ | incoming : Postfix - Queue | ||
+ | incoming : " | ||
+ | | ||
+ | |||
+ | state " | ||
+ | active : Postfix - Queue | ||
+ | active : " | ||
+ | | ||
+ | state " | ||
+ | deferred : Postfix - Queue | ||
+ | deferred : " | ||
+ | |||
+ | state " | ||
+ | qmgr : Modul | ||
+ | |||
+ | state " | ||
+ | resolve : Modul | ||
+ | |||
+ | state " | ||
+ | local : Modul | ||
+ | |||
+ | state " | ||
+ | pipe : Modul | ||
+ | |||
+ | state " | ||
+ | lmtp : Modul | ||
+ | |||
+ | state " | ||
+ | smtp_out : Modul | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | smtpd -left-> anvil | ||
+ | anvil -right-> smtpd | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | qmgr --> local | ||
+ | qmgr --> smtp_out | ||
+ | qmgr --> pipe | ||
+ | qmgr --> lmtp | ||
+ | |||
+ | lmtp --> lmtp_24 | ||
+ | | ||
+ | pipe --> mailman | ||
+ | local --> mailbox | ||
+ | |||
+ | note left of resolve | ||
+ | Lookup Table transport_maps | ||
+ | Tabelle zur adressabhängigen | ||
+ | Weiterleitung an einen | ||
+ | weiteren (finalen) MTA. | ||
+ | end note | ||
+ | |||
+ | note left of cleanup | ||
+ | Lookup Table canonical_maps | ||
+ | Übersetzungstabelle zum | ||
+ | Umschreiben von nicht-lokalen | ||
+ | Empfängeradressen | ||
+ | end note | ||
+ | |||
+ | note left of cleanup | ||
+ | Lookup Table virtual_maps | ||
+ | Tabelle mit der Empfängeradresse | ||
+ | aller lokalen, virtuellen und | ||
+ | entfernten eMialadressen | ||
+ | end note | ||
+ | |||
+ | note right of smtpd | ||
+ | Lookup Table access_client | ||
+ | Lookup Table access_helo | ||
+ | Lookup Table access_recipient | ||
+ | Lookup Table access_recipient-rfc | ||
+ | Lookup Table access_sender | ||
+ | Tabellen zum Black- und Whitelisten | ||
+ | an Hand der IP-Adrese, Hostname, | ||
+ | Empfänger oder Sender | ||
+ | end note | ||
+ | |||
+ | note right of smtpd | ||
+ | Realtime Blockhole Lists | ||
+ | Nutzung von RBL zum Prüfen | ||
+ | von einliefernden Hosts | ||
+ | reverse DNS-Abfrage z.B. bei SPAMHAUS | ||
+ | end note | ||
+ | |||
+ | note left of qmgr | ||
+ | Lookup Table generic_maps | ||
+ | Tabelle zum Umschreiben | ||
+ | von eMailadressen | ||
+ | beim Versenden. | ||
+ | end note | ||
+ | |||
+ | note left of qmgr | ||
+ | Lookup Table relocated_maps | ||
+ | Tabelle für die Bounce-Nachrichten | ||
+ | mit Angabe der neuen eMailadresse | ||
+ | bei verzogenen Accounts. | ||
+ | end note | ||
+ | |||
+ | note right of local | ||
+ | Lookup Table / | ||
+ | Tabelle mit der lokalen eMails | ||
+ | an lokale Empfänger zugewiesen | ||
+ | werden können. | ||
+ | end note | ||
+ | |||
+ | note left of local | ||
+ | Lookup Table .forward | ||
+ | Tabelle zur Steuerung von | ||
+ | automatischen Anwesenheitsnachrichten | ||
+ | end note | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP round info>Die nachfolgenden Lookup-Tabelle greift lediglich, wenn die eMails per SMTP beim **smtpd**-Modul eingeliefert werden. Bei lokal zugestellten Nachrichten, | ||
+ | ==== Restrictions-Regelwerk ==== | ||
+ | Nachfolgende Definitionen fügen wir nun am Ende der // **/ | ||
+ | # vim / | ||
+ | <code bash># | ||
+ | # Schutz durch Restrictions für unser SOHO | ||
+ | # Eingetragen am 2008-10-05 | ||
+ | # | ||
+ | |||
+ | smtpd_recipient_restrictions = | ||
+ | # Postmaster, abuse und andere aufgaben- oder funktionsgebundene E-Mail-Adressen (Role-Accounts) whitelisten | ||
+ | check_recipient_access btree:/ | ||
+ | # Black- und Whitelisting | ||
+ | check_client_access cidr:/ | ||
+ | check_helo_access btree:/ | ||
+ | check_sender_access btree:/ | ||
+ | check_recipient_access btree:/ | ||
+ | # Unsauberer eMails nicht annehmen | ||
+ | reject_non_fqdn_sender, | ||
+ | reject_non_fqdn_recipient, | ||
+ | reject_unknown_sender_domain, | ||
+ | reject_unknown_recipient_domain, | ||
+ | # Unsere eigenen Nutzer zulassen-/ | ||
+ | permit_sasl_authenticated, | ||
+ | permit_tls_clientcerts, | ||
+ | permit_mynetworks, | ||
+ | # RBL überprüfen (Kapitel 10.11 Realtime Blackhole Lists) | ||
+ | reject_rbl_client zen.spamhaus.org, | ||
+ | reject_rbl_client ix.dnsbl.manitu.net, | ||
+ | reject_rbl_client bl.spamcop.net, | ||
+ | reject_rbl_client dnsbl.njabl.org, | ||
+ | reject_rhsbl_client multi.uribl.com, | ||
+ | # Dynamische Prüfung auf existente Relay-Empfänger | ||
+ | # | ||
+ | # Backupserver (MX) erlauben | ||
+ | # | ||
+ | # alles andere an relaying verbieten | ||
+ | reject_unauth_destination, | ||
+ | # Zu guter Letzt alles durchlassen, | ||
+ | permit | ||
+ | </ | ||
+ | Bei den **Lookup-Tabellen** verwenden wir das performantere ** // | ||
+ | |||
+ | <WRAP round tip> | ||
+ | </ | ||
+ | |||
+ | Hierzu tragen wir in die **main.cf** noch nachfolgende Zeilen ein. | ||
+ | # vim / | ||
+ | <code bash># Django : 2012-02-06 | ||
+ | # default default_database_type = hash | ||
+ | # default Datenbank Typ auf das performantere btree umgestellt | ||
+ | default_database_type = btree | ||
+ | </ | ||
+ | |||
+ | Für jede der vorgenannten Restriction-Regeln benötigen wir nun eine passende **Lookup-Tabelle**. Nachfolgend betrachten wir nun die einzelnen Dateien und gehen kurz auf die Bedeutung und deren Möglichkeiten ein. | ||
+ | |||
+ | ==== Access-Regeln ==== | ||
+ | In unserem Konfigurationsverzeichnis // ** / | ||
+ | # less / | ||
+ | <file bash / | ||
+ | # | ||
+ | # NAME | ||
+ | # access - Postfix SMTP server access table | ||
+ | # | ||
+ | # SYNOPSIS | ||
+ | # postmap / | ||
+ | # | ||
+ | # postmap -q " | ||
+ | # | ||
+ | # postmap -q - / | ||
+ | # | ||
+ | # DESCRIPTION | ||
+ | # This document | ||
+ | # client information: | ||
+ | # envelope | ||
+ | # by the Postfix | ||
+ | # body_checks(5) | ||
+ | # messages. | ||
+ | # | ||
+ | # Normally, the access(5) table is specified as a text file | ||
+ | # that serves | ||
+ | # result, an indexed file in dbm or db format, is used for | ||
+ | # fast searching | ||
+ | # " | ||
+ | # after changing the corresponding text file. | ||
+ | # | ||
+ | # When the table is provided via other means such as NIS, | ||
+ | # LDAP or SQL, the same lookups are done as for ordinary | ||
+ | # indexed files. | ||
+ | # | ||
+ | # Alternatively, | ||
+ | # expression map where patterns are given as regular expres- | ||
+ | # sions, | ||
+ | # those cases, the lookups are done in a slightly | ||
+ | # way as described below under " | ||
+ | # or " | ||
+ | # | ||
+ | # CASE FOLDING | ||
+ | # The search string is folded to lowercase | ||
+ | # lookup. | ||
+ | # folded with database types such as regexp: or pcre: whose | ||
+ | # lookup fields can match both upper and lower case. | ||
+ | # | ||
+ | # TABLE FORMAT | ||
+ | # The input format for the postmap(1) command is as follows: | ||
+ | # | ||
+ | # pattern action | ||
+ | # When pattern matches a mail address, domain or host | ||
+ | # | ||
+ | # | ||
+ | # blank lines and comments | ||
+ | # | ||
+ | # as are lines whose first non-whitespace | ||
+ | # is a `#'. | ||
+ | # | ||
+ | # multi-line text | ||
+ | # | ||
+ | # line that starts with whitespace continues a logi- | ||
+ | # cal line. | ||
+ | # | ||
+ | # EMAIL ADDRESS PATTERNS | ||
+ | # With lookups from indexed files such as DB or DBM, or from | ||
+ | # networked tables such as NIS, LDAP or SQL, patterns | ||
+ | # tried in the order as listed below: | ||
+ | # | ||
+ | # user@domain | ||
+ | # | ||
+ | # | ||
+ | # domain.tld | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # The pattern domain.tld also matches subdomains, but | ||
+ | # only when the string smtpd_access_maps is listed in | ||
+ | # the Postfix | ||
+ | # | ||
+ | # for some versions of Postfix). | ||
+ | # | ||
+ | # match subdomains. | ||
+ | # | ||
+ | # user@ Matches all mail addresses with the specified | ||
+ | # part. | ||
+ | # | ||
+ | # Note: lookup | ||
+ | # with some types of lookup table. By default, Postfix | ||
+ | # <> | ||
+ | # specified with the smtpd_null_access_lookup_key | ||
+ | # in the Postfix main.cf file. | ||
+ | # | ||
+ | # EMAIL ADDRESS EXTENSION | ||
+ | # When a mail address localpart contains the optional recip- | ||
+ | # ient delimiter (e.g., user+foo@domain), | ||
+ | # becomes: | ||
+ | # and user@. | ||
+ | # | ||
+ | # HOST NAME/ | ||
+ | # With lookups from indexed files such as DB or DBM, or from | ||
+ | # networked | ||
+ | # lookup patterns are examined in the order as listed: | ||
+ | # | ||
+ | # domain.tld | ||
+ | # | ||
+ | # | ||
+ | # The pattern domain.tld also matches subdomains, but | ||
+ | # only when the string smtpd_access_maps is listed in | ||
+ | # the Postfix | ||
+ | # | ||
+ | # (note the initial dot) in order to match subdo- | ||
+ | # | ||
+ | # | ||
+ | # net.work.addr.ess | ||
+ | # | ||
+ | # net.work.addr | ||
+ | # | ||
+ | # net.work | ||
+ | # | ||
+ | # net Matches | ||
+ | # work. An IPv4 host address is a sequence | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # the last " | ||
+ | # | ||
+ | # or until further truncation is not possible. | ||
+ | # | ||
+ | # NOTE 1: The access map lookup key must be in canon- | ||
+ | # | ||
+ | # ters, and do not enclose network | ||
+ | # tion with " | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # net: | ||
+ | # | ||
+ | # net: | ||
+ | # | ||
+ | # net:work | ||
+ | # | ||
+ | # net Matches | ||
+ | # work. An IPv6 host address is a sequence | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # NOTE 1: the truncation and comparison are done with | ||
+ | # the string representation of the IPv6 host address. | ||
+ | # Thus, not all the ":" | ||
+ | # | ||
+ | # NOTE 2: The access map lookup key must be in canon- | ||
+ | # | ||
+ | # ters, and do not enclose network | ||
+ | # tion with " | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # IPv6 support is available in Postfix 2.2 and later. | ||
+ | # | ||
+ | # ACCEPT ACTIONS | ||
+ | # OK | ||
+ | # | ||
+ | # all-numerical | ||
+ | # An all-numerical result is treated as OK. This for- | ||
+ | # | ||
+ | # tion schemes such as pop-before-smtp. | ||
+ | # | ||
+ | # REJECT ACTIONS | ||
+ | # Postfix version 2.3 and later support | ||
+ | # codes as defined in RFC 3463. When no code is specified | ||
+ | # at the beginning of the text below, | ||
+ | # default | ||
+ | # reject actions, and " | ||
+ | # See " | ||
+ | # | ||
+ | # 4NN text | ||
+ | # | ||
+ | # 5NN text | ||
+ | # | ||
+ | # and respond with the numerical three-digit code and | ||
+ | # | ||
+ | # " | ||
+ | # | ||
+ | # The following responses have special | ||
+ | # the Postfix SMTP server: | ||
+ | # | ||
+ | # 421 text (Postfix 2.3 and later) | ||
+ | # | ||
+ | # 521 text (Postfix 2.6 and later) | ||
+ | # After responding | ||
+ | # digit code and text, disconnect | ||
+ | # from the SMTP client. | ||
+ | # server resources so that they can be made | ||
+ | # available to another SMTP client. | ||
+ | # | ||
+ | # Note: The " | ||
+ | # with botnets and other malware where inter- | ||
+ | # operability is of no concern. | ||
+ | # and disconnect" | ||
+ | # the SMTP standard. | ||
+ | # | ||
+ | # REJECT optional text... | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # DEFER optional text... | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.6 and later. | ||
+ | # | ||
+ | # DEFER_IF_REJECT optional text... | ||
+ | # Defer the request if some later restriction | ||
+ | # | ||
+ | # " | ||
+ | # | ||
+ | # reply with a generic error response message. | ||
+ | # | ||
+ | # Prior to Postfix 2.6, the SMTP reply code is 450. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.1 and later. | ||
+ | # | ||
+ | # DEFER_IF_PERMIT optional text... | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Prior to Postfix 2.6, the SMTP reply code is 450. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.1 and later. | ||
+ | # | ||
+ | # OTHER ACTIONS | ||
+ | # restriction... | ||
+ | # Apply the named UCE restriction(s) (permit, reject, | ||
+ | # | ||
+ | # | ||
+ | # BCC user@domain | ||
+ | # Send one copy of the message | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # same SMTP MAIL transaction, | ||
+ | # will be used. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # DISCARD optional text... | ||
+ | # Claim successful delivery and silently discard | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Note: this action currently affects all recipients | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # DUNNO Pretend | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # FILTER transport: | ||
+ | # | ||
+ | # sage through the specified external content filter. | ||
+ | # | ||
+ | # the transport(5) | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Note: this action overrides the content_filter set- | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # HOLD optional text... | ||
+ | # | ||
+ | # sit until someone either deletes it or releases | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Mail that is placed on hold can be examined | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Note: use " | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # not expire within a few delivery attempts. | ||
+ | # | ||
+ | # Note: this action currently affects all recipients | ||
+ | # of the message. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # PREPEND headername: headervalue | ||
+ | # | ||
+ | # | ||
+ | # the first prepended header appears before the sec- | ||
+ | # ond etc. prepended header. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # text of smtpd_end_of_data_restrictions. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.1 and later. | ||
+ | # | ||
+ | # REDIRECT user@domain | ||
+ | # After the message is queued, send the message | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Note: this action overrides the FILTER action, | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.1 and later. | ||
+ | # | ||
+ | # WARN optional text... | ||
+ | # Log a warning with the optional text, together with | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.1 and later. | ||
+ | # | ||
+ | # ENHANCED STATUS CODES | ||
+ | # Postfix | ||
+ | # codes as defined in RFC 3463. | ||
+ | # code is specified | ||
+ | # modification. The following | ||
+ | # when the same access | ||
+ | # sender, or recipient | ||
+ | # regardless of whether Postfix replies to a MAIL FROM, RCPT | ||
+ | # TO or other SMTP command. | ||
+ | # | ||
+ | # o When a sender address matches a REJECT action, | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # o When | ||
+ | # | ||
+ | # | ||
+ | # will transform a sender | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # REGULAR EXPRESSION TABLES | ||
+ | # This section describes how the table lookups | ||
+ | # the table is given in the form of regular expressions. For | ||
+ | # a description of regular expression lookup | ||
+ | # see regexp_table(5) or pcre_table(5). | ||
+ | # | ||
+ | # Each pattern | ||
+ | # the entire string being looked up. Depending on the appli- | ||
+ | # cation, | ||
+ | # entire client IP address, or an entire mail address. Thus, | ||
+ | # no parent | ||
+ | # user@domain mail addresses are not broken | ||
+ | # user@ and domain constituent parts, nor is user+foo broken | ||
+ | # up into user and foo. | ||
+ | # | ||
+ | # Patterns are applied in the order as specified in the ta- | ||
+ | # ble, until a pattern | ||
+ | # string. | ||
+ | # | ||
+ | # Actions are the same as with indexed | ||
+ | # the additional feature that parenthesized substrings from | ||
+ | # the pattern can be interpolated as $1, $2 and so on. | ||
+ | # | ||
+ | # TCP-BASED TABLES | ||
+ | # This section describes how the table lookups | ||
+ | # lookups are directed to a TCP-based server. For a descrip- | ||
+ | # tion of the TCP client/ | ||
+ | # ble(5). | ||
+ | # Postfix version 2.4. | ||
+ | # | ||
+ | # Each lookup operation uses the entire query string | ||
+ | # Depending | ||
+ | # client hostname, an entire client IP address, or an entire | ||
+ | # mail address. | ||
+ | # search is done, user@domain mail addresses are not broken | ||
+ | # up into their user@ and domain constituent parts, nor is | ||
+ | # user+foo broken up into user and foo. | ||
+ | # | ||
+ | # Actions are the same as with indexed file lookups. | ||
+ | # | ||
+ | # EXAMPLE | ||
+ | # The following example uses an indexed file, so that the | ||
+ | # order of table entries does not matter. The example per- | ||
+ | # mits access by the client at address 1.2.3.4 | ||
+ | # all other clients | ||
+ | # tables, some systems use dbm. Use the command | ||
+ | # -m" | ||
+ | # your system. | ||
+ | # | ||
+ | # / | ||
+ | # smtpd_client_restrictions = | ||
+ | # check_client_access hash:/ | ||
+ | # | ||
+ | # / | ||
+ | # 1.2.3 | ||
+ | # 1.2.3.4 OK | ||
+ | # | ||
+ | # Execute the command | ||
+ | # editing the file. | ||
+ | # | ||
+ | # BUGS | ||
+ | # The table format does not understand quoting conventions. | ||
+ | # | ||
+ | # SEE ALSO | ||
+ | # postmap(1), Postfix lookup table manager | ||
+ | # smtpd(8), SMTP server | ||
+ | # postconf(5), | ||
+ | # transport(5), | ||
+ | # | ||
+ | # README FILES | ||
+ | # Use " | ||
+ | # tory" to locate this information. | ||
+ | # SMTPD_ACCESS_README, | ||
+ | # DATABASE_README, | ||
+ | # | ||
+ | # LICENSE | ||
+ | # The Secure | ||
+ | # software. | ||
+ | # | ||
+ | # AUTHOR(S) | ||
+ | # Wietse Venema | ||
+ | # IBM T.J. Watson Research | ||
+ | # P.O. Box 704 | ||
+ | # Yorktown Heights, NY 10598, USA | ||
+ | # | ||
+ | # ACCESS(5) | ||
+ | |||
+ | </ | ||
+ | Wir editieren nun aber nicht diese Vorlage- und Musterdateien, | ||
+ | |||
+ | === Access-Aktionen === | ||
+ | Bei den einzelnen folgenden Access-Tabellen stehen uns folgende // | ||
+ | ^ Steuerwort | ||
+ | | **OK** | ||
+ | | **BCC**// | ||
+ | | **DEFER_IF_REJECT** | ||
+ | | **DEFER_IF_PERMIT** | ||
+ | | **DISCARD** | ||
+ | | **DUNNO** | ||
+ | | **FILTER**// | ||
+ | | **HOLD** | ||
+ | | **PREPEND**// | ||
+ | | **REDIRECT**// | ||
+ | | **REJECT** | ||
+ | | **REJECT**// | ||
+ | | **4xx**// | ||
+ | | **5xx**// | ||
+ | | **WARN**// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === Access-Dateien === | ||
+ | * **check_client_access** \\ **access_client** \\ Access-Tabelle zum Black- und Whitelisten einzelner Hosts auf Basis ihrer IP-Adresse. Damit wir auch Netzbereiche in der Form **10.0.10.1/ | ||
+ | # Kapitel 5.2.7 access-Tabelle: | ||
+ | # Tabelle zum black- und whitelisten einzelner Hosts auf Basis ihrer IP-Adressen | ||
+ | # nach dem Ändern und/oder Erweitern der Tabelle, muß ein laufender Postfix über die Änderungen | ||
+ | # mit einem reload informiert werden. Es muss hier keine Datenbank mit postmap erzeugt werden, da | ||
+ | # Postfix die ASCII-Konfigurationsdatei direkt auswertet! | ||
+ | # | ||
+ | </ | ||
+ | * **check_helo_access** \\ **access_helo** Access-Tabelle zum Black- und Whitelisten einzelner Hosts auf Grund seines HELO-Namens. \\ **access_helo.db** Datenbankfile zur // | ||
+ | # Kapitel 5.2.7 access-Tabelle: | ||
+ | # Tabelle zum black- und whitelisten einzelner Hosts auf Grund seines HELO-Namens | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | </ | ||
+ | * **check_recipient_access-rfc** \\ **access_recipient-rfc** Access-Tabelle zum Black- und Whitelisten einzelner aufgaben- oder funktionsgebundener E-Mail-Adressen (Role-Accounts). \\ **access_recipient-rfc.db** Datenbankfile zur // | ||
+ | # Django : 2012-02-06 | ||
+ | # Postmaster, abuse und andere aufgaben- oder funktionsgebundene E-Mail-Adressen (Role-Accounts) whitelisten. | ||
+ | # Nach dem Ändern und/oder Erweiterrn der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | abuse@ | ||
+ | postmaster@ | ||
+ | </ | ||
+ | * **check_recipient_access** \\ **access_recipient** \\ Access-Tabelle zum Black- und Whitelisten einzelner Hosts auf Grund der Empfänger-eMailadresse. \\ **access_recipient.db** Datenbankfile zur // | ||
+ | # Django : 2012-02-06 | ||
+ | # Kapitel 5.2.7 access-Tabelle: | ||
+ | # Tabelle zum black- und whitelisten einzelne Empfänger auf Basis ihrer eMail-Adresse | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | </ | ||
+ | * **check_sender_access** \\ **access_sender** \\ Access-Tabelle zum Black- und Whitelisten einzelner Absender auf Grund der Absender-eMailadresse. \\ **access_sender.db** Datenbankfile zur // | ||
+ | # Django : 2012-02-06 | ||
+ | # Kapitel 5.2.7 access-Tabelle: | ||
+ | # Tabelle zum black- und whitelisten einzelner Absender auf Basis ihrer eMail-Adresse | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | ==== Permit-Regeln ==== | ||
+ | * **permit** \\ Liefert generell ein **OK** und beendet die Prüfung an der Stelle. | ||
+ | * **permit_mynetworks** \\ Akzeptiert eine eingelieferte eMail, sofern der Client aus einem vertrauenswürdigem Netz kommt. Die Defintion welches IP-Netz vertrauenswürdig ist, erfolgt über die beiden Parameter **$mynetworks** und **$mynetworks_style**. | ||
+ | * **permit_sasl_authenticated** \\ Akzeptiert eine eingelieferte eMail, sofern sich der Client erfolgreich mit **SMTP-Auth** authentifiziert hat. | ||
+ | * **permit_tls_clientcerts** \\ Akzeptiert eine eingelieferte eMail, sofern der Fingerprint des SSL/ | ||
+ | * **permit_mx_backup** \\ Akzeptiert eine eingelieferte eMail, sofern ein MX-Record der Empfängerdomäne auf unseren Mailserver zeigt und unser Mailserver damit ein nachrangiger, | ||
+ | |||
+ | ==== Reject-Regeln ==== | ||
+ | * **reject** \\ Liefert generell ein **REJECT** und beendet die Prüfung an der Stelle. Dem einliefernden Client wird ein fataler Fehler (5xx) signalisiert. | ||
+ | * **reject_non_fqdn_sender** \\ Blockiert die eMail, sofern die Absender-Adresse keinen FQDN((**F**ull **Q**ualified **D**omain **N**ame)) besitzt, dies ist dann der Fall, wenn die Adresse nur aus einem Hostnamen aber keiner Domäne besteht. | ||
+ | * **reject_non_fqdn_recipient** \\ Blockiert die eMail, sofern die Empfänger-Adresse keinen FQDN((**F**ull **Q**ualified **D**omain **N**ame)) besitzt, dies ist dann der Fall, wenn die Adresse nur aus einem Hostnamen aber keiner Domäne besteht. | ||
+ | * **reject_unauth_destination** \\ Es wird solange ein //REJECT// geliefert, solange nicht: | ||
+ | * die Zieladresse in der Tabelle **$relay_domains** gelistet ist, oder | ||
+ | * unser Mailserver für diese Domäne //Final Destination// | ||
+ | * **reject_unknown_sender_domain** \\ Blockiert die eMail, sofern die Absendseradresse im DNS weder ein gültiger **A**- noch **MX**-Record verfügbar ist. | ||
+ | * **reject_unknown_recipient_domain** \\ Blockiert die eMail, sofern die Empfängeradresse im DNS weder ein gültiger **A**- noch **MX**-Record verfügbar ist. | ||
+ | * **reject_rbl_client** \\ Blockiert die eMail, sofern die Client-IP-Adresse in der jeweils genannten **rbl_domain**(**RBL**)((**R**ealtime **B**lackhole **L**ist)) geblacklistet ist. | ||
+ | * **reject_rbl_client zen.spamhaus.org** Blockiert die eMail, wenn die Client-IP-Adresse bei **zen.spamhaus.org** geblacklistet ist. | ||
+ | * **reject_rbl_client ix.dnsbl.manitu.net** Blockiert die eMail, wenn die Client-IP-Adresse bei **ix.dnsbl.manitu.net** geblacklistet ist. | ||
+ | * **reject_rbl_client bl.spamcop.net** Blockiert die eMail, wenn die Client-IP-Adresse bei **bl.spamcop.net** geblacklistet ist. | ||
+ | * **reject_rbl_client dnsbl.njabl.org** Blockiert die eMail, wenn die Client-IP-Adresse bei **dnsbl.njabl.org** geblacklistet ist. | ||
+ | * **reject_rhsbl_client multi.uribl.com** \\ Blockiert die eMail, sofern der Client-Hostname in der verwendeten **rhsbl_domain**(**RHSBL**)((**R**ight-**H**and **S**ided **B**lacklist)) gelistet ist. | ||
+ | |||
+ | |||
+ | ==== Lookup-Tabellen ==== | ||
+ | Zur Nutzung der nachfolgenden Lookup-Tabellen ergänzen wir nun die Konfigurationsdatei **main.cf** unseres Postfix-Mailservers. | ||
+ | # vim / | ||
+ | <code bash> | ||
+ | # Django : 2012-02-06 | ||
+ | # Lookup-Tabelle zum Umschreibungen von Absender eMail-Adressen im SMTP-Envelop und im Header der eMail | ||
+ | sender_canonical_maps = btree:/ | ||
+ | # | ||
+ | # Lookup-Tabelle zum Umschreibungen von Empfänger eMail-Adressen im SMTP-Envelop und im Header der eMail | ||
+ | recipient_canonical_maps = btree:/ | ||
+ | # | ||
+ | # Lookup-Tabelle zum Umschreibungen von Empfänger eMail-Adressen im SMTP-Envelop und im Header der eMail | ||
+ | # das Umschreiben erfolgt beim Verlassen des Systems via LMTP | ||
+ | lmtp_generic_maps = btree:/ | ||
+ | # | ||
+ | # Lookup-Tabelle zum Umschreibungen von Empfänger eMail-Adressen im SMTP-Envelop und im Header der eMail | ||
+ | # das Umschreiben erfolgt beim Verlassen des Systems via SMTP | ||
+ | smtp_generic_maps = btree:/ | ||
+ | # | ||
+ | # Lookup-Tabelle zum Aktivieren einer alternativen Mailrouting bei der Zustellung an einen weiteren Mailserver | ||
+ | transport_maps = btree:/ | ||
+ | # | ||
+ | # Lookup-Tabelle zum Aktivieren von " | ||
+ | # eMailadressen mit Angabe der neu zu nutzenden eMailadresse des Empfängers | ||
+ | relocated_maps = btree:/ | ||
+ | # | ||
+ | # Lookup-Tabelle zum Verwalten der virtuellen Domains | ||
+ | virtual_alias_domains = btree:/ | ||
+ | # | ||
+ | # Lookup-Tabelle zum Verwalten der virtuellen eMail-Adressen | ||
+ | virtual_alias_maps = btree:/ | ||
+ | </ | ||
+ | \\ | ||
+ | * **access** \\ Die **access**-Tabellen wurden bereits [[centos: | ||
+ | * **aliases** \\ Mit Hilfe der aliases-Tabelle lassen sich lokale eMailadressen umschreiben und so die Nachrichten an andere Postfacher umleiten. Die Alias-Tabelle **aliases** und die zugehörige Datenbankdatei **aliases.db** befinden sich aus historischen Gründen nicht im Postfix-Konfigirationspfad **/ | ||
+ | # Aliases in this file will NOT be expanded in the header from | ||
+ | # Mail, but WILL be visible over networks or from /bin/mail. | ||
+ | # | ||
+ | # | ||
+ | # >> NOTE >> | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Basic system aliases -- these MUST be present. | ||
+ | mailer-daemon: | ||
+ | postmaster: | ||
+ | |||
+ | # General redirections for pseudo accounts. | ||
+ | bin: root | ||
+ | daemon: | ||
+ | adm: root | ||
+ | lp: root | ||
+ | sync: root | ||
+ | shutdown: | ||
+ | halt: root | ||
+ | mail: root | ||
+ | news: root | ||
+ | uucp: root | ||
+ | operator: | ||
+ | games: | ||
+ | gopher: | ||
+ | ftp: root | ||
+ | nobody: | ||
+ | radiusd: | ||
+ | nut: root | ||
+ | dbus: root | ||
+ | vcsa: root | ||
+ | canna: | ||
+ | wnn: root | ||
+ | rpm: root | ||
+ | nscd: root | ||
+ | pcap: root | ||
+ | apache: | ||
+ | webalizer: | ||
+ | dovecot: | ||
+ | fax: root | ||
+ | quagga: | ||
+ | radvd: | ||
+ | pvm: root | ||
+ | amanda: | ||
+ | privoxy: | ||
+ | ident: | ||
+ | named: | ||
+ | xfs: root | ||
+ | gdm: root | ||
+ | mailnull: | ||
+ | postgres: | ||
+ | sshd: root | ||
+ | smmsp: | ||
+ | postfix: | ||
+ | netdump: | ||
+ | ldap: root | ||
+ | squid: | ||
+ | ntp: root | ||
+ | mysql: | ||
+ | desktop: | ||
+ | rpcuser: | ||
+ | rpc: root | ||
+ | nfsnobody: | ||
+ | |||
+ | ingres: | ||
+ | system: | ||
+ | toor: root | ||
+ | manager: | ||
+ | dumper: | ||
+ | abuse: | ||
+ | |||
+ | newsadm: | ||
+ | newsadmin: | ||
+ | usenet: | ||
+ | ftpadm: | ||
+ | ftpadmin: | ||
+ | ftp-adm: | ||
+ | ftp-admin: | ||
+ | www: | ||
+ | webmaster: | ||
+ | noc: root | ||
+ | security: | ||
+ | hostmaster: | ||
+ | info: | ||
+ | marketing: | ||
+ | sales: | ||
+ | support: | ||
+ | |||
+ | |||
+ | # trap decode to catch security attacks | ||
+ | decode: | ||
+ | |||
+ | # Person who should get root's mail | ||
+ | # | ||
+ | </ | ||
+ | <WRAP round alert> | ||
+ | Die aliases-Tabelle wird nur vom Postfix-Modul **local** ausgewertet, | ||
+ | |||
+ | * **canonical** \\ Lookup-Tabelle zum Umschreibungen von Absender und/oder Empfänger eMail-Adressen im SMTP-Envelop und im Header der eMail. Die Manpage zu den canonical-maps gindet man im Komfigurationsverteichnis von Postfix. < | ||
+ | # | ||
+ | # NAME | ||
+ | # canonical - Postfix canonical table format | ||
+ | # | ||
+ | # SYNOPSIS | ||
+ | # postmap / | ||
+ | # | ||
+ | # postmap -q " | ||
+ | # | ||
+ | # postmap -q - / | ||
+ | # | ||
+ | # DESCRIPTION | ||
+ | # The optional canonical(5) table specifies an address map- | ||
+ | # ping for local and non-local | ||
+ | # used by the cleanup(8) daemon, before mail is stored into | ||
+ | # the queue. | ||
+ | # | ||
+ | # Normally, the canonical(5) table is specified | ||
+ | # file that serves as input to the postmap(1) command. | ||
+ | # result, an indexed file in dbm or db format, is used for | ||
+ | # fast searching | ||
+ | # " | ||
+ | # file after changing the corresponding text file. | ||
+ | # | ||
+ | # When the table is provided via other means such as NIS, | ||
+ | # LDAP or SQL, the same lookups are done as for ordinary | ||
+ | # indexed files. | ||
+ | # | ||
+ | # Alternatively, | ||
+ | # expression map where patterns are given as regular expres- | ||
+ | # sions, | ||
+ | # those cases, the lookups are done in a slightly | ||
+ | # way as described below under " | ||
+ | # or " | ||
+ | # | ||
+ | # By default the canonical(5) mapping affects | ||
+ | # header | ||
+ | # sages) and message envelope addresses | ||
+ | # addresses | ||
+ | # is controlled with the canonical_classes parameter. | ||
+ | # | ||
+ | # NOTE: Postfix versions 2.2 and later rewrite message head- | ||
+ | # ers from remote | ||
+ | # the local_header_rewrite_clients | ||
+ | # remote_header_rewrite_domain configuration parameter spec- | ||
+ | # ifies a non-empty value. To get the behavior before | ||
+ | # fix 2.2, specify | ||
+ | # static: | ||
+ | # | ||
+ | # Typically, one would use the canonical(5) table to replace | ||
+ | # login | ||
+ | # addresses produced by legacy mail systems. | ||
+ | # | ||
+ | # The canonical(5) mapping is not to be confused | ||
+ | # tual alias support or with local aliasing. To change the | ||
+ | # destination but not the headers, | ||
+ | # aliases(5) map instead. | ||
+ | # | ||
+ | # CASE FOLDING | ||
+ | # The search | ||
+ | # lookup. As of Postfix 2.3, the search string is not case | ||
+ | # folded | ||
+ | # lookup fields can match both upper and lower case. | ||
+ | # | ||
+ | # TABLE FORMAT | ||
+ | # The input format for the postmap(1) command is as follows: | ||
+ | # | ||
+ | # pattern result | ||
+ | # | ||
+ | # the corresponding result. | ||
+ | # | ||
+ | # blank lines and comments | ||
+ | # Empty lines and whitespace-only lines are ignored, | ||
+ | # | ||
+ | # is a `#'. | ||
+ | # | ||
+ | # multi-line text | ||
+ | # A logical line starts with non-whitespace | ||
+ | # | ||
+ | # cal line. | ||
+ | # | ||
+ | # TABLE SEARCH ORDER | ||
+ | # With lookups from indexed files such as DB or DBM, or from | ||
+ | # networked | ||
+ | # tried in the order as listed below: | ||
+ | # | ||
+ | # user@domain address | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # below for a simpler solution. | ||
+ | # | ||
+ | # user address | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # @domain address | ||
+ | # | ||
+ | # form has the lowest precedence. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # " | ||
+ | # | ||
+ | # RESULT ADDRESS REWRITING | ||
+ | # The lookup result is subject to address rewriting: | ||
+ | # | ||
+ | # o When the result | ||
+ | # | ||
+ | # | ||
+ | # o When " | ||
+ | # to addresses without " | ||
+ | # | ||
+ | # o When " | ||
+ | # to addresses without " | ||
+ | # | ||
+ | # ADDRESS EXTENSION | ||
+ | # When a mail address localpart contains the optional recip- | ||
+ | # ient delimiter | ||
+ | # becomes: user+foo@domain, | ||
+ | # @domain. | ||
+ | # | ||
+ | # The | ||
+ | # whether an unmatched address extension | ||
+ | # gated to the result of table lookup. | ||
+ | # | ||
+ | # REGULAR EXPRESSION TABLES | ||
+ | # This section | ||
+ | # the table is given in the form of regular expressions. For | ||
+ | # a description | ||
+ | # see regexp_table(5) or pcre_table(5). | ||
+ | # | ||
+ | # Each pattern is a regular expression that is applied | ||
+ | # the entire address being looked up. Thus, user@domain mail | ||
+ | # addresses are not broken up into their user and @domain | ||
+ | # constituent parts, nor is user+foo broken up into user and | ||
+ | # foo. | ||
+ | # | ||
+ | # Patterns are applied in the order as specified in the ta- | ||
+ | # ble, until a pattern | ||
+ | # string. | ||
+ | # | ||
+ | # Results are the same as with indexed | ||
+ | # the additional feature that parenthesized substrings from | ||
+ | # the pattern can be interpolated as $1, $2 and so on. | ||
+ | # | ||
+ | # TCP-BASED TABLES | ||
+ | # This section describes how the table lookups | ||
+ | # lookups are directed to a TCP-based server. For a descrip- | ||
+ | # tion of the TCP client/ | ||
+ | # ble(5). | ||
+ | # Postfix version 2.4. | ||
+ | # | ||
+ | # Each lookup operation uses the entire address once. Thus, | ||
+ | # user@domain | ||
+ | # user and @domain constituent parts, nor is user+foo broken | ||
+ | # up into user and foo. | ||
+ | # | ||
+ | # Results are the same as with indexed file lookups. | ||
+ | # | ||
+ | # BUGS | ||
+ | # The table format does not understand quoting conventions. | ||
+ | # | ||
+ | # CONFIGURATION PARAMETERS | ||
+ | # The following main.cf parameters are especially | ||
+ | # The text below provides | ||
+ | # postconf(5) for more details including examples. | ||
+ | # | ||
+ | # canonical_classes | ||
+ | # What addresses are subject | ||
+ | # | ||
+ | # | ||
+ | # canonical_maps | ||
+ | # List of canonical mapping tables. | ||
+ | # | ||
+ | # recipient_canonical_maps | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # sender_canonical_maps | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # propagate_unmatched_extensions | ||
+ | # | ||
+ | # nisms that propagate an address extension from the | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Other parameters of interest: | ||
+ | # | ||
+ | # inet_interfaces | ||
+ | # | ||
+ | # | ||
+ | # fix when this parameter changes. | ||
+ | # | ||
+ | # local_header_rewrite_clients | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # proxy_interfaces | ||
+ | # Other interfaces that this machine receives mail on | ||
+ | # by way of a proxy agent or network address transla- | ||
+ | # tor. | ||
+ | # | ||
+ | # masquerade_classes | ||
+ | # | ||
+ | # zero or more of envelope_sender, | ||
+ | # ent, header_sender, | ||
+ | # | ||
+ | # masquerade_domains | ||
+ | # | ||
+ | # ture. | ||
+ | # | ||
+ | # masquerade_exceptions | ||
+ | # List of user names that are not subject to address | ||
+ | # | ||
+ | # | ||
+ | # mydestination | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # myorigin | ||
+ | # The domain that is appended to locally-posted mail. | ||
+ | # | ||
+ | # owner_request_special | ||
+ | # Give special treatment to owner-xxx and xxx-request | ||
+ | # | ||
+ | # | ||
+ | # remote_header_rewrite_domain | ||
+ | # | ||
+ | # at all when this parameter is empty; otherwise, re- | ||
+ | # write message | ||
+ | # | ||
+ | # | ||
+ | # SEE ALSO | ||
+ | # cleanup(8), canonicalize and enqueue mail | ||
+ | # postmap(1), Postfix lookup table manager | ||
+ | # postconf(5), | ||
+ | # virtual(5), virtual aliasing | ||
+ | # | ||
+ | # README FILES | ||
+ | # Use " | ||
+ | # tory" to locate this information. | ||
+ | # DATABASE_README, | ||
+ | # ADDRESS_REWRITING_README, | ||
+ | # | ||
+ | # LICENSE | ||
+ | # The Secure Mailer license must be distributed | ||
+ | # software. | ||
+ | # | ||
+ | # AUTHOR(S) | ||
+ | # Wietse Venema | ||
+ | # IBM T.J. Watson Research | ||
+ | # P.O. Box 704 | ||
+ | # Yorktown Heights, NY 10598, USA | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | # Django : 2012-02-06 | ||
+ | # Kapitel 5.2.3 canonical-Tabelle: | ||
+ | # Lookup-Tabelle zum Umschreibungen von Absender eMail-Adressen im SMTP-Envelop und im Header der eMail. | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | # catch all | ||
+ | @pml100200.intra.nausch.org | ||
+ | # | ||
+ | # einzelnen Nutzer umschreiben | ||
+ | weather | ||
+ | # | ||
+ | # genau eine Adresse umschreiben | ||
+ | admin@pml100201.intra.nausch.org | ||
+ | </ | ||
+ | # Kapitel 5.2.3 canonical-Tabelle: | ||
+ | # Lookup-Tabelle zum Umschreibungen von Empfänger eMail-Adressen im SMTP-Envelop und im Header der eMail. | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | # catch all | ||
+ | @omni128.de | ||
+ | # | ||
+ | # genau eine Adresse umschreiben | ||
+ | swat@nausch.org | ||
+ | </ | ||
+ | |||
+ | * **generic** \\ Tabelle zum Umschreiben von eMailadressen. Im Gegensatz zu den beiden canonical-Maps, | ||
+ | # | ||
+ | # NAME | ||
+ | # generic - Postfix generic table format | ||
+ | # | ||
+ | # SYNOPSIS | ||
+ | # postmap / | ||
+ | # | ||
+ | # postmap -q " | ||
+ | # | ||
+ | # postmap -q - / | ||
+ | # | ||
+ | # DESCRIPTION | ||
+ | # The optional generic(5) table specifies an address mapping | ||
+ | # that applies when mail is delivered. This is the opposite | ||
+ | # of canonical(5) | ||
+ | # received. | ||
+ | # | ||
+ | # Typically, one would use the generic(5) table on a system | ||
+ | # that does not have a valid Internet domain name and that | ||
+ | # uses something | ||
+ | # generic(5) | ||
+ | # transform local mail addresses into valid Internet | ||
+ | # addresses | ||
+ | # See the EXAMPLE section at the end of this document. | ||
+ | # | ||
+ | # The generic(5) | ||
+ | # addresses (i.e. addresses that appear inside messages) and | ||
+ | # message envelope addresses | ||
+ | # that are used in SMTP protocol commands). | ||
+ | # | ||
+ | # Normally, the generic(5) table is specified as a text file | ||
+ | # that serves as input to the postmap(1) | ||
+ | # result, | ||
+ | # fast searching by the mail system. | ||
+ | # " | ||
+ | # after changing the corresponding text file. | ||
+ | # | ||
+ | # When the table is provided via other means such as NIS, | ||
+ | # LDAP or SQL, the same lookups are done as for ordinary | ||
+ | # indexed files. | ||
+ | # | ||
+ | # Alternatively, | ||
+ | # expression map where patterns are given as regular expres- | ||
+ | # sions, or lookups can be directed to TCP-based server. | ||
+ | # those case, the lookups are done in a slightly different | ||
+ | # way as described below under " | ||
+ | # or " | ||
+ | # | ||
+ | # CASE FOLDING | ||
+ | # The search | ||
+ | # lookup. As of Postfix 2.3, the search string is not case | ||
+ | # folded | ||
+ | # lookup fields can match both upper and lower case. | ||
+ | # | ||
+ | # TABLE FORMAT | ||
+ | # The input format for the postmap(1) command is as follows: | ||
+ | # | ||
+ | # pattern result | ||
+ | # | ||
+ | # the corresponding result. | ||
+ | # | ||
+ | # blank lines and comments | ||
+ | # Empty lines and whitespace-only lines are ignored, | ||
+ | # | ||
+ | # is a `#'. | ||
+ | # | ||
+ | # multi-line text | ||
+ | # A logical line starts with non-whitespace | ||
+ | # | ||
+ | # cal line. | ||
+ | # | ||
+ | # TABLE SEARCH ORDER | ||
+ | # With lookups from indexed files such as DB or DBM, or from | ||
+ | # networked | ||
+ | # tried in the order as listed below: | ||
+ | # | ||
+ | # user@domain address | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # user address | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # @domain address | ||
+ | # | ||
+ | # form has the lowest precedence. | ||
+ | # | ||
+ | # RESULT ADDRESS REWRITING | ||
+ | # The lookup result is subject to address rewriting: | ||
+ | # | ||
+ | # o When the result | ||
+ | # | ||
+ | # | ||
+ | # o When " | ||
+ | # to addresses without " | ||
+ | # | ||
+ | # o When " | ||
+ | # to addresses without " | ||
+ | # | ||
+ | # ADDRESS EXTENSION | ||
+ | # When a mail address localpart contains the optional recip- | ||
+ | # ient delimiter | ||
+ | # becomes: user+foo@domain, | ||
+ | # @domain. | ||
+ | # | ||
+ | # The | ||
+ | # whether an unmatched address extension | ||
+ | # gated to the result of table lookup. | ||
+ | # | ||
+ | # REGULAR EXPRESSION TABLES | ||
+ | # This section | ||
+ | # the table is given in the form of regular expressions. For | ||
+ | # a description | ||
+ | # see regexp_table(5) or pcre_table(5). | ||
+ | # | ||
+ | # Each pattern is a regular expression that is applied | ||
+ | # the entire address being looked up. Thus, user@domain mail | ||
+ | # addresses are not broken up into their user and @domain | ||
+ | # constituent parts, nor is user+foo broken up into user and | ||
+ | # foo. | ||
+ | # | ||
+ | # Patterns are applied in the order as specified in the ta- | ||
+ | # ble, until a pattern | ||
+ | # string. | ||
+ | # | ||
+ | # Results are the same as with indexed | ||
+ | # the additional feature that parenthesized substrings from | ||
+ | # the pattern can be interpolated as $1, $2 and so on. | ||
+ | # | ||
+ | # TCP-BASED TABLES | ||
+ | # This section describes how the table lookups | ||
+ | # lookups are directed to a TCP-based server. For a descrip- | ||
+ | # tion of the TCP client/ | ||
+ | # ble(5). | ||
+ | # Postfix version 2.4. | ||
+ | # | ||
+ | # Each lookup operation uses the entire address once. Thus, | ||
+ | # user@domain | ||
+ | # user and @domain constituent parts, nor is user+foo broken | ||
+ | # up into user and foo. | ||
+ | # | ||
+ | # Results are the same as with indexed file lookups. | ||
+ | # | ||
+ | # EXAMPLE | ||
+ | # The following | ||
+ | # file. When mail is sent to a remote host via SMTP, this | ||
+ | # replaces | ||
+ | # replaces her@localdomain.local by her ISP mail address, | ||
+ | # and replaces | ||
+ | # with an address extension of +local (this example | ||
+ | # that the ISP supports " | ||
+ | # | ||
+ | # / | ||
+ | # smtp_generic_maps = hash:/ | ||
+ | # | ||
+ | # / | ||
+ | # his@localdomain.local | ||
+ | # her@localdomain.local | ||
+ | # @localdomain.local | ||
+ | # | ||
+ | # Execute | ||
+ | # ever the table is changed. | ||
+ | # use dbm database files. To find out what tables your sys- | ||
+ | # tem supports use the command " | ||
+ | # | ||
+ | # BUGS | ||
+ | # The table format does not understand quoting | ||
+ | # | ||
+ | # CONFIGURATION PARAMETERS | ||
+ | # The following main.cf parameters are especially relevant. | ||
+ | # The text below provides | ||
+ | # postconf(5) for more details including examples. | ||
+ | # | ||
+ | # smtp_generic_maps | ||
+ | # | ||
+ | # | ||
+ | # ering mail via SMTP. | ||
+ | # | ||
+ | # propagate_unmatched_extensions | ||
+ | # | ||
+ | # nisms that propagate an address extension from the | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Other parameters of interest: | ||
+ | # | ||
+ | # inet_interfaces | ||
+ | # | ||
+ | # | ||
+ | # fix when this parameter changes. | ||
+ | # | ||
+ | # proxy_interfaces | ||
+ | # Other interfaces that this machine receives mail on | ||
+ | # by way of a proxy agent or network address transla- | ||
+ | # tor. | ||
+ | # | ||
+ | # mydestination | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # myorigin | ||
+ | # The domain that is appended to locally-posted mail. | ||
+ | # | ||
+ | # owner_request_special | ||
+ | # Give special treatment to owner-xxx and xxx-request | ||
+ | # | ||
+ | # | ||
+ | # SEE ALSO | ||
+ | # postmap(1), Postfix lookup table manager | ||
+ | # postconf(5), | ||
+ | # smtp(8), Postfix SMTP client | ||
+ | # | ||
+ | # README FILES | ||
+ | # Use " | ||
+ | # tory" to locate this information. | ||
+ | # ADDRESS_REWRITING_README, | ||
+ | # DATABASE_README, | ||
+ | # STANDARD_CONFIGURATION_README, | ||
+ | # | ||
+ | # LICENSE | ||
+ | # The Secure | ||
+ | # software. | ||
+ | # | ||
+ | # HISTORY | ||
+ | # A genericstable feature appears in the Sendmail MTA. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.2 and later. | ||
+ | # | ||
+ | # AUTHOR(S) | ||
+ | # Wietse Venema | ||
+ | # IBM T.J. Watson Research | ||
+ | # P.O. Box 704 | ||
+ | # Yorktown Heights, NY 10598, USA | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | # Lookup-Tabelle zum Umschreibungen von Empfänger eMail-Adressen im SMTP-Envelop und im Header der eMail. | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | # catch all | ||
+ | @omni128.de | ||
+ | # | ||
+ | # genau eine Adresse umschreiben | ||
+ | swat@nausch.org | ||
+ | </ | ||
+ | # Lookup-Tabelle zum Umschreibungen von Empfänger eMail-Adressen im SMTP-Envelop und im Header der eMail. | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | # catch all | ||
+ | @omni128.de | ||
+ | # | ||
+ | # genau eine Adresse umschreiben | ||
+ | swat@nausch.org | ||
+ | </ | ||
+ | |||
+ | * **transport** \\ Lookup-Tabelle zum Aktivieren einer alternativen Mailrouting bei der Zustellung an einen weiteren Mailserver. Die Manpage zu den transport-maps findet man im Konfigurationsverzeichnis von Postfix. < | ||
+ | # | ||
+ | # NAME | ||
+ | # transport - Postfix transport table format | ||
+ | # | ||
+ | # SYNOPSIS | ||
+ | # postmap / | ||
+ | # | ||
+ | # postmap -q " | ||
+ | # | ||
+ | # postmap -q - / | ||
+ | # | ||
+ | # DESCRIPTION | ||
+ | # The optional | ||
+ | # email addresses to message delivery transports | ||
+ | # hop destinations. | ||
+ | # local or smtp are defined in the master.cf file, and next- | ||
+ | # hop destinations are typically hosts or domain names. The | ||
+ | # table is searched by the trivial-rewrite(8) daemon. | ||
+ | # | ||
+ | # This mapping | ||
+ | # selection that is built into Postfix: | ||
+ | # | ||
+ | # local_transport (default: local: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # is the MTA hostname. | ||
+ | # | ||
+ | # virtual_transport (default: virtual:) | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # relay_transport (default: relay:) | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # default_transport (default: smtp:) | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Normally, | ||
+ | # file that serves as input to the postmap(1) command. | ||
+ | # result, | ||
+ | # fast searching by the mail system. | ||
+ | # " | ||
+ | # file after changing the corresponding transport table. | ||
+ | # | ||
+ | # When the table is provided via other means such as NIS, | ||
+ | # LDAP or SQL, the same lookups are done as for ordinary | ||
+ | # indexed files. | ||
+ | # | ||
+ | # Alternatively, | ||
+ | # expression map where patterns are given as regular expres- | ||
+ | # sions, or lookups can be directed to TCP-based server. | ||
+ | # those case, the lookups are done in a slightly different | ||
+ | # way as described below under " | ||
+ | # or " | ||
+ | # | ||
+ | # CASE FOLDING | ||
+ | # The search | ||
+ | # lookup. As of Postfix 2.3, the search string is not case | ||
+ | # folded | ||
+ | # lookup fields can match both upper and lower case. | ||
+ | # | ||
+ | # TABLE FORMAT | ||
+ | # The input format for the postmap(1) command is as follows: | ||
+ | # | ||
+ | # pattern result | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # blank lines and comments | ||
+ | # Empty lines and whitespace-only lines are ignored, | ||
+ | # | ||
+ | # is a `#'. | ||
+ | # | ||
+ | # multi-line text | ||
+ | # A logical line starts with non-whitespace | ||
+ | # | ||
+ | # cal line. | ||
+ | # | ||
+ | # The pattern specifies an email address, a domain name, or | ||
+ | # a domain | ||
+ | # LOOKUP" | ||
+ | # | ||
+ | # The result is of the form transport: | ||
+ | # how or where to deliver mail. This is described in section | ||
+ | # " | ||
+ | # | ||
+ | # TABLE SEARCH ORDER | ||
+ | # With lookups from indexed files such as DB or DBM, or from | ||
+ | # networked | ||
+ | # tried in the order as listed below: | ||
+ | # | ||
+ | # user+extension@domain transport: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # user@domain transport: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # domain transport: | ||
+ | # | ||
+ | # thop. | ||
+ | # | ||
+ | # .domain transport: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # its subdomains. | ||
+ | # | ||
+ | # * transport: | ||
+ | # The special pattern * represents any address | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Note 1: the null recipient | ||
+ | # $empty_address_recipient@$myhostname (default: mailer-dae- | ||
+ | # mon@hostname). | ||
+ | # | ||
+ | # Note 2: user@domain | ||
+ | # available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # RESULT FORMAT | ||
+ | # The lookup | ||
+ | # transport field specifies a mail delivery | ||
+ | # as smtp or local. The nexthop field specifies where and | ||
+ | # how to deliver mail. | ||
+ | # | ||
+ | # The transport field specifies the name of a mail delivery | ||
+ | # transport (the first name of a mail delivery service entry | ||
+ | # in the Postfix master.cf file). | ||
+ | # | ||
+ | # The interpretation | ||
+ | # dependent. | ||
+ | # non-default port as host: | ||
+ | # exchanger) | ||
+ | # form is required when you specify an IP address instead of | ||
+ | # a hostname. | ||
+ | # | ||
+ | # A null transport | ||
+ | # change": | ||
+ | # tion that would be used when the entire transport table | ||
+ | # did not exist. | ||
+ | # | ||
+ | # A non-null transport | ||
+ | # resets the nexthop information to the recipient domain. | ||
+ | # | ||
+ | # A null transport | ||
+ | # not modify the transport information. | ||
+ | # | ||
+ | # EXAMPLES | ||
+ | # In order to deliver internal mail directly, while using a | ||
+ | # mail relay for all other mail, specify a null entry for | ||
+ | # internal destinations (do not change the delivery | ||
+ | # port or the nexthop information) and specify a wildcard | ||
+ | # for all other destinations. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # In order to send mail for example.com and its subdomains | ||
+ | # via the uucp transport to the UUCP host named example: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # When no nexthop | ||
+ | # domain name is used instead. For example, | ||
+ | # directs | ||
+ | # to a mail exchanger for example.com. | ||
+ | # could be configured to run at most one delivery process at | ||
+ | # a time: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # When no transport is specified, Postfix uses the transport | ||
+ | # that matches | ||
+ | # above). | ||
+ | # its subdomains to host gateway.example.com: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # In the above example, the [] suppress MX lookups. | ||
+ | # prevents mail routing loops when your machine | ||
+ | # MX host for example.com. | ||
+ | # | ||
+ | # In the case of delivery via SMTP, one may specify host- | ||
+ | # name: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This directs mail for user@example.com to host bar.example | ||
+ | # port 2025. Instead of a numerical port a symbolic name may | ||
+ | # be used. Specify [] around the hostname if MX lookups must | ||
+ | # be disabled. | ||
+ | # | ||
+ | # The error mailer can be used to bounce mail: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This causes | ||
+ | # bounced. | ||
+ | # | ||
+ | # REGULAR EXPRESSION TABLES | ||
+ | # This section describes how the table lookups | ||
+ | # the table is given in the form of regular expressions. For | ||
+ | # a description of regular expression lookup | ||
+ | # see regexp_table(5) or pcre_table(5). | ||
+ | # | ||
+ | # Each pattern | ||
+ | # the | ||
+ | # some.domain.hierarchy | ||
+ | # domains, nor is user+foo@domain looked up as user@domain. | ||
+ | # | ||
+ | # Patterns | ||
+ | # ble, until a pattern is found that matches | ||
+ | # string. | ||
+ | # | ||
+ | # The trivial-rewrite(8) server disallows regular expression | ||
+ | # substitution of $1 etc. in regular | ||
+ | # tables, | ||
+ | # version 2.3 and later). | ||
+ | # | ||
+ | # TCP-BASED TABLES | ||
+ | # This section describes how the table lookups | ||
+ | # lookups are directed to a TCP-based server. For a descrip- | ||
+ | # tion of the TCP client/ | ||
+ | # ble(5). | ||
+ | # Postfix version 2.4. | ||
+ | # | ||
+ | # Each lookup operation uses the entire | ||
+ | # once. | ||
+ | # its parent domains, nor is user+foo@domain | ||
+ | # user@domain. | ||
+ | # | ||
+ | # Results are the same as with indexed file lookups. | ||
+ | # | ||
+ | # CONFIGURATION PARAMETERS | ||
+ | # The following main.cf parameters are especially relevant. | ||
+ | # The text below provides | ||
+ | # postconf(5) for more details including examples. | ||
+ | # | ||
+ | # empty_address_recipient | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # parent_domain_matches_subdomains | ||
+ | # List of Postfix features that use domain.tld | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # transport_maps | ||
+ | # List of transport lookup tables. | ||
+ | # | ||
+ | # SEE ALSO | ||
+ | # trivial-rewrite(8), | ||
+ | # master(5), master.cf file format | ||
+ | # postconf(5), | ||
+ | # postmap(1), Postfix lookup table manager | ||
+ | # | ||
+ | # README FILES | ||
+ | # Use " | ||
+ | # tory" to locate this information. | ||
+ | # ADDRESS_REWRITING_README, | ||
+ | # DATABASE_README, | ||
+ | # FILTER_README, | ||
+ | # | ||
+ | # LICENSE | ||
+ | # The Secure | ||
+ | # software. | ||
+ | # | ||
+ | # AUTHOR(S) | ||
+ | # Wietse Venema | ||
+ | # IBM T.J. Watson Research | ||
+ | # P.O. Box 704 | ||
+ | # Yorktown Heights, NY 10598, USA | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | # Lookup-Tabelle zum Aktivieren einer alternativen Mailrouting bei der Zustellung an einen weiteren Mailserver | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | # Alle eMails, die an Subdomains von nausch.org gerichtet sind (" | ||
+ | # werden an den/die Mailserver von intra.nausch.org (MX-Records) weitergeleitet. (keine " | ||
+ | .nausch.org | ||
+ | |||
+ | # Mails an backup.nausch.org werden an den Mailserver auf Port 25 mit Namen mail.intra.nausch.org geschickt. | ||
+ | backup.nausch.org | ||
+ | </ | ||
+ | |||
+ | * **relocated** \\ Lookup-Tabelle zum Aktivieren von " | ||
+ | # | ||
+ | # NAME | ||
+ | # relocated - Postfix relocated table format | ||
+ | # | ||
+ | # SYNOPSIS | ||
+ | # postmap / | ||
+ | # | ||
+ | # DESCRIPTION | ||
+ | # The optional | ||
+ | # that is used in "user has moved to new_location" | ||
+ | # messages. | ||
+ | # | ||
+ | # Normally, | ||
+ | # file that serves as input to the postmap(1) command. | ||
+ | # result, | ||
+ | # fast searching by the mail system. | ||
+ | # " | ||
+ | # file after changing the corresponding relocated table. | ||
+ | # | ||
+ | # When the table is provided via other means such as NIS, | ||
+ | # LDAP or SQL, the same lookups are done as for ordinary | ||
+ | # indexed files. | ||
+ | # | ||
+ | # Alternatively, | ||
+ | # expression map where patterns are given as regular expres- | ||
+ | # sions, or lookups can be directed to TCP-based server. | ||
+ | # those case, the lookups are done in a slightly different | ||
+ | # way as described below under " | ||
+ | # or " | ||
+ | # | ||
+ | # Table lookups are case insensitive. | ||
+ | # | ||
+ | # CASE FOLDING | ||
+ | # The search | ||
+ | # lookup. As of Postfix 2.3, the search string is not case | ||
+ | # folded | ||
+ | # lookup fields can match both upper and lower case. | ||
+ | # | ||
+ | # TABLE FORMAT | ||
+ | # The input format for the postmap(1) command is as follows: | ||
+ | # | ||
+ | # o An entry has one of the following form: | ||
+ | # | ||
+ | # pattern | ||
+ | # | ||
+ | # | ||
+ | # such as an email address, | ||
+ | # | ||
+ | # | ||
+ | # o Empty lines and whitespace-only lines are ignored, | ||
+ | # as are lines whose first non-whitespace | ||
+ | # is a `#'. | ||
+ | # | ||
+ | # o A logical | ||
+ | # line that starts with whitespace continues a logi- | ||
+ | # cal line. | ||
+ | # | ||
+ | # TABLE SEARCH ORDER | ||
+ | # With lookups from indexed files such as DB or DBM, or from | ||
+ | # networked tables such as NIS, LDAP or SQL, patterns | ||
+ | # tried in the order as listed below: | ||
+ | # | ||
+ | # user@domain | ||
+ | # | ||
+ | # all other forms. | ||
+ | # | ||
+ | # user | ||
+ | # is listed in $mydestination, | ||
+ | # in $inet_interfaces or $proxy_interfaces. | ||
+ | # | ||
+ | # @domain | ||
+ | # | ||
+ | # the lowest precedence. | ||
+ | # | ||
+ | # ADDRESS EXTENSION | ||
+ | # When a mail address localpart contains the optional recip- | ||
+ | # ient delimiter (e.g., user+foo@domain), | ||
+ | # becomes: user+foo@domain, | ||
+ | # @domain. | ||
+ | # | ||
+ | # REGULAR EXPRESSION TABLES | ||
+ | # This section describes how the table lookups | ||
+ | # the table is given in the form of regular expressions or | ||
+ | # when lookups are directed to a TCP-based | ||
+ | # description of regular expression lookup table syntax, see | ||
+ | # regexp_table(5) or pcre_table(5). For a description of the | ||
+ | # TCP client/ | ||
+ | # This feature is not available up to and including | ||
+ | # version 2.4. | ||
+ | # | ||
+ | # Each pattern | ||
+ | # the entire address being looked up. Thus, user@domain mail | ||
+ | # addresses | ||
+ | # constituent parts, nor is user+foo broken up into user and | ||
+ | # foo. | ||
+ | # | ||
+ | # Patterns | ||
+ | # ble, until a pattern is found that matches | ||
+ | # string. | ||
+ | # | ||
+ | # Results | ||
+ | # the additional feature that parenthesized substrings | ||
+ | # the pattern can be interpolated as $1, $2 and so on. | ||
+ | # | ||
+ | # TCP-BASED TABLES | ||
+ | # This section | ||
+ | # lookups are directed to a TCP-based server. For a descrip- | ||
+ | # tion of the TCP client/ | ||
+ | # ble(5). | ||
+ | # Postfix version 2.4. | ||
+ | # | ||
+ | # Each lookup operation uses the entire address once. Thus, | ||
+ | # user@domain mail addresses are not broken | ||
+ | # user and @domain constituent parts, nor is user+foo broken | ||
+ | # up into user and foo. | ||
+ | # | ||
+ | # Results are the same as with indexed file lookups. | ||
+ | # | ||
+ | # BUGS | ||
+ | # The table format does not understand quoting | ||
+ | # | ||
+ | # CONFIGURATION PARAMETERS | ||
+ | # The following main.cf parameters are especially relevant. | ||
+ | # The text below provides | ||
+ | # postconf(5) for more details including examples. | ||
+ | # | ||
+ | # relocated_maps | ||
+ | # List of lookup tables for relocated users or sites. | ||
+ | # | ||
+ | # Other parameters of interest: | ||
+ | # | ||
+ | # inet_interfaces | ||
+ | # The network interface addresses | ||
+ | # | ||
+ | # fix when this parameter changes. | ||
+ | # | ||
+ | # mydestination | ||
+ | # List of domains that this mail system | ||
+ | # | ||
+ | # | ||
+ | # myorigin | ||
+ | # The domain that is appended to locally-posted mail. | ||
+ | # | ||
+ | # proxy_interfaces | ||
+ | # Other interfaces that this machine receives mail on | ||
+ | # by way of a proxy agent or network address transla- | ||
+ | # tor. | ||
+ | # | ||
+ | # SEE ALSO | ||
+ | # trivial-rewrite(8), | ||
+ | # postmap(1), Postfix lookup table manager | ||
+ | # postconf(5), | ||
+ | # | ||
+ | # README FILES | ||
+ | # Use " | ||
+ | # tory" to locate this information. | ||
+ | # DATABASE_README, | ||
+ | # ADDRESS_REWRITING_README, | ||
+ | # | ||
+ | # LICENSE | ||
+ | # The Secure | ||
+ | # software. | ||
+ | # | ||
+ | # AUTHOR(S) | ||
+ | # Wietse Venema | ||
+ | # IBM T.J. Watson Research | ||
+ | # P.O. Box 704 | ||
+ | # Yorktown Heights, NY 10598, USA | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | # Lookup-Tabelle zum Aktivieren von " | ||
+ | # existierende eMailadressen mit Angabe der neu zu nutzenden eMailadresse des Empfängers. | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | michael.nausch@omni128.de | ||
+ | </ | ||
+ | |||
+ | * **virtual** \\ Lookup-Tabelle zum Verwalten der virtuellen Domains und virtuellen eMail-Adressen. Die Manpage zu den virtual-maps findet man im Konfigurationsverzeichnis von Postfix. < | ||
+ | # | ||
+ | # NAME | ||
+ | # virtual - Postfix virtual alias table format | ||
+ | # | ||
+ | # SYNOPSIS | ||
+ | # postmap / | ||
+ | # | ||
+ | # postmap -q " | ||
+ | # | ||
+ | # postmap -q - / | ||
+ | # | ||
+ | # DESCRIPTION | ||
+ | # The optional | ||
+ | # addresses for all local, all virtual, and all remote | ||
+ | # destinations. | ||
+ | # is used only for local(8) delivery. | ||
+ | # recursive, | ||
+ | # daemon before mail is queued. | ||
+ | # | ||
+ | # The main applications of virtual aliasing are: | ||
+ | # | ||
+ | # o To redirect mail for one address | ||
+ | # | ||
+ | # | ||
+ | # o To | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # the virtual mailbox domains | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Virtual | ||
+ | # addresses, and does not affect | ||
+ | # canonical(5) | ||
+ | # addresses in general. | ||
+ | # | ||
+ | # Normally, the virtual(5) alias table is specified | ||
+ | # text file that serves as input to the postmap(1) command. | ||
+ | # The result, an indexed file in dbm or db format, | ||
+ | # for fast searching by the mail system. Execute the command | ||
+ | # " | ||
+ | # after changing the corresponding text file. | ||
+ | # | ||
+ | # When the table is provided via other means such as NIS, | ||
+ | # LDAP or SQL, the same lookups are done as for ordinary | ||
+ | # indexed files. | ||
+ | # | ||
+ | # Alternatively, | ||
+ | # expression map where patterns are given as regular expres- | ||
+ | # sions, | ||
+ | # those case, the lookups are done in a slightly | ||
+ | # way as described below under " | ||
+ | # or " | ||
+ | # | ||
+ | # CASE FOLDING | ||
+ | # The search string is folded to lowercase | ||
+ | # lookup. | ||
+ | # folded with database types such as regexp: or pcre: whose | ||
+ | # lookup fields can match both upper and lower case. | ||
+ | # | ||
+ | # TABLE FORMAT | ||
+ | # The input format for the postmap(1) command is as follows: | ||
+ | # | ||
+ | # pattern result | ||
+ | # When pattern matches a mail address, replace it by | ||
+ | # the corresponding result. | ||
+ | # | ||
+ | # blank lines and comments | ||
+ | # | ||
+ | # as are lines whose first non-whitespace | ||
+ | # is a `#'. | ||
+ | # | ||
+ | # multi-line text | ||
+ | # | ||
+ | # line that starts with whitespace continues a logi- | ||
+ | # cal line. | ||
+ | # | ||
+ | # TABLE SEARCH ORDER | ||
+ | # With lookups from indexed files such as DB or DBM, or from | ||
+ | # networked tables such as NIS, LDAP or SQL, patterns | ||
+ | # tried in the order as listed below: | ||
+ | # | ||
+ | # user@domain address, address, ... | ||
+ | # | ||
+ | # form has the highest precedence. | ||
+ | # | ||
+ | # user address, address, ... | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # or $proxy_interfaces. | ||
+ | # | ||
+ | # | ||
+ | # the local aliases(5) database. | ||
+ | # that virtual(5) mapping can be applied to non-local | ||
+ | # | ||
+ | # | ||
+ | # @domain address, address, ... | ||
+ | # | ||
+ | # This form has the lowest precedence. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # RESULT ADDRESS REWRITING | ||
+ | # The lookup result is subject to address rewriting: | ||
+ | # | ||
+ | # o When the result | ||
+ | # | ||
+ | # works only for the first address in a multi-address | ||
+ | # | ||
+ | # | ||
+ | # o When " | ||
+ | # to addresses without " | ||
+ | # | ||
+ | # o When " | ||
+ | # to addresses without " | ||
+ | # | ||
+ | # ADDRESS EXTENSION | ||
+ | # When a mail address localpart contains the optional recip- | ||
+ | # ient delimiter (e.g., user+foo@domain), | ||
+ | # becomes: user+foo@domain, | ||
+ | # @domain. | ||
+ | # | ||
+ | # The propagate_unmatched_extensions | ||
+ | # whether | ||
+ | # gated to the result of table lookup. | ||
+ | # | ||
+ | # VIRTUAL ALIAS DOMAINS | ||
+ | # Besides virtual aliases, the virtual alias table can also | ||
+ | # be used to implement virtual alias domains. With a virtual | ||
+ | # alias domain, | ||
+ | # addresses in other domains. | ||
+ | # | ||
+ | # Virtual alias domains are not to be confused with the vir- | ||
+ | # tual mailbox domains that are implemented with the Postfix | ||
+ | # virtual(8) | ||
+ | # domains, each recipient address can have its own mailbox. | ||
+ | # | ||
+ | # With a virtual | ||
+ | # own user name space. Local (i.e. non-virtual) | ||
+ | # are not visible in a virtual alias domain. In particular, | ||
+ | # local aliases(5) and local mailing lists are not visible | ||
+ | # as localname@virtual-alias.domain. | ||
+ | # | ||
+ | # Support for a virtual alias domain looks like: | ||
+ | # | ||
+ | # / | ||
+ | # virtual_alias_maps = hash:/ | ||
+ | # | ||
+ | # Note: some systems use dbm databases instead of hash. See | ||
+ | # the output | ||
+ | # types. | ||
+ | # | ||
+ | # / | ||
+ | # virtual-alias.domain | ||
+ | # postmaster@virtual-alias.domain | ||
+ | # user1@virtual-alias.domain | ||
+ | # user2@virtual-alias.domain | ||
+ | # | ||
+ | # The virtual-alias.domain anything entry is required for a | ||
+ | # virtual alias domain. Without this entry, mail is rejected | ||
+ | # with " | ||
+ | # back to myself" | ||
+ | # | ||
+ | # Do not specify virtual alias domain names in the main.cf | ||
+ | # mydestination or relay_domains configuration parameters. | ||
+ | # | ||
+ | # With a virtual | ||
+ | # accepts | ||
+ | # rejects | ||
+ | # undeliverable. | ||
+ | # | ||
+ | # Instead of specifying the virtual alias domain | ||
+ | # the virtual_alias_maps table, you may also specify it via | ||
+ | # the main.cf virtual_alias_domains configuration parameter. | ||
+ | # This latter parameter uses the same syntax as the main.cf | ||
+ | # mydestination configuration parameter. | ||
+ | # | ||
+ | # REGULAR EXPRESSION TABLES | ||
+ | # This section describes how the table lookups | ||
+ | # the table is given in the form of regular expressions. For | ||
+ | # a description of regular expression lookup | ||
+ | # see regexp_table(5) or pcre_table(5). | ||
+ | # | ||
+ | # Each pattern | ||
+ | # the entire address being looked up. Thus, user@domain mail | ||
+ | # addresses | ||
+ | # constituent parts, nor is user+foo broken up into user and | ||
+ | # foo. | ||
+ | # | ||
+ | # Patterns | ||
+ | # ble, until a pattern is found that matches | ||
+ | # string. | ||
+ | # | ||
+ | # Results | ||
+ | # the additional feature that parenthesized substrings | ||
+ | # the pattern can be interpolated as $1, $2 and so on. | ||
+ | # | ||
+ | # TCP-BASED TABLES | ||
+ | # This section | ||
+ | # lookups are directed to a TCP-based server. For a descrip- | ||
+ | # tion of the TCP client/ | ||
+ | # ble(5). | ||
+ | # Postfix version 2.4. | ||
+ | # | ||
+ | # Each lookup operation uses the entire address once. Thus, | ||
+ | # user@domain mail addresses are not broken | ||
+ | # user and @domain constituent parts, nor is user+foo broken | ||
+ | # up into user and foo. | ||
+ | # | ||
+ | # Results are the same as with indexed file lookups. | ||
+ | # | ||
+ | # BUGS | ||
+ | # The table format does not understand quoting | ||
+ | # | ||
+ | # CONFIGURATION PARAMETERS | ||
+ | # The following | ||
+ | # to this topic. See the Postfix | ||
+ | # details | ||
+ | # command after a configuration change. | ||
+ | # | ||
+ | # virtual_alias_maps | ||
+ | # List of virtual aliasing tables. | ||
+ | # | ||
+ | # virtual_alias_domains | ||
+ | # List of virtual alias domains. This uses the same | ||
+ | # | ||
+ | # | ||
+ | # propagate_unmatched_extensions | ||
+ | # | ||
+ | # nisms that propagate an address extension from the | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Other parameters of interest: | ||
+ | # | ||
+ | # inet_interfaces | ||
+ | # | ||
+ | # | ||
+ | # fix when this parameter changes. | ||
+ | # | ||
+ | # mydestination | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # myorigin | ||
+ | # The domain that is appended | ||
+ | # does not have a domain. | ||
+ | # | ||
+ | # owner_request_special | ||
+ | # Give special treatment to owner-xxx and xxx-request | ||
+ | # | ||
+ | # | ||
+ | # proxy_interfaces | ||
+ | # Other interfaces that this machine receives mail on | ||
+ | # by way of a proxy agent or network address transla- | ||
+ | # tor. | ||
+ | # | ||
+ | # SEE ALSO | ||
+ | # cleanup(8), canonicalize and enqueue mail | ||
+ | # postmap(1), Postfix lookup table manager | ||
+ | # postconf(5), | ||
+ | # canonical(5), | ||
+ | # | ||
+ | # README FILES | ||
+ | # Use " | ||
+ | # tory" to locate this information. | ||
+ | # ADDRESS_REWRITING_README, | ||
+ | # DATABASE_README, | ||
+ | # VIRTUAL_README, | ||
+ | # | ||
+ | # LICENSE | ||
+ | # The Secure | ||
+ | # software. | ||
+ | # | ||
+ | # AUTHOR(S) | ||
+ | # Wietse Venema | ||
+ | # IBM T.J. Watson Research | ||
+ | # P.O. Box 704 | ||
+ | # Yorktown Heights, NY 10598, USA | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | # Lookup-Tabelle zum Verwalten der virtuellen Domains. | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | nausch.org | ||
+ | wetter.nausch.org | ||
+ | omni128.de | ||
+ | wetterstation-pliening.info | ||
+ | ebersberger-liedersammlung.de | ||
+ | </ | ||
+ | # Lookup-Tabelle zum Verwalten der virtuellen eMailadressen. | ||
+ | # Nach dem Ändern und/oder Erweitern der Tabelle, muß noch mittels | ||
+ | # die zugehörige Datenbank erzeugt werden. | ||
+ | # | ||
+ | # catch all - Sämtliche eMailadressen werden 1:1 umgeschrieben. Aus webmaster@wetter.nausch.org wird webmaster@nausch.org. | ||
+ | @wetter.nausch.org | ||
+ | |||
+ | # eine einzelne Adresse gezielt umschreiben. Alle Nachrichten die an admin@wetterstation-pliening.info | ||
+ | # addressiert sind, gehen an michael@nausch.org. | ||
+ | admin@wetterstation-pliening.info | ||
+ | </ | ||
+ | |||
+ | ===== Benutzerdefinierte (deutsche) Bounce Messages ===== | ||
+ | Da wir ja nicht nur englischsprachige Nutzer haben, die bei unserem MX Post abliefern dürfen, möchten wir unter Umständen auch individuelle Bouncemessages verwenden. | ||
+ | ==== Download ==== | ||
+ | Hierzu laden wir uns erst einmal mustergültiges Nachrichtentemplate von den beiden Spezialisten //Patrick Koetter// und //Ralf Hildebrandt// | ||
+ | # cd / | ||
+ | |||
+ | # wget http:// | ||
+ | |||
+ | ==== Konfiguration ==== | ||
+ | Anschließend erweitern wir unsere Postfixkonfiguration entsprechend. | ||
+ | # vim / | ||
+ | |||
+ | <code bash> # Django : 2012-02-06 | ||
+ | # Benutzerdefinierte Bounce Messages mit deutsch- und englischsprachigen Texten aktiviert | ||
+ | bounce_template_file = / | ||
+ | </ | ||
+ | |||
+ | Zum Aktivieren starten wir unseren Postfix einmal durch. | ||
+ | # service postfix restart | ||
+ | |||
+ | ==== Test ==== | ||
+ | Zum Schluß überprüfen wir noch, ob die Variablen in dem Templatefile zu unseren Postfixvariablendefinitionen passen. | ||
+ | | ||
+ | < | ||
+ | Dies ist eine automatisch generierte Nachricht des Postfix E-Mail-Dienstes. | ||
+ | Dieser Dienst wird auf dem Server vml000080.dmz.nausch.org betrieben und teilt Ihnen | ||
+ | folgendes mit: | ||
+ | |||
+ | |||
+ | Ihre Nachricht konnte an einen oder mehrere Empfaenger nicht zugestellt | ||
+ | werden. Ein Problem-Bericht, | ||
+ | das Ende dieser Nachricht angehaengt. | ||
+ | |||
+ | |||
+ | Fuer weitere Hilfe kontaktieren Sie bitte den fuer Sie zustaendigen | ||
+ | < | ||
+ | |||
+ | Senden Sie dazu den an diese E-Mail angefuegten Problem-Bericht mit. | ||
+ | Den Inhalt Ihrer urspruenglichen Nachricht koennen Sie - zum Schutz Ihrer | ||
+ | Privatsphaere - entfernen; er ist fuer eine Fehler-Diagnose nicht zwingend | ||
+ | notwendig. | ||
+ | |||
+ | Der Postfix E-Mail-Dienst | ||
+ | |||
+ | INTERNATIONAL VERSION | ||
+ | |||
+ | This is the Postfix program at host vml000080.dmz.nausch.org. | ||
+ | |||
+ | I'm sorry to have to inform you that your message could not | ||
+ | be delivered to one or more recipients. It's attached below. | ||
+ | |||
+ | For further assistance, please send mail to < | ||
+ | |||
+ | If you do so, please include this problem report. You can | ||
+ | delete your own text from the attached returned message. | ||
+ | |||
+ | EOF | ||
+ | |||
+ | expanded_delay_text = <<EOF | ||
+ | Dies ist eine automatisch generierte Nachricht des Postfix E-Mail-Dienstes. | ||
+ | Dieser Dienst wird auf dem Server vml000080.dmz.nausch.org betrieben und teilt Ihnen | ||
+ | folgendes mit: | ||
+ | |||
+ | |||
+ | Eine von Ihnen gesendete Nachricht konnte seit 0 | ||
+ | Stunden nicht zugestellt werden. | ||
+ | | ||
+ | Sie muessen die Nachricht nicht noch einmal senden. Der Postfix | ||
+ | E-Mail-Dienst wird so lange versuchen Ihre Nachricht zuzustellen, | ||
+ | bis sie 5 Tage alt ist. | ||
+ | |||
+ | Sollte eine Zustellung bis in 5 Tagen nicht | ||
+ | gelingen, wird der Postfix E-Mail-Dienst die Zustellung abbrechen und | ||
+ | Sie davon in Kenntnis setzen. | ||
+ | |||
+ | |||
+ | Fuer weitere Hilfe kontaktieren Sie bitte den fuer Sie zustaendigen | ||
+ | < | ||
+ | |||
+ | Senden Sie dazu den, in dieser E-Mail angefuegten, | ||
+ | Den Inhalt Ihrer urspruenglichen Nachricht koennen Sie, zum Schutz Ihrer | ||
+ | Privatsphaere, | ||
+ | notwendig. | ||
+ | |||
+ | Der Postfix E-Mail-Dienst | ||
+ | |||
+ | |||
+ | INTERNATIONAL VERSION | ||
+ | |||
+ | This is the Postfix program at host vml000080.dmz.nausch.org. | ||
+ | |||
+ | #################################################################### | ||
+ | # THIS IS A WARNING ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. # | ||
+ | #################################################################### | ||
+ | |||
+ | Your message could not be delivered for 0 hour(s). | ||
+ | It will be retried until it is 5 day(s) old. | ||
+ | |||
+ | For further assistance, please send mail to < | ||
+ | |||
+ | If you do so, please include this problem report. You can | ||
+ | delete your own text from the attached returned message. | ||
+ | |||
+ | The Postfix program | ||
+ | EOF | ||
+ | |||
+ | expanded_success_text = <<EOF | ||
+ | Dies ist eine automatisch generierte Nachricht des Postfix E-Mail-Dienstes. | ||
+ | Dieser Dienst wird auf dem Server vml000080.dmz.nausch.org betrieben und teilt Ihnen | ||
+ | folgendes mit: | ||
+ | |||
+ | |||
+ | Ihre Nachricht wurde erfolgreich an die E-Mail-Server der am Ende dieser | ||
+ | E-Mail aufgelisteten Empfaenger ausgeliefert. | ||
+ | |||
+ | Falls Sie eine Zustellbericht angefordet haben und der empfangende | ||
+ | E-Mail-Server diese Funktionalitaet unterstuetzt erhalten Sie | ||
+ | auch von diesem E-Mail-Server eine entsprechende Benachrichtigung. | ||
+ | |||
+ | |||
+ | Der Postfix E-Mail-Dienst | ||
+ | |||
+ | |||
+ | INTERNATIONAL VERSION | ||
+ | |||
+ | This is the Postfix program at host vml000080.dmz.nausch.org. | ||
+ | |||
+ | Your message was successfully delivered to the destination(s) | ||
+ | listed below. If the message was delivered to mailbox you will | ||
+ | receive no further notifications. Otherwise you may still receive | ||
+ | notifications of mail delivery errors from other systems. | ||
+ | |||
+ | The Postfix program | ||
+ | EOF | ||
+ | |||
+ | expanded_verify_text = <<EOF | ||
+ | Dies ist eine automatisch generierte Nachricht des Postfix E-Mail-Dienstes. | ||
+ | Dieser Dienst wird auf dem Server vml000080.dmz.nausch.org betrieben und teilt Ihnen | ||
+ | folgendes mit: | ||
+ | |||
+ | |||
+ | Sie haben einen Empfaenger-Adressen-Bericht angefordert. Der Bericht wurde | ||
+ | an diese Nachricht angehaengt. | ||
+ | |||
+ | |||
+ | Der Postfix E-Mail-Dienst | ||
+ | |||
+ | |||
+ | INTERNATIONAL VERSION | ||
+ | |||
+ | This is the Postfix program at host vml000080.dmz.nausch.org. | ||
+ | |||
+ | Enclosed is the mail delivery report that you requested. | ||
+ | |||
+ | The Postfix program | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | ===== DSN abstellen ===== | ||
+ | DSN((**D**elivery **S**tatus **N**otification)) zu verbergen, kann ein wünschenswerter Zustand sein. Was geht schon einem externen der interne Aufbau unserer eMail-Infrastruktur an. | ||
+ | |||
+ | Wir erlauben also beim abgehenden Verkehr die Möglichkeit für unsere eigenen User, nach außen schotten wir uns jedoch ab. Dazu tragen wir in unserer **/ | ||
+ | # vim / | ||
+ | <code bash># DSN selectiv aktivieren, bzw. sperren | ||
+ | # Eingetragen am 21.11.2008 | ||
+ | smtpd_discard_ehlo_keyword_address_maps = cidr:/ | ||
+ | </ | ||
+ | |||
+ | Die zugehörige **cidr-Tabelle** mit den Netzdefinitionen legen wir anschließend auch noch an. | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # DSN selectiv aktivieren, bzw. sperren | ||
+ | # DSN requests werden nur aus dem eignen Netz erlaubt | ||
+ | 10.100.10.0/ | ||
+ | 10.10.100.0/ | ||
+ | 0.0.0.0/ | ||
+ | </ | ||
+ | Abschließend starten wir den MX einmal durch. | ||
+ | # service postfix restart | ||
+ | |||
+ | Bei Änderungen an der Datei ist lediglich ein **service postfix reload** notwendig. | ||
+ | |||
+ | ===== Inhaltliche Prüfungen ===== | ||
+ | Damit wir später die einfache Möglichkeiten haben, basierend auf bestimmte Inhalte im Mailheader bzw. Mailbody, Nachrichten zu bewerten oder gar zu manipulieren, | ||
+ | # vim / | ||
+ | <code bash> | ||
+ | # Django : 2012-02-06 | ||
+ | # Lookup-Tabelle zum Verwalten der Routinen zur inhaltliche Prüfung der eMail-Header | ||
+ | header_checks = pcre:/ | ||
+ | # | ||
+ | # Lookup-Tabelle zum Verwalten der Routinen zur inhaltliche Prüfung der eMail-Bodies | ||
+ | body_checks = pcre:/ | ||
+ | </ | ||
+ | |||
+ | Voraussetzung hierzu (//Perl Compatible Regular Expressions// | ||
+ | # postconf -m | grep pcre | ||
+ | |||
+ | pcre | ||
+ | Die **pcre**-Unterstützung beim Postfix unter CentOS 6.x ist also bereits vorhanden! | ||
+ | |||
+ | Trifft das gewählte Suchmuster bei unseren **// | ||
+ | * REJECT Nachricht mit einem fatalen Fehler 5xx ablehnen | ||
+ | * REJECT //MSG// Nachricht mit dem Text //MSG// ablehnen | ||
+ | * DISCARD Die Nachricht wird verworfen und zwar an **__alle__** Empfänger, sobald einer der Empfänger via //DISCARD// abgelehnt wird. Dem Einliefernden client wir eine erfolgreiche Zustellung mittels //**250 OK**// vorgegaukelt. | ||
+ | |||
+ | Im Konfigurationsverzeichnis von Postfix finden wir für weitere Beschreibungen die Manpage für den Einsatz und die Verwendung der body- und header-checks. | ||
+ | |||
+ | # vim / | ||
+ | <file bash / | ||
+ | # | ||
+ | # NAME | ||
+ | # header_checks - Postfix built-in content inspection | ||
+ | # | ||
+ | # SYNOPSIS | ||
+ | # header_checks = pcre:/ | ||
+ | # mime_header_checks = pcre:/ | ||
+ | # nested_header_checks = pcre:/ | ||
+ | # body_checks = pcre:/ | ||
+ | # | ||
+ | # postmap -q " | ||
+ | # postmap -q - pcre:/ | ||
+ | # | ||
+ | # DESCRIPTION | ||
+ | # This document | ||
+ | # message headers and message body lines; it is implemented | ||
+ | # by the Postfix | ||
+ | # See access(5) for access control | ||
+ | # information. | ||
+ | # | ||
+ | # Each message | ||
+ | # against a list of patterns. | ||
+ | # corresponding action is executed, and the matching process | ||
+ | # is repeated for the next message header | ||
+ | # line. | ||
+ | # | ||
+ | # For examples, see the EXAMPLES section at the end of this | ||
+ | # manual page. | ||
+ | # | ||
+ | # Postfix header or body_checks are designed to stop a flood | ||
+ | # of mail from worms or viruses; they do not decode attach- | ||
+ | # ments, and they do not unzip archives. See the documents | ||
+ | # referenced | ||
+ | # more sophisticated content analysis. | ||
+ | # | ||
+ | # Postfix supports four built-in content inspection classes: | ||
+ | # | ||
+ | # header_checks | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # mime_header_checks (default: $header_checks) | ||
+ | # | ||
+ | # only. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # nested_header_checks (default: $header_checks) | ||
+ | # | ||
+ | # email messages (except for the headers | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # body_checks | ||
+ | # These are applied to all other content, | ||
+ | # | ||
+ | # | ||
+ | # With Postfix versions before 2.0, all content after | ||
+ | # the initial message headers is treated as body con- | ||
+ | # tent. | ||
+ | # | ||
+ | # Note: message headers are examined one logical header at a | ||
+ | # time, even when a message | ||
+ | # Body lines are always examined one line at a time. | ||
+ | # | ||
+ | # COMPATIBILITY | ||
+ | # With Postfix version 2.2 and earlier specify " | ||
+ | # to query a table that contains case sensitive patterns. By | ||
+ | # default, | ||
+ | # | ||
+ | # TABLE FORMAT | ||
+ | # This document assumes that header | ||
+ | # are specified | ||
+ | # lookup tables. Usually the best performance | ||
+ | # with pcre (Perl Compatible Regular Expression) tables, but | ||
+ | # the slower regexp (POSIX regular expressions) | ||
+ | # more widely | ||
+ | # find out what lookup table types your Postfix system | ||
+ | # ports. | ||
+ | # | ||
+ | # The general format of Postfix regular expression tables is | ||
+ | # given below. | ||
+ | # flags | ||
+ | # respectively. | ||
+ | # | ||
+ | # / | ||
+ | # When /pattern/ matches the input string, | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # !/ | ||
+ | # When /pattern/ does not match the input string, | ||
+ | # | ||
+ | # | ||
+ | # if / | ||
+ | # | ||
+ | # endif Match the input string against the patterns between | ||
+ | # if and endif, if and only if the same input string | ||
+ | # also matches /pattern/. The if..endif can nest. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # if !/ | ||
+ | # | ||
+ | # endif Match the input string against the patterns between | ||
+ | # | ||
+ | # does not match /pattern/. The if..endif can nest. | ||
+ | # | ||
+ | # blank lines and comments | ||
+ | # Empty lines and whitespace-only lines are ignored, | ||
+ | # | ||
+ | # is a `#'. | ||
+ | # | ||
+ | # multi-line text | ||
+ | # A pattern/ | ||
+ | # | ||
+ | # a logical line. | ||
+ | # | ||
+ | # TABLE SEARCH ORDER | ||
+ | # For each line of message input, the patterns | ||
+ | # in the order as specified in the table. When a pattern is | ||
+ | # found that matches | ||
+ | # action | ||
+ | # inspected. | ||
+ | # | ||
+ | # TEXT SUBSTITUTION | ||
+ | # Substitution of substrings | ||
+ | # into the action string is possible using the conventional | ||
+ | # Perl syntax ($1, $2, etc.). | ||
+ | # string | ||
+ | # aren't followed by whitespace. | ||
+ | # | ||
+ | # Note: since negated patterns (those preceded by !) return | ||
+ | # a result when the expression does not match, substitutions | ||
+ | # are not available for negated patterns. | ||
+ | # | ||
+ | # ACTIONS | ||
+ | # Action names are case insensitive. They are shown in upper | ||
+ | # case for consistency with other Postfix documentation. | ||
+ | # | ||
+ | # DISCARD optional text... | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # ient without discarding the entire message, use the | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # DUNNO Pretend | ||
+ | # tern, and inspect the next input line. This action | ||
+ | # can be used to shorten the table search. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # as DUNNO. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.1 and later. | ||
+ | # | ||
+ | # FILTER transport: | ||
+ | # Write a content filter request to the queue file, | ||
+ | # | ||
+ | # plete message is received it will be sent through | ||
+ | # the specified external content filter. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Note: this action overrides the content_filter set- | ||
+ | # ting, and affects all recipients of the message. In | ||
+ | # | ||
+ | # the last one is executed. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # HOLD optional text... | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # it or releases it for delivery. | ||
+ | # text if specified, otherwise log a generic message. | ||
+ | # | ||
+ | # Mail that is placed on hold can be examined | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Note: use " | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # not expire within a few delivery attempts. | ||
+ | # | ||
+ | # Note: this action affects | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.0 and later. | ||
+ | # | ||
+ | # IGNORE Delete the current line from the input, and inspect | ||
+ | # the next input line. | ||
+ | # | ||
+ | # PREPEND text... | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # line, immediately | ||
+ | # triggered the PREPEND action. | ||
+ | # | ||
+ | # | ||
+ | # the input stream: | ||
+ | # header/body checks or address rewriting, and | ||
+ | # it does not affect the way that Postfix adds | ||
+ | # missing message headers. | ||
+ | # | ||
+ | # | ||
+ | # line, the prepended text must begin with a | ||
+ | # valid message header label. | ||
+ | # | ||
+ | # | ||
+ | # line text. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.1 and later. | ||
+ | # | ||
+ | # REDIRECT user@domain | ||
+ | # Write a message redirection request | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # This feature is available in Postfix 2.1 and later. | ||
+ | # | ||
+ | # REPLACE text... | ||
+ | # | ||
+ | # and inspect the next input line. | ||
+ | # | ||
+ | # This feature is available in Postfix 2.2 and later. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # replacement | ||
+ | # header label. | ||
+ | # | ||
+ | # | ||
+ | # stream. | ||
+ | # action, a replaced | ||
+ | # subject | ||
+ | # the way that Postfix | ||
+ | # headers. | ||
+ | # | ||
+ | # REJECT optional text... | ||
+ | # | ||
+ | # | ||
+ | # wise reply with a generic error message. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # tus codes. | ||
+ | # ning of optional text..., Postfix inserts a default | ||
+ | # | ||
+ | # | ||
+ | # WARN optional text... | ||
+ | # Log a warning with the optional text... (or log a | ||
+ | # | ||
+ | # This action is useful for debugging and for testing | ||
+ | # a pattern before applying more drastic actions. | ||
+ | # | ||
+ | # BUGS | ||
+ | # Empty lines never match, because some map types mis-behave | ||
+ | # when given a zero-length search string. | ||
+ | # may be removed for regular expression tables in a future | ||
+ | # release. | ||
+ | # | ||
+ | # Many people overlook the main limitations | ||
+ | # body_checks rules. | ||
+ | # | ||
+ | # o These rules operate on one logical message header | ||
+ | # or one body line at a time. A decision made for one | ||
+ | # line is not carried over to the next line. | ||
+ | # | ||
+ | # o If text in the message body is encoded (RFC 2045) | ||
+ | # then the rules need to be specified for the encoded | ||
+ | # form. | ||
+ | # | ||
+ | # o Likewise, | ||
+ | # 2047) then the rules need to be specified | ||
+ | # | ||
+ | # | ||
+ | # Message | ||
+ | # excluded from inspection. Examples of such message headers | ||
+ | # are From:, To:, Message-ID:, | ||
+ | # | ||
+ | # Message | ||
+ | # examined before they are deleted. Examples are: Bcc:, Con- | ||
+ | # tent-Length:, | ||
+ | # | ||
+ | # CONFIGURATION PARAMETERS | ||
+ | # body_checks | ||
+ | # | ||
+ | # body lines. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # body_checks_size_limit | ||
+ | # The amount of content | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # header_checks | ||
+ | # | ||
+ | # mime_header_checks (default: $header_checks) | ||
+ | # | ||
+ | # nested_header_checks (default: $header_checks) | ||
+ | # | ||
+ | # | ||
+ | # the initial message | ||
+ | # | ||
+ | # sage, and to the initial headers of attached | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # at a time, even when a message header spans multi- | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # disable_mime_input_processing | ||
+ | # While receiving mail, give no special treatment | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # that body_checks is applied to the remainder of the | ||
+ | # | ||
+ | # | ||
+ | # Note: when used in this manner, | ||
+ | # | ||
+ | # time. | ||
+ | # | ||
+ | # EXAMPLES | ||
+ | # Header pattern to block attachments | ||
+ | # extensions. | ||
+ | # fied, so that there is no need to collapse | ||
+ | # into | ||
+ | # [[: | ||
+ | # strings. | ||
+ | # | ||
+ | # / | ||
+ | # header_checks = pcre:/ | ||
+ | # | ||
+ | # / | ||
+ | # / | ||
+ | # ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe| | ||
+ | # hlp|ht[at]| | ||
+ | # inf|ins|isp|jse? | ||
+ | # \{[[: | ||
+ | # ops|pcd|pif|prf|reg|sc[frt]|sh[bsm]|swf| | ||
+ | # vb[esx]? | ||
+ | # REJECT Attachment name " | ||
+ | # | ||
+ | # Body pattern to stop a specific HTML browser vulnerability | ||
+ | # exploit. | ||
+ | # | ||
+ | # / | ||
+ | # body_checks = regexp:/ | ||
+ | # | ||
+ | # / | ||
+ | # / | ||
+ | # REJECT IFRAME vulnerability exploit | ||
+ | # | ||
+ | # SEE ALSO | ||
+ | # cleanup(8), canonicalize and enqueue Postfix message | ||
+ | # pcre_table(5), | ||
+ | # regexp_table(5), | ||
+ | # postconf(1), | ||
+ | # postmap(1), Postfix lookup table management | ||
+ | # postsuper(1), | ||
+ | # postcat(1), show Postfix queue file contents | ||
+ | # RFC 2045, base64 and quoted-printable encoding rules | ||
+ | # RFC 2047, message header encoding for non-ASCII text | ||
+ | # | ||
+ | # README FILES | ||
+ | # Use " | ||
+ | # tory" to locate this information. | ||
+ | # DATABASE_README, | ||
+ | # CONTENT_INSPECTION_README, | ||
+ | # BUILTIN_FILTER_README, | ||
+ | # BACKSCATTER_README, | ||
+ | # | ||
+ | # LICENSE | ||
+ | # The Secure | ||
+ | # software. | ||
+ | # | ||
+ | # AUTHOR(S) | ||
+ | # Wietse Venema | ||
+ | # IBM T.J. Watson Research | ||
+ | # P.O. Box 704 | ||
+ | # Yorktown Heights, NY 10598, USA | ||
+ | # | ||
+ | # | ||
+ | |||
+ | </ | ||
+ | ==== Headerchecks ==== | ||
+ | Wollen wir nun Nachrichten von bestimmten Absendern oder anderen Einträgen in den Headerzeilen generell blocken, so legen wir uns folgende Konfigurationsdatei **/ | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # Django : 2012-02-06 | ||
+ | # Kapitel 13.5 Filtern von eMails nach Inhalt | ||
+ | # In der Postfix-Konfigurationsdatei / | ||
+ | # body_checks = pcre:/ | ||
+ | # | ||
+ | # Nach dem Ändern der Datei ist ein service postfix reload durchzuführen! | ||
+ | # | ||
+ | # Die Nummern hinter dem REJECT tauchen später als SMTP-Error und auch im Mailserver-Log auf. | ||
+ | # Die auslösende Filter-Regel, | ||
+ | # | ||
+ | |||
+ | # Ausnahmeregelung für den sicheren IT-/ | ||
+ | # | ||
+ | # Domeus hat bis heute nicht den Unterschied zwischen Mailheader-To und | ||
+ | # SMTP-Envelope-To verstanden und fabriziert seit nunmehr über sieben Jahren in | ||
+ | # schöner Regelmäßigkeit Mailschleifen im vier/ | ||
+ | # | ||
+ | / | ||
+ | # | ||
+ | # Dauerhaft genutzte Regelungen: | ||
+ | # =============================================== | ||
+ | # [Immer mit aufsteiger Nummer sauber eintragen!] | ||
+ | # | ||
+ | If / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | Endif | ||
+ | # | ||
+ | # und das Ganze nach Header-From | ||
+ | # ============================== | ||
+ | # | ||
+ | If /^From:/i | ||
+ | /^From: .*Royal Club Casino.*/ | ||
+ | /^From: .*Euro Dice Casino.*/ | ||
+ | / | ||
+ | Endif | ||
+ | # | ||
+ | # generelle Filerregelungen nach den üblichen Verdächtigen | ||
+ | # ======================================================== | ||
+ | # | ||
+ | /^Date: .* 200[0-7]/ | ||
+ | /^Date: .* 19[0-9][0-9]/ | ||
+ | If / | ||
+ | /^X-Mailer: 0001/ | ||
+ | /^X-Mailer: Avalanche/ | ||
+ | /^X-Mailer: Crescent Internet Tool/ | ||
+ | /^X-Mailer: DiffondiCool/ | ||
+ | /^X-Mailer: E-Mail Delivery Agent/ | ||
+ | /^X-Mailer: Emailer Platinum/ | ||
+ | /^X-Mailer: Entity/ | ||
+ | /^X-Mailer: Extractor/ | ||
+ | /^X-Mailer: Floodgate/ | ||
+ | /^X-Mailer: GOTO Software Sarbacane/ | ||
+ | /^X-Mailer: MailWorkz/ | ||
+ | /^X-Mailer: MassE-Mail/ | ||
+ | /^X-Mailer: MaxBulk.Mailer/ | ||
+ | /^X-Mailer: News Breaker Pro/ | ||
+ | /^X-Mailer: SmartMailer/ | ||
+ | /^X-Mailer: StormPort/ | ||
+ | /^X-Mailer: SuperMail-2/ | ||
+ | Endif | ||
+ | |||
+ | |||
+ | </ | ||
+ | Damit Postfix das neue Regelwerk auch verwenden kann, ost ein reload des laufenden Daemon durchzuführen. | ||
+ | # service postfix reload | ||
+ | |||
+ | | ||
+ | ==== Bodychecks ==== | ||
+ | Wollen wir nun Nachrichten von bestimmten Absendern oder anderen Einträgen in den Headerzeilen generell blocken, so legen wir uns folgende Konfigurationsdatei **/ | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # Django : 2012-02-06 | ||
+ | # Kapitel 13.5 Filtern von eMails nach Inhalt | ||
+ | # In der Postfix-Konfigurationsdatei / | ||
+ | # body_checks = pcre:/ | ||
+ | # | ||
+ | # Nach dem Ändern der Datei ist ein service postfix reload durchzuführen! | ||
+ | # | ||
+ | # Die Nummern hinter dem REJECT tauchen später als SMTP-Error und auch im Mailserver-Log auf. | ||
+ | # Die auslösende Filter-Regel, | ||
+ | # | ||
+ | |||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | Damit Postfix das neue Regelwerk auch verwenden kann, ost ein reload des laufenden Daemon durchzuführen. | ||
+ | # service postfix reload | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | ===== max. Mailgröße definieren ===== | ||
+ | Über die nachfolgenden Parameter können wir definieren, wie groß einzelne eMails, einzelne MailDir-Files und wieviel wir bei einem Bounce, wenn er denn nötig werden sollte, zurück an den Absender schicken wollen. | ||
+ | All diese Festlegungen werden pber die **main.cf** vorgenommen. | ||
+ | # vim / | ||
+ | <code bash># Django : 2012-02-06 | ||
+ | # Maximale Nachrichtengröße einer Nachricht incl. der Headerinformationen: | ||
+ | # ( 52428800 = 50*1024*1024 ), darüber verweigert Postfix die Annahme. | ||
+ | # default: message_size_limit = 10240000 | ||
+ | message_size_limit = 52428800 | ||
+ | |||
+ | # Django : 2012-02-06 | ||
+ | # Maximale Mailboxgröße einer einzelnen Mailbox bzw. Maildir-Fiels. Darf nicht kleiner | ||
+ | # als die maximale Nachrichtengröße (message_size_limit) sein | ||
+ | # default: mailbox_size_limit = 10240000 | ||
+ | mailbox_size_limit = 52428800 | ||
+ | |||
+ | # Django : 2012-02-06 | ||
+ | # Anteil der Originalnachricht (Größe) die bei einem Bounce zurück an den Absender geschickt wird. | ||
+ | # default : bounce_size_limit = 50000 | ||
+ | bounce_size_limit = 8192 | ||
+ | </ | ||
+ | |||
+ | Anschließend starten wir unseren Postfix einmal durch. | ||
+ | # service postfix restart | ||
+ | ===== Ratelimiting DoS-Vermeidungsmöglichkeit ===== | ||
+ | Mit Hilfe des Moduls **anvil** ist Postfix in der Lage, basierend auf den Verbindungsstatistiken, | ||
+ | # grep anvil / | ||
+ | |||
+ | | ||
+ | |||
+ | In der Konfigurationsdatei **main.cf** tragen wir nun beu Bedarf folgende Parameter ein: | ||
+ | # vim / | ||
+ | <code bash># Django : 2012-02-06 | ||
+ | # maximale Zustellungen limitieren | ||
+ | # (DOS-Attacken verhindern) | ||
+ | # | ||
+ | # Basiszeiteinheit für die Kalkulation der rate-limits | ||
+ | anvil_rate_time_unit = 60s | ||
+ | # | ||
+ | # maximale Anzahl gleichzeitiger Verbindungen pro einliefernenden Host | ||
+ | # default : smtpd_client_connection_count_limit = 50 | ||
+ | smtpd_client_connection_count_limit = 20 | ||
+ | # | ||
+ | # maximale Anzahl von Verbindungsversuchen je definierter Zeiteinheit | ||
+ | # (anvil_rate_time_unit) pro einliefernden Host | ||
+ | smtpd_client_connection_rate_limit = 20 | ||
+ | # | ||
+ | # maximale Anzahl von erlaubten Empfänger Adressen je definierter Zeiteinheit | ||
+ | # (anvil_rate_time_unit) pro einliefernden Host | ||
+ | smtpd_client_recipient_rate_limit = 50 | ||
+ | # | ||
+ | # maximale Anzahl von erlaubten Anzahl von eMails je definierter Zeiteinheit | ||
+ | # (anvil_rate_time_unit) pro einliefernden Host | ||
+ | smtpd_client_message_rate_limit = 50 | ||
+ | </ | ||
+ | Zur Aktivierung starten wir unseren Mailserver einmal durch. | ||
+ | # service postfix restart | ||
+ | |||
+ | ===== SMTP verify ===== | ||
+ | Mit Hilfe des SMTP-Befehles **VRFY** ist es möglich, ohne die Verwendung des SMTP-Befehles **MAIL FROM** die Existenz eines Postfachs abzuprüfen. Will man diese Abfragemöglichkeit unterbinden, | ||
+ | # vim / | ||
+ | <code bash># Django : 2012-02-06 | ||
+ | # SMTP vrfy sperren | ||
+ | disable_vrfy_command=yes | ||
+ | </ | ||
+ | Anschließend starten wir den Mailserver zur Aktivierung einmal durch. | ||
+ | # service postfix restart | ||
+ | |||
+ | ===== Queue-Lifetime ===== | ||
+ | Mit unter ist es wünschenswert, | ||
+ | In der **main.cf** tragen wir hierzu folgende Zeilen ein. | ||
+ | # vim / | ||
+ | <code bash># Django : 2012-02-06 | ||
+ | # lifetime auf drei Tage runtersetzen | ||
+ | maximal_queue_lifetime_days = 3d # Defininiert die maximale Zeit, die der | ||
+ | # MX versuchen darf, eine Nachricht zuzustellen | ||
+ | delay_warning_time_hours = 0h # Legt fest, wieviel Zeit vergehen muss, bevor | ||
+ | # eine Warnung versendet wird | ||
+ | </ | ||
+ | Zum Aktivieren der Option starten wir den Mailserver einmal durch. | ||
+ | # service postfix restart | ||
+ | ====== Links ====== | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||
+ | |||