# Postfix verwendet falsche IP Adressen beim Versenden



## seraphim (20. Juli 2011)

Hallo
ich hab nen Debian Lenny mit Dovecot und BIND nach Anleitung aufgesetzt und nun das Problem, dass Postfix die falsche IP nimmt um EMails abzusenden.
Ich habe 10 IP Adressen zu meinem Server und für jede von denen ist eine Domain aktiv. Das Problem ist nun, dass Postfix eine beliebige IP für das Versenden nutzt, wodurch dann der RDNS auf die IP nicht mit dem Hostnamen in der Absender Mail Adresse überein stimmt. Anbieter wie AOL und auch einige andere verweigern bei falschen rDNS Einträgen die Annahme, was für mich dann ein Problem darstellt.

Wie kann ich Postfix dazu bringen die IP passend zum Hostnamen des Absenders aus der hosts Datei zu verwenden?


----------



## Till (20. Juli 2011)

Postfix versendet normalerweise nur über eine IP Adresse. Das sollte die des Hostnamns des Servers sein (wg. rdns / spam), der Absender spielt dabei keine Rolle. Wenn mehrere IP-Adressen auf die Netzwerkkarte gebunden sind, dann setzt Du mit:

smtpd_bind_address = 123.123.123.123

die IP Adresse in der Postfix main.cf, die dem Hostnamen des Servers entspricht und die auch als rdns gesetzt sein sollte.


----------



## seraphim (20. Juli 2011)

Postfix Bind Sender Domain To Dedicated Outgoing IP Address » KutuKupret
Die Anleitung habe ich grad befolgt jedoch keinen Erfolg gehabt. Postfix meckert auch nicht beim restart, aber die IP ist immer noch falsch...

Den letzten Schritt mit den 



> Don’t forget to create ip aliasing for each ip address in smtp_bind_address


 versteh ich noch nicht ganz, die smtp_bind_address sind doch schon in der master.cf festgelegt :/


----------



## seraphim (20. Juli 2011)

Postfix Bind Sender Domain To Dedicated Outgoing IP Address » KutuKupret
Die Anleitung habe ich grad befolgt jedoch keinen Erfolg gehabt. Postfix meckert auch nicht beim restart, aber die IP ist immer noch falsch...

Den letzten Schritt mit den 



> Don’t forget to create ip aliasing for each ip address in smtp_bind_address


 versteh ich noch nicht ganz, die smtp_bind_address sind doch schon in der master.cf festgelegt :/

//Edit: sry für Doppelpost bitte ersten löschen

Hab das mit dem Regex nun hinbekommen, weiß nun auch warum es nicht funzt: in den Debian Lenny Repos is 2.5.5 die aktuelle Version, unterstützt wird das ganze aber ers ab 2.7... und 2.8 is die aktuelle stable...


----------



## Till (21. Juli 2011)

> versteh ich noch nicht ganz, die smtp_bind_address sind doch schon in der master.cf festgelegt :/


Du musst sie in der main.cf festlegen, nicht der master.cf

Solch ein setup wie in dem Tutorila beschrieben ist nicht üblich und macht Dir unter umständen mehr Probleme als es hilft. Ändere die Einstellungen bitte mal so wie ich es Dir gesagt habe, denn das ist das übliche Setup für hosting Server und Deine Sendeprobleme sind damit behoben.


----------



## seraphim (21. Juli 2011)

Hab alles aus dem tutorial rückgängig gemacht, funktioniert aber nicht (ja ich habe Postfix neu gestartet).

Was mich aber ebenfalls irritiert:
main.cf:


> # TLS parameters
> smtpd_tls_cert_file = /etc/postfix/smtpd.cert
> smtpd_tls_key_file = /etc/postfix/smtpd.key
> smtpd_use_tls = yes
> ...


postconf -d | grep tls


> smtp_enforce_tls = no
> smtp_sasl_tls_security_options = $smtp_sasl_security_options
> smtp_sasl_tls_verified_security_options = $smtp_sasl_tls_security_options
> smtp_starttls_timeout = 300s
> ...


Woran liegt das?

Übrigends ist mir aufgefallen, dass ich via telnet zwar nicht als open Relay zur Verfügung stehe (was ja auch gut ist), jedoch ich ohne Probleme als Absenderadresse eine nicht existierende xyz@meinedomain.net EMail Adresse verwenden kann um EMails an lokale Empfänger zu senden. Da mein Setup bisher ein Standardsetup war und ich alles wieder in den Urzustand gebracht habe könnte es sein, dass dies eine Lücke ist die einer Schließung bedarf.

Sys: Debian Lenny
ISPConfig 3.0.3.3

Die Sache mit der absendenden IP lasse ich für das erste ruhen, dazu müsste ich Postfix komplett erst auf 2.8 bringen wozu mir grad der Nerv fehlt.
AOL nimmt inzwischen meine EMails an, lag daran dass die absendende IP gar keinen rDNS Eintrag hatte.

Dennoch: Wie kann ich die obige Lücke schließen?


----------



## Till (21. Juli 2011)

> Woran liegt das?


Du verwendest den falschen Befehl zum abfragen der Postfix Configuration. Der korrekte Befehl ist:

postconf -n | grep tls



> Übrigends ist mir aufgefallen, dass ich via telnet zwar nicht als open Relay zur Verfügung stehe (was ja auch gut ist), jedoch ich ohne Probleme als Absenderadresse eine nicht existierende xyz@meinedomain.net EMail Adresse verwenden kann um EMails an lokale Empfänger zu senden. Da mein Setup bisher ein Standardsetup war und ich alles wieder in den Urzustand gebracht habe könnte es sein, dass dies eine Lücke ist die einer Schließung bedarf.


Das ist keine Lücke sondern ganz normal bei SMTP. Lies Dir mal die RFC's durch. Bei email ist es wie die normale Post auch, da kann man beliebige Absender drauf schreiben, der "Briefkasten" kontrolliert das nicht.

Wenn Du bei Postfix strnege Checks einstellen willst, kannst Du unter anderem diese Optionen in dre recipient_restrictions einfügen:

reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_recipient_domain,reject_non_fqdn_recipient,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_unknown_recipient_domain

Siehe auch:

http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions

Und dann kannst Du auch noch sender restrictions einrichten:

http://www.postfix.org/postconf.5.html#smtpd_sender_restrictions


----------



## seraphim (21. Juli 2011)

Und wie kann ich eine Identifizierung gegenüber dem Postfix erzwingen? Mit der wäre diese Möglichkeit ja ausgeschlossen da keiner mehr ohne Mail Account auf dem System generell Mails versenden könnte.


----------



## Till (21. Juli 2011)

Es kann niemand ohne mail account über das System mails verschicken (stichwort open relay). Das ist immer standardmäßig so konfiguriert, du hast es daher wahrscheinlich nur falsch getestet. Wenn Du dieses feature testen willst, musst Du dich mit einem externen mailclient mit dem Server verbinden (nicht webmail und nicht aus dem lokalen netz, falls Dein Server in einem privaten lokalen Netz steht) und dann eine email an eine externe Emailadresse versenden (z.b. einen gmail account). dann woird der server diesen Versuch unterbinden, wenn Du Dich nicht vorher per smtp-auth mit Benutzername und Passwort authentifiziert hast.


----------



## seraphim (21. Juli 2011)

Ich glaub du verstehst nit was ich meine, ich rede nicht vom Dasein als open relay sondern von folgendem Szenario:
ich (über Internet) -> telnet auf port 25
ich gebe als absender eine adresse xyz@domain.net an, domain.net gehört zu dem Server
ich gebe als ziel root@domain.net an, mail wird an root@domain.net gesendet. Als Absender wird xyz@domain.net anzeigt -> eine unechte Absenderadresse kann ohne jedes Hindernis unter beliebigem Präfix EMails an lokale Empfänger senden.


----------



## Till (21. Juli 2011)

Antwort siehe Post #7 in diesem Thread.


----------



## miglosch (22. Dez. 2012)

*Noch mal zurück zum Thema...*



Zitat von Till:


> Postfix versendet normalerweise nur über eine IP Adresse. Das sollte die des Hostnamns des Servers sein (wg. rdns / spam), der Absender spielt dabei keine Rolle. Wenn mehrere IP-Adressen auf die Netzwerkkarte gebunden sind, dann setzt Du mit:
> 
> smtpd_bind_address = 123.123.123.123
> 
> die IP Adresse in der Postfix main.cf, die dem Hostnamen des Servers entspricht und die auch als rdns gesetzt sein sollte.


Ich habe im Moment ein massives Problem mit nicht zugestellten Mails, weil die PTR Einträge für zwei meiner drei IPs nicht existieren.

Postfix scheint sich trotz festgelegter IP via smtpd_bind_address = 123.123.123.123 einfach irgendeine IP für den Versand zu schnappen.

Ich habe die Zeile

```
-o smtpd_bind_address=94.102.209.252
```
in der master.cf eingetragen, mal sehen, ob das einen Effekt hat.


----------



## Brainfood (11. Jan. 2013)

in der /etc/postfix/master.cf gilt:


```
127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        [B]-o smtpd_bind_address=127.0.0.1[/B]
```
in der /etc/postfix/main.cf

kommt nicht smtpd_ sondern smtp_ rein


```
smtp_bind_address = xxx.xxx.xxx.xxx
smtp_bind_address6 = ::
```


----------



## miglosch (23. Apr. 2013)

*Danke... (neues Problem...)*

Hallo und vielen Dank für die Antwort.

Im ersten Moment konnte ich mit der Antwort nichts anfangen, aber wer (genau) lesen kann ist bekanntlich im Vorteil... 
Die Einträge in der main.cf und der Master.cf sind entsprechend angepasst, nur habe ich inzwischen ein anderes Problem...

Im mail.warn tauchen folgende Einträge auf:

```
Apr 23 17:07:07 ispc amavis[17083]: (!)DENIED ACCESS from IP XXX.XXX.XXX.XXX, policy bank ''
```
leider habe ich bislang nichts gefunden, was mir wirklich weiterhilft. Ein Ansatz aus dem englischsprachigen HOWTOFORGE erwähnt, dass man die Server-IP in der main.cf mit 

```
-o mynetworks=[external_ip]
```
 eintragen kann, dafür dann aber andere nette Fehlermeldungen im Log findet.

Dieser Eintrag spricht sogar davon, dass man scheinbar keine Mails mehr versenden kann, wenn man die in der main.cf eine IP auf SMTP bindet...
Kann ja nicht sein, oder?


----------



## Brainfood (6. Mai 2013)

Einmal zu Verständnis:

smtp = definiert den Client/Server Modus (dient nur für den Verkehr zwischen Mailservern)
smtpd = (daemon) definiert den Server Modus (für Enduser)

Mailsender (smtp) (beliebiger Quellport) -> Mailserver1 (smtpd) (25/465/587) = Mailserver1 (smtp) (25) <- Weiterleitung -> Mailserver2 (smtp) (25) => lokales Postfach => POP3/IMAP (Mailempfänger) (110/143/993/995)

Beim smtpd definierst du alle möglichen Arten der Authentifizierung, z.b. Mailsender muss sich anmelden (SMTP-AUTH), kann verschlüsselte Leitungen benutzen (SMTPS/Submission 465/587 mit SSL/TLS) usw ...

Beim smtp (Client/Server-Modus) entfallt das Ganze, was auch logisch ist, denn sonst müsste dein Mailserver per "Account" auf sämtlichen Fremd-Mailservern eingerichtet/autorisiert werden um Mails zustellen zu können.

schau ich meine /etc/postfix/main.cf mal durch, springen mir diese Einträge ins Auge:


```
smtpd_banner = $myhostname ESMTP
# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
### ### ### PLITC ### ### ###
smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
        reject_unauth_destination,
        reject_invalid_hostname,
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
	reject_unverified_recipient,
        reject_rbl_client dnsbl.ahbl.org,
        reject_rbl_client cbl.abuseat.org,
        reject_rbl_client dul.dnsbl.sorbs.net,
        reject_rbl_client bl.spamcop.net,
        reject_rbl_client zen.spamhaus.org
###
### ### ### PLITC ### ### ###
smtpd_tls_security_level = may
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
smtpd_client_message_rate_limit = 100
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
#
smtpd_tls_exclude_ciphers = SSLv2, aNULL, ADH, eNULL
#
smtpd_tls_ciphers = high
#
strict_rfc821_envelopes = yes
#
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname
```
dagegen die smtp (Client/Server Modus) Einträge:


```
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_bind_address6 = 2a01:XXXX:XXXX:XXXX::10
smtp_helo_name = $myhostname
```
Um deinen Mailserver also nicht unbrauchbar zu machen, sollten niemals solche Einträge wie:


```
#
# smtp_use_tls = yes
# smtp_enforce_tls = yes
# smtp_tls_enforce_peername = no
#
```
aktiv sein 

Mit *smtp_bind_address* bzw *smtp_bind_address6* legt du fest, unter welcher Absender-IP deine Mails verschickt werden. (smtp Client/Server Modus)

Meine Kisten haben jeweils immer nur 1 IPv4 Adresse, jedoch mehrere IPv6 Adressen, damit nun nicht wahllos per "Zufall" über irgendeine IPv6 Adresse die Daten verschickt werden, kannst du den Client/Server-Modus darauf binden.

Schließlich möchte man nicht zwangsläufig "vielen" IPv6 Adressen den selben PTR / ReverseDNS Namen geben.

Vergisst man smtp_bind_address/smtp_bind_address6 zu setzen, kann schnell der eigene Mailserver auf Blacklisten laden - siehe *RFC 2544*

127.0.0.1 (localhost) dient nur für die Zwischenschichten (AMAVIS/ClamAV) Viren-Check/Spam-Filter und Konsorten ...

Mit *mynetworks* erlaubst du Mailsendern, auch ohne smtpd Kriterien, den direkten Verstand von Mails.

Packst du also deine "öffentliche" IP Adresse rein, könnte ein Angreifer mit gehacktem Webaccount ein Script laufen lassen, was deine externe Schnittstelle aufgreift und SPAM verschleudert.

Das selbe gilt für jeglichen Traffic von diesen freigeschalteten IPs, sprich Port-Forwarding per rinetd usw.

mynetworks ist wirklich mit Vorsicht zu genießen und sollte nur von glaubwürdigen Client-IPs verwendet werden.

Da ich unteranderem Sun Server verwende und die "stinkendalten" ALOM/ILOM Versionen kein SMTP-AUTH unterstützen, wurden diese per mynetworks freigeschaltet.

Nach dem ISPConfig Perfect Setup läuft der ganze Mailverkehr nur über Port 25, es bedarf also etwas nachträglicher Handarbeit um Postfix über 465/587 den Clients anbieten zu können (erste Anhaltspunkte habe ich dir mit den oben genannten Config-Einträgen gegeben)

Viele Provider/Internetcafés etc. blockieren aus Prinzip den Traffic über Port SMTP 25 und wünschen einfach den SMTP-AUTH Zwang unter 465/587 (sofern der Ziel-Mailserver dafür fit ist  )


----------



## Brainfood (6. Mai 2013)

vi /etc/postfix/master.cf


```
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
### ### ### PLITC ### ### ###
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
### ### ### PLITC ### ### ###
#
pickup

...

amavis unix - - - - 2 smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtpd_bind_address=127.0.0.1
```
Port TCP 465/587 per ISPConfig Firewall freischalten.

Ein paar Konfig-Tipps findet du auch bei mir unter: Mini-HowTos


----------



## ramsys (13. Mai 2013)

Man kann ja im Multiserver-Setup direkt bei der Installation von Postfix die Verwendung eines SMTP-Relay angeben (_Internet mit Smarthost/Satellite System_) oder die Standard-Installation auswählen (_Internet Site_) und später im ISPConfig3 einen Relayhost mit Benutzer und Passwort eintragen.

Was sind hier genau die Unterschiede bzw. gibt es eine empfohlene Vorgehensweise?


----------



## Brainfood (13. Mai 2013)

Bei der "reinen" Postfix-Installation (apt-get install postfix) immer _Internet Site_ verwenden.

Die ISPConfig3 Installation überschreibt sowieso die /etc/postfix/main.cf

Nach erfolgreichem ISPConfig Setup solltest du eigentlich  -> dann "ausschließlich" nur die Einstellungen per Interface abändern.

... manuelle Anpassungen sind Geschmackssache ...

Persönlich fummel ich mir manuell immer recht viel die Configs zurecht (musst in jedem Multi-Server-Setup dann immer, bei einem ISPConfig3 Update/grade, ein Backup ... der zuvor geänderten Inhalte ... im Petto haben)


----------



## ramsys (13. Mai 2013)

Zitat von Brainfood:


> Bei der "reinen" Postfix-Installation (apt-get install postfix) immer _Internet Site_ verwenden.


Okay, vielen Dank. Ich hatte das hier Forum aber auch schon anders gelesen, daher nochmal die Rückfrage.

Wenn ich in ISPConfig3 -> Serverkonfiguration den Relayhost angebe, muss dieses Postfach auf dem Mailserver ja angelegt sein. Bei der direkten Eingabe der IP in den Configfiles benötigt es keine Authentifizierung. Dann wäre das der wesentliche Unterschied?


----------



## Brainfood (13. Mai 2013)

Genau

Als Beispiel 1:


```
relayhost = auth.smtp.hauptserver.de
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous
```
Der RelayHOST (hauptserver.de) wird über die SASL AUTH gefahren ...

Du kannst natürlich auch ein externes / "offenes" Relay benutzen:

Beispiel2: 


```
(Server2)
smtpd_banner = mx2
relayhost = mx1

(Server1)
hat SMTP_AUTH an, aber die IP von mx2 als mynetworks=(IP von mx2) eingetragen
```
Im Bespiel 2 muss also kein Postfach mit aktivem AUTH gegen SASL/MAPS/Dovecot etc. authentifiziert werden ...


----------



## ramsys (14. Mai 2013)

Hallo Brainfood,

vielen Dank für Dein Feedback


----------



## Brainfood (18. Mai 2013)

simples Beispiel:


```
.......................................
      :                Postfix              :
   ----->smtpd \                            :
      :         -pre-cleanup-\       /local---->
   ---->pickup /              -queue-       :
      :             -cleanup-/   |   \smtp----->
      :     bounces/    ^        v          :
      : and locally     |        v          :
      :   forwarded   smtpd  amavisfeed     :
      :    messages   10025      |          :
      ...........................|...........
                        ^        |
                        |        v
            ............|...............................
            :           |   $inet_socket_port=10024    :
            :           |                              :
            : $forward_method='smtp:[127.0.0.1]:10025' :
            : $notify_method ='smtp:[127.0.0.1]:10025' :
            :                                          :
            :    amavisd-new                           :
            ............................................
```


----------



## Brainfood (20. Mai 2013)

@miglosch

ich kann jetzt diesen "fuck up" nachvollziehen:


```
May 20 21:23:30 mx1 amavis[27336]: (27336-05) (!)DENIED ACCESS from IP XXX.XXX.XXX.XXX, policy bank ''
May 20 21:23:30 mx1 postfix/smtp[30412]: 80AE7AE0059: to=<localuser@domain.tld>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.2, delays=1.1/0.02/0.01/0, dsn=4.4.2, status=deferred (lost connection with 127.0.0.1[127.0.0.1] while receiving the initial server greeting)
```
Einfach "smtp_bind_address" aus der /etc/postfix/main.cf *entfernen/auskommentieren*!

smtp_bind_address6 macht bei mir keinerlei Probleme und ist auch bei mehreren IPv6 Adressen ohne RDNS Eintrag nötig.

- Das smtp_bind_address Problem -> Betrifft jetzt aber alle Kisten mit mehreren IPv4 Adressen -


----------



## Till (22. Mai 2013)

> Die ISPConfig3 Installation überschreibt sowieso die /etc/postfix/main.cf


Das stimmt so nicht ganz. Die Datei wird weder durch ispconfig überschrieben noch erstezt. Was ispconfig macht ist dass es mittels des dafür von postfix vorgesehenen Befehls "postconf" Einstellungen vornimmt, und zawr nur die die ispconfig selbst benötgt. Wenn Du einen dieser parameter manuell geändert hast dann wird er natürlich überschrieben, andere parameter in der main.cf betrifft das aber nicht.


----------



## Brainfood (22. Mai 2013)

Ok Till, mit was die Postfix Config abgeändert wird, spielt nicht so die Rolle für mich, mit den Standardeinstellungen bin ich jedenfalls nicht ganz so glücklich.

So schaut es bei mir aus, zumindest funktionieren die Kisten sauber:


```
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

### ### ### PLITC ### ### ###
delay_warning_time = 6h
bounce_queue_lifetime = 12h
maximal_queue_lifetime = 12h
### ### ### PLITC ### ### ###

readme_directory = /usr/share/doc/postfix

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = servername.domain.tld
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
myorigin = /etc/mailname
mydestination = servername.domain.tld, localhost, localhost.localdomain
relayhost = 
### ### ### PLITC ### ### ### servername.domain.tld 212.XXX.XXX.XXX #
### ### ### PLITC ### ### ### servername.domain.tld 80.XXX.XXX.XXX #
mynetworks = 127.0.0.0/8 [::1]/128 [fe80::]/10 212.XXX.XXX.XXX 80.XXX.XXXX.XXX
### ### ### PLITC ### ### ### 127.0.0.0/8 [::1]/128 212.XXX.XXX.XXX 80.XXX.XXX.XXX 192.168.250.0/24 [fe80::]/10 [2001:XXXX:XXXX::]/48 #
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
### amavis[27336]: (!)DENIED ACCESS
# smtp_bind_address = 85.XXX.XXX.XXX
smtp_bind_address6 = 2a01:XXXX.XXXX.XXXX::10
html_directory = /usr/share/doc/postfix/html
virtual_alias_domains = 
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
### ### ### PLITC ### ### ###
smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
        reject_unauth_destination,
        reject_invalid_hostname,
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
	reject_unverified_recipient,
        reject_rbl_client dnsbl.ahbl.org,
        reject_rbl_client cbl.abuseat.org,
        reject_rbl_client dul.dnsbl.sorbs.net,
        reject_rbl_client bl.spamcop.net,
        reject_rbl_client zen.spamhaus.org
###
### http://www.heinlein-support.de/upload/mk4/3-06_Best-Practice-fuer-stressfreie-Mailserver.pdf
###
### Microsoft Fail: ohne reject_unknown_hostname
### reject_unknown_reverse_client_hostname - ist weniger restriktiv als - reject_unknown_client
###
### smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination, reject_rbl_client zen.spamhaus.org
###
### INFO: reject_rbl_client zen.spamhaus.org #
###
### ### ### PLITC ### ### ###
smtpd_tls_security_level = may
#
### das selbe wie - RFC 2487 ###
# smtpd_use_tls = yes
# smtpd_enforce_tls = no
# smtpd_tls_auth_only = yes
### das selbe wie ###
#
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_transport = dovecot
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks
nested_header_checks = regexp:/etc/postfix/nested_header_checks
body_checks = regexp:/etc/postfix/body_checks
owner_request_special = no
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
message_size_limit = 0
#
### ### ### PLITC ### ### ###
# smtpd_tls_mandatory_protocols = SSLv3, TLSv1
# smtpd_tls_mandatory_ciphers = high
# smtpd_tls_cipherlist = TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH
# smtp_tls_cipherlist = TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH
# smtpd_tls_protocols = TLSv1
# smtpd_tls_cipherlist = TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH
# smtpd_tls_mandatory_protocols = TLSv1
# smtp_tls_mandatory_ciphers = TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH
#
smtpd_tls_exclude_ciphers = SSLv2, aNULL, ADH, eNULL
#
smtpd_tls_ciphers = high
#
strict_rfc821_envelopes = yes
resolve_numeric_domain = no
#
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname
#
# smtp_use_tls = yes
# smtp_enforce_tls = yes
# smtp_tls_enforce_peername = no
#
smtp_helo_name = $myhostname
#
inet_protocols = all
#
# Outlook - fix stupid broken clients
smtpd_command_filter=pcre:/etc/postfix/smtpd_command_filter_fix_broken_clients.pcre
#
### ### ### PLITC ### ### ###
#
# EOF
```


----------



## ramsys (11. Juni 2013)

In einem Multiserver-Setup ist auf dem Webserver (kein Mailserver) wegen mail() zusätzlich postfix installiert (nur apt-get install postfix). Sollte bei der ISPConfig3-Installation dann trotzdem "Configure Mail" aktiviert werden oder ist das nur auf einem kompletten Mailserver notwendig?


----------



## Brainfood (11. Juni 2013)

Ja, sofern du Postfix über ISPConfig verwalten möchtest ...

Doch wozu ein kompletten MTA einrichten, wenn du von der WebBüchse einfach über PHP SMTP [mail function] oder dem schlanken mailsend (https://code.google.com/p/mailsend/) als sendmail alias dein Zeug über den externen Mailserver schicken könntest?

In letzter Zeit bin ich von dem Tripp runtergekommen überall ISPConfig einsetzen zu wollen ... der Wechsel von Debian 6 auf Debian 7 hat mir wieder klar gemacht, warum ich mich nie so richtig mit diesem "Wir sind die geilen Hipster Linux Boys, die alles nach belieben ändern was ihnen in den Sinn kommt" anfreunden konnte ...


Bei mir laufen jetzt nur noch eine handvoll ISPConfig Kisten, lediglich zur reinen Konfig-Verwaltung, als Slaves wurden Dummy ISPConfigs einrichtet, nach dem ISPConfig Join Master/Slave Mode (Multiserversetup) wieder gelöscht und durch etwas gefrickel mit soliden FreeBSD Servern ersetzt ...
Damit kenn ich mich aus, ich liebe einfach ZFS und den OpenBSD PF ...
und da sich der ganze Web/Mail/MySQL Quatsch jetzt schick über ISPConfig verwalten lässt, laufen bei mir so viele Dienste "dediziert" wie nur möglich ...


----------



## Till (11. Juni 2013)

Zitat von ramsys:


> In einem Multiserver-Setup ist auf dem Webserver (kein Mailserver) wegen mail() zusätzlich postfix installiert (nur apt-get install postfix). Sollte bei der ISPConfig3-Installation dann trotzdem "Configure Mail" aktiviert werden oder ist das nur auf einem kompletten Mailserver notwendig?


Ich würde dann mail in ispconfig nicht für den webserver konfigurieren. apt fragt ja nach wie der Postfix Server konfiguriert werden soll, wähle dort smarthost aus und gib die IP bzw. den Hostnamen des mailservers an. Auf dem mailserver fügst Du in der main.cf die IP Adresse des webservers unter mynetworks hinzu und startest postfix neu.

P.s. Sorry ramsys, ich hatte meine Antwort vorhin aus Versehen in Deinen Post geschrieben anstatt ihn zu quoten. Hab es gerade erst gesehen als Brainfood geantwortet hatte


----------

