Beiträge zu “postfix”

Postfix Subaddressing: Schlagworte für Mailadressen

Ich möchte ab sofort Mailadressen verwenden aus denen ich erkennen kann, bei welcher Webseite ich diese verwendet wurde. Damit könnte ich im Falle eines Databreach herausfinden wo ich eventuell ein Kennwort verändern muss. Natürlich möchte ich nicht dafür X verschiedene Postfächer einrichten sondern alle Nachrichten sollen in meinem eigentlichen Postfach landen.

Technisch bezeichnet man das als address tagging, plus-addressing, plus-forwarding, sub-addressing oder sub-aliassing. In Postfix geht das einfach über einen Schalter

 vi /etc/postfix/main.cf
     recipient_delimiter = +_

Neben dem normalen “delimiter” Pluszeichen habe ich noch den Unterstrich dazu gefügt. Es scheint so zu sein das einige Anmeldedialoge das + Zeichen nicht als zulässiges Zeichen bewerten. Da ich keine Underscores in meinem Namen habe kann ich auch den verwenden.

Auch “Mehrfachtagging” scheint zu gehen. Hagen.Bauer_news_forum1@caserio.de So habe werde ich dann im Thunderbird Regeln erstellen die mir alle Newslisten in einen Folder sortieren. Kommt mir auf eine Adresse zu viel Müll kann ich diese auch direkt über Regeln in den Papierkorb schicken.

19.1.19
Weitere Beiträge zu: postfix  

Sehr gute Anleitung für Mailserver Setup

Falls Ihr einen Mailserver auf Debian / Ubuntu aufsetzten wollte möchte ich euch das Howto von Thomas Leistner ans Herz legen.

Sehr gut gemacht und mit tollen Erklärungen. Hat bei mir mit Debian 8 auch geklappt.

24.4.16
Weitere Beiträge zu: postfix   dovecot   dkim  

Postfix: MX not found

Bei einem neu aufgesetzten Server überraschte mich beim ersten Versenden einer Testmail im Logfile die folgende Nachricht

 postfix/smtp[9555]: 67AEE600E0: to=xxx@good-domain.com>, relay=none, delay=0.05, delays=0.05/0/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=good-domain.com type=MX: Host not found, try again)

Die Domain war ok. Das Problem war recht einfach. Ich hatte die DNS Einträge in der resolv.conf nachträglich erst eingetragen. Nur verwendet Postfix eine andere Datei.

Richtet man in

/var/spool/postfix/etc/resolv.conf

auch noch den Namesserver ein dann klappt es

28.5.15
Weitere Beiträge zu: postfix  

Postfix: no valid IP address found: smtp

Keine Ahnung aber auf einmal tauchte auf einem meiner Entwicklungsserver im Postfix log diese Meldung auf

postfix/master[9284]: fatal: /etc/postfix/master.cf: line 28: no valid IP address found: smtp

Am Ende bin ich über diesen Beitrag auf die Lösung gekommen.

Na fällt es euch auf?

ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 00:02:55:c7:77:2d  
          inet Adresse:192.168.1.15  Bcast:192.168.1.255  Maske:255.255.255.0
          inet6-Adresse: fe80::202:55ff:fec7:772d/64 G�ltigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:4041 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2763 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenl�nge:1000 
          RX bytes:1075745 (1.0 MiB)  TX bytes:774951 (756.7 KiB)

Kein loopback Device

In /etc/network/interfaces steht

# The loopback network interface
    auto lo eth0
    iface lo inet loopback

    # The primary network interface
    allow-hotplug eth0
    iface eth0 inet dhcp

Da ist hinter dem “lo” ein “eth0” zuviel. Macht man das weg klappt es mit dem lo device

ifconfig lo up
ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 00:02:55:c7:77:2d  
          inet Adresse:192.168.1.15  Bcast:192.168.1.255  Maske:255.255.255.0
          inet6-Adresse: fe80::202:55ff:fec7:772d/64 G�ltigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:4237 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2851 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenl�nge:1000 
          RX bytes:1093569 (1.0 MiB)  TX bytes:788039 (769.5 KiB)

 lo       Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 G�ltigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenl�nge:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Und dann auch wieder mit Postfix

16.1.15
Weitere Beiträge zu: postfix  

Postfix "Satellite" Server mit Ansible verwalten

Folgendes Ansible Playbook werde ich verwenden um auf Entwicklungs- und Testservern den SMTP Server Postfix einzurichten. Die Konfiguration soll so erfolgen das alle Mails über einen Google Mail Account gerouted werden. Die Idee habe ich im wesentlichen von hier übernommen. Nur habe ich die Anmeldung mit Mandrill nicht hinbekommen.

Zuerst wird die Software installiert, dann die Kennwörter für Google eingerichet und die notwendigen Konfigurationsänderung vorgenommen.

Hier das Playbook

---
- hosts: dev-server
  sudo : yes
  tasks:
  - name: Installs postfix mail server
    apt: pkg=postfix state=installed update_cache=true
    notify:
    - start postfix
  - name: Upload gmail authentication info
    copy: src=postfix-gmail-password dest=/etc/postfix/sasl_passwd mode=0600 owner=root group=root
    register: gmail
    notify:
     - postmap sasl_passwd
  - name: remove empty mailrelay line
    lineinfile: dest=/etc/postfix/main.cf line="relayhost = " state=absent
  - name: Append gmail relay config
    lineinfile: 
      dest=/etc/postfix/main.cf
      line=""
    with_items:
      - { line: 'smtp_sasl_auth_enable = yes' }
      - { line: 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd' }
      - { line: 'smtp_sasl_security_options = noanonymous' }
      - { line: 'smtp_use_tls = yes' }
      - { line: 'relayhost = [smtp.gmail.com]:587' }  
      - { line: 'smtp_tls_security_level = may' }
    notify: 
      - restart postfix
   handlers:
  - name: start postfix 
    service: name=postfix state=started
  - name: make sure postfix user owns postfix dir 
    command: sudo chown postfix /etc/postfix
  - name: postmap sasl_passwd
    command: postmap /etc/postfix/sasl_passwd
    when: gmail|success
  - name: restart postfix
    service: name=postfix state=restarted

Das Template für die Anmeldeinformation

vi postfix-gmail-password

  [smtp.gmail.com]:587 user@gmail.com:password-for-gmail

Aufgerufen wird das dann einfach mit

 ansible-playbook postfix.yml

und schon wird auf allen Entwicklungsservern die gleiche Postfix Konfiguration verteilt.

17.10.14
Weitere Beiträge zu: postfix   Ansible  

Eine Postfix Whitelist für die Mailserver von T-Online

Heute habe ich per Zufall in den Logfiles gesehen das mal wieder eine Mail von einem T-Online Absender als Spam abgelehnt worden ist.

NOQUEUE: reject: RCPT from mailout04.t-online.de[194.25.134.18]: 554 5.7.1 Service unavailable; Client host [194.25.134.18] blocked using bl.spamcop.net; Blocked - see http://www.spamcop.net/bl.shtml?194.25.134.18; from=<xxxxxxx@t-online.de> to=<kontakt@mydomain.de> proto=ESMTP helo=<mailout04.t-online.de>

Ich verwende einige Dienste zum Reporten von Spammern und es passiert immer wieder das auch die T-Online Server auf diese schwarzen Listen gelangen. Man kann damit natürlich unterschiedlich umgehen aber da in unserem Fall auch Mails von Kunden darunter leiden gehe ich lieber das Risiko der einen oder anderen Spam Mail ein als eine Kundenanfrage zu verlieren.

Deswegen möchte ich die T-Online Server “freischalten”. Die Adressen der Server findet man hier

Für den Mailserver Postfix ist die Prozedur recht einfach. Alle Adressen in eine Whitelist eintragen und umwandeln

vi /etc/postfix/whitelist

   mailout00.t-online.de
   mailout01.t-online.de
   mailout02.t-online.de
   ....

postmap /etc/postfix/whitelist 

Und dann in der Konfigurationsdatei von postfix diese Datei so “check_client_access hash:/etc/postfix/whitelist” in dem Parameter smtpd_recipient_restrictions vor die “reject_rbl_client” Einträge einfügen.

Dann nur noch postfix neu starten.

9.7.14
Weitere Beiträge zu: postfix   Spam  

Dovecot und Postfix mit einem StartSSL Zertifikat verwenden

Bisher habe ich für meinen Postfix und Dovecot Server ein selbst signiertes Zertifikat verwendet. Aus verschiedenen Gründen wollte ich dies ablösen. Startssl.com bietet kostenlose Zertifikate. Der Prozess hat sich für mich in drei Stufen aufgeteilt. Anmeldung, Validierung der Domain, Schlüsselpaar generieren und den Schlüssel zertifizieren. Die Beschreibung basiert auf dem Dokument von Heise.de und einem Blogeintrag auf sandboxblog.de

Zuerst die Validierung der Domain

201212-cert-val1.png201212-cert-val2.png201212-cert-val3.png201212-cert-val4.pngAn eine dieser Addressen wird eine Mail mit einem Konfirmation Code gesendet. Diesen gibt man dann auf der nächsten Seite ein.201212-cert-val5.png201212-cert-val6.png

Schlüsselpaar generieren

Jetzt muss ein schlüsselpar generiert werden

openssl genrsa -out caserio-de.key 2048
Generating RSA private key, 2048 bit long modulus
..........+++

und dann wird ein Certification Signing Request generiert.

openssl req -new -key caserio-de.key -out caserio-de.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:NRW
Locality Name (eg, city) []:Meckenheim
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Caserio.de
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:Hagen Bauer
Email Address []:Hagen.Bauer@caserio.de

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Die CSR Datei brauchen wir gleich wieder bei Startssl.com

Schlüssel Zertifizieren

So jetzt geht es weiter bei StartSSL.com im Ceritification Wizard

201212-cert-st1.pngDen nächsten Schritt überspringen wir den wir wollen ja das eben generierte Schlüssel verwenden.

201212-cert-st2.pngJetzt den Inhalt der CSR Datei reinpasten

201212-cert-st3.png201212-cert-st4.png201212-cert-st5.pngHier habe ich den Namen des Mail Server angegeben. Normalerweise soll man hier www eingeben

201212-cert-st6.png(Der Screenshot stimmt nicht ganz. Der zweite Eintrag müsste "mail.caserio.de" heißen.

201212-cert-st7.pngUnd hier ist das Zertifikat

201212-cert-st8.pngDieses Zertifikat kommt dann in die Datei caserio-de.crt und zu den anderen Daten in das Verzeichnis /etc/ssl/caserio.

Dann muss man noch einige startssl.com Zertifikat hohlen und in einer Datei zusammenfassen (keine Ahnung warum)

cd /etc/ssl/caserio/
wget https://www.startssl.com/certs/sub.class1.server.ca.pem
wget http://www.startssl.com/certs/ca-bundle.crt
cat caserio-de.crt sub.class1.server.ca.pem  > caserio-de.pem


Diese Dateien dann dem Postfix und Dovecot Server bekanntmachen

vi /etc/dovecot/dovecot.conf

   ssl_cert_file = /etc/ssl/caserio/caserio-de.pem
   ssl_key_file = /etc/ssl/caserio/caserio-de.key
   ssl_ca_file = /etc/ssl/caserio/ca-bundle.crt


vi /etc/postfix/main.cf

   smtpd_tls_cert_file = /etc/ssl/caserio/caserio-de.pem
   smtpd_tls_key_file  = /etc/ssl/caserio/caserio-de.key
   smtpd_tls_CAfile = /etc/ssl/caserio/ca-bundle.crt

Dies sind nicht alle Einträge die in den beiden Dateien notwendig sind sondern nur die für die Zertifikate wichtigen.

20.5.13
Weitere Beiträge zu: dovecot   postfix  

Postfix: Catchall Account einrichten

Manchmal möchte man auf einem Testserver Mails die an die verschiedene Personen der Domaine mit Postfix addressiert sind an einen Benutzer weiterleiten. Einen sogenannten "Catch All" Account.

Bei mir habe ich das so gelöst. Zuerst gibt man in einer Datei an welche Domainen man auf welchen Benutzer umleiten:

#vi /etc/postfix/virtual
@testdomain.com hbauer

Dann speichern und den folgenden Befehl eingeben:

# postmap /etc/postfix/virtual

In der Datei /etc/postfix/main.cf muss noch folgendes eingetragen werden

virtual_alias_maps = hash:/etc/postfix/virtual

Und dann noch postfix neustarten.
 

18.9.10
Weitere Beiträge zu: postfix  

Postfix: Mailweiterleitung für eine Addresse

Ich wollte in einer Maildomaine die ich auf meinem Server verwalte für eine Email Addresse eine Weiterleitung einrichten. Da ich Postfix verwende waren dazu folgende Schritte notwendig

Definiere für welche Domain welche Weiterleitungstabelle gilt.  Am Ende der main.cf

virtual_alias_domains = domain-mit-umleitung.de
virtual_alias_maps = hash:/etc/postfix/virtual

Erstelle die Weiterleitungstabelle /etc/postfix/virtual und füge ein

info@domain-mit-umleitung ziel@andere-domain.de

Aktivitere diese neue Änderungen

postmap hash:virtual

/etc/init.d/postfix restart

24.3.10
Weitere Beiträge zu: postfix   Linux  

Postfix: Eine Mail aus der Queue löschen

Ich hatte noch eine Mail auf meinem Mailserver postfix welche die falsche Addresse hatte. Natürlich tauchten die Zustellversuche immer wieder in meinem Logfile auf und sorgten für nervige und unnötige Warnungen in meinem Mailfile. Folgende Befehle als root sind dann hilfreich

Zeige mir an was in der queue steht

root@vs:~# postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
D1C2347212CE     1038 Sun Feb  7 21:05:42  hagen.bauer@xxxxxxxx.de
          (connect to yzszszss.de[aa.bbb.ccc.dd]:25: No route to host)
                                         info@xxxxxxx.de
-- 1 Kbytes in 1 Request.

Die Zahl am Anfang brauchen wir. Das ist die Nummer der Mail. Und jetzt das löschen:

root@vs:~# postsuper -d D1C2347212CE

postsuper: D1C2347212CE: removed

postsuper: Deleted: 1 message

(Vielleicht brauche ich das noch mal sehr sehr schnell wenn ich den Versand einer Mail verhindern möchte;-))

12.2.10
Weitere Beiträge zu: postfix  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License