[postfix-users] Erweiterte Konfiguration

lst_hoe02 at kwsoft.de lst_hoe02 at kwsoft.de
Di Jun 25 10:38:29 CEST 2013


Zitat von Mathias Reineke <paperfeeder at googlemail.com>:

> Guten Tag werte Mailinglisten Benutzer,
>
> ich habe letztendlich zwei relativ einfache Fragen, diesen geht  
> allerdings eine recht lange Erklärung voraus, um die  
> Rahmenbedingungen erschöpfend zu erleutern. Also bitte ich vorab um  
> Entschuldigung für die leicht romanartigen Züge meines Beitrags
>
> Ich bin derzeit damit befasst ein kleines Mailsystem auf meiner  
> Ubuntu-Box einzurichten. Die Box ist im Web unter der beispielhaften  
> Domain "example.de", mit wechselnder IP, zu erreichen. Die erklärten  
> ziele sind dabei:
> 1. Bereitstellung eines IMAP-Postfachs für verschiedene Nutzer, z.B.  
>ruser1 at example.de  (umgesetzt mit Dovecot)
> 2. Einsammeln der Mails aus verschiedenen Externen Postfächern pro  
> Benutzer (z.b. Von  
> user1myfirstidentity at web.de,mysecondidentity at googlemail.com;  
> umgesetzt mittels Dovecot PostLoginScript und getmail)
> 3. Versenden von Mails über die Externen Postfächer (z.B. User1 kann  
> über die Box als Absendermyfirstidentity at web.de  verwenden, was dazu  
> führt, dass die Mail über User1s Mailaccount bei Web.de geleitet  
> wird; umzusetzen mit Postfix)
> (4.) Versand von @example.de Mails an externe Accounts soll nicht  
> umgesetzt werden (z.b. Vonuser1 at example.de  anuser at de.postfix.org),  
> dazu fehlt mir mindestens eine statische IP
> 5. Erzwungene Verschlüsselung der Verbindungen eines Benutzers zum  
> den Komponenten des Mailsystems (dank verbreiteter Unterstützung von  
> TLS in allen Komponenten ein Leichtes)
>
> Das so beschriebene Setup ist natürlich problemfrei umzusetzen.  
> Jetzt folgt aber der schwierige Teil, nämlich die Randbedingungen zu  
> den oben genannten Zielen:
> 1.a) Asymmetrische Verschlüsselung (PGP) aller Mails im Postfach des  
> Benutzers
> 2.a) Pro Benutzer symmetrisch verschlüsselte Speicherung der  
> Zugangsdaten zu den Externen Postfächern bzw. SMTP Servern
> 3.a) siehe 2.a)
> 5.a) die von den Benutzern zum Mailsystem übertragenen Anmeldedaten  
> müssen in Klartext, oder mindestens in vorhersehbarer Form (bekannte  
> Digest-Methode) vorliegen
>
> Diese Randbedingungen sollen es den Administratoren (ich bin nicht  
> allein, und ich will auch nicht "aus Versehen" die Daten der Nutzer  
> sehen können) und vor allem eventuellen Einbrechern erschweren die  
> Mail- beziehungsweise Zugangsdaten der einzelnen Benutzer  
> einzusehen. Ich schreibe "erschweren", da am Ende ein super user  
> mindestens die Zugangsdaten lesen können wird, dazu aber in den  
> Prozess der Mailzustellung eingreifen muss. Mir ist kein Ansatz  
> eingefallen, die Daten meiner Benutzer noch stärker zu sichern,  
> leider.
>
> Randbedingung 1.a) wird von Dovecot mit pro Benutzer verwalteten PGP  
> Schlüsseln, beim einsortieren der Mails, umgesetzt werden  
> (Evaluierung steht noch aus, zu förderst muss das Relaying an  
> externe SMTP Server funktionieren).
>
> Randbedingung 2.a) basiert erneut auf Dovecot. Dovecot ermöglicht es  
> über Prefetch-Queries das Klartextpasswort der sich gerade  
> angemeldeten Benutzer kurz vorzuhalten und eine über die "Post Login  
> Script" Funktionalität ausgelöste Aktion auszuführen. Somit ist es  
> mir möglich, bei der Anmeldung eines Benutzers, seine mit seinem  
> Box-Passwort verschlüsselten Zugangsdaten zu den externen  
> Postfächern zu holen und zu entschlüsseln, und damit getmail zu  
> füttern. Getmail stellt dann die Mails der externen Postfächer dem  
> Benutzer zu (hier ist ein Ansatzpunkt für einen Einbrecher mit super  
> user Rechten, da dieser das Post Login Script manipulieren kann,  
> oder aber die Nutzerdaten aus dem getmail Prozess auszulesen  
> vermag). Das ganze ist transparent für den Benutzer und funktioniert  
> wunderbar (transparent in dem Sinne, dass der Benutzer eh erst  
> sieht, dass er neue Mails hat, wenn es sich anmeldet, und nicht  
> bemerkt [von einer k
>
> leine Verzögerung abgesehen], dass die Mails erst in diesem Moment  
> eingesammelt werden).
>
> Nun folgen die eigentliche Probleme.
>
> 3. Ist mit Postfix und dessen sender_based_relay_maps sowie  
> sender_restrictions pro Benutzer (ein Benutzer darf nur @example.de  
> und seine externen Adressen als Absender angeben) sehr schön  
> umzusetzen.
>
> Die Schwierigkeit liegt bei der Randbedingung 3.a).
> Ich benötige eine Möglichkeit, im Kontext des Sendens einer Mail  
> über Postfix an das Klartextpasswort des Benutzer heranzukommen, um  
> damit das Ergebnis des sender_based_relay Lookups zu modifizieren  
> (Entschlüsselung der gespeicherten Daten entsprechend 2.a)).
>
> Frage 1: Gibt es ist Postfix eine Möglichkeit das Ergebnis des  
> sender_based_relay Lookups mit dem Klartextpasswort aus der SMTP  
> Anmeldung zu vermischen?
>
> Beim sender_based_relay-ing ergibt sich, in meiner Installation, ein  
> weiteres Problem. Sollte der Postfix die Mail nicht sofort zum  
> Zielserver (beispielsweise dem SMTP vom Web.de) zustellen können,  
> wird er dies später erneut versuchen. Dazu benötigt er dann "später"  
> die Zugangsdaten des Benutzers zum externen Server, befindet sich  
> aber nicht mehr im Kontext der Anmeldung des Benutzers, und hat  
> somit auch nicht mehr dessen Klartextpasswort zur Verfügung. Der  
> Schlüssel, der für die Entschlüsselung der Zugangsdaten benötigt  
> wird, muss bis zum erfolgreichen Zustellen (oder zum letztendlichen  
> Aufgeben der Zustellung) der Mail vorgehalten werden. (Alternativ  
> könnte die Mail in diesem Moment abgelehnt werden.)
>
> Darum
> Frage 2: ist es möglich, Postfix spezielle Informationen in den  
> Envelope einer sich in der "ausgehenden" Queue befindlichen Mail zu  
> schreiben, und diese beim Zustellungsversuch zur Manipulation der  
> Relay-Lookups zu verwenden?
> Mit Envelope meine ich an dieser Stelle den Satz an  
> Verwaltungsdaten, den Postfix für die Zustellung einer Mail  
> verwendet, und der in keinem Fall jemals in einer Mail auftaucht,  
> weder bei erfolgreicher Zustellung noch bei Bounce noch bei  
> Benachrichtigung des Postmasters über unzustellbare Mails.
>
> (An dieser Stelle sei angemerkt, dass dann das Klartextpasswort des  
> Benutzers, oder besser eine Ableitung davon, temporär auf der  
> Festplatte gespeichert würde, was es einem Angreifer mit super user  
> Rechten ermöglichte, dies zu lesen.)
>
>
> Sind jemandem von Ihnen Ansätze bekannt, die zugrunde liegenden  
> Probleme von Frage 1 und Frage 2 zu lösen?
>
>
> Erneut muss ich mich entschuldigen, dass dieser Beitrag recht lang  
> ist, jedoch denke ich, dass dies durch die Komplexität des  
> entstehenden Systems bedingt ist. Ich hoffen meine Ausführungen  
> ermöglichen eine Einordnung und bestenfalls positive Beantwortung  
> meiner Fragen.
>
> Haben Sie vorab schon vielen Dank für die Beschäftigung mit meinen Fragen.
>
> Mit freundlichen Grüszen,
> Mathias Reineke

Hallo,

wahrscheinlich nicht die Antwort die Sie hören wollen aber meiner  
Meinung nach hat ein solches System zu viele Lücken um die Komplexität  
zu rechtfertigen.

- Die e-Mails liegen bei den Orginal Providern unverschlüsselt vor und  
werden von diesen unter Umständen auch ohne Transportsicherheit  
übertragen

- Die Zugangsdaten zu den eigentlichen Providern müssen als Klartext  
den Server passieren, das lässt sich nicht wirklich gegen internen  
Zugriff absichern

- Die Verschlüsselung auf dem Mailserver ist ganz nett, sichert aber  
eigentlich die (hoffentlich) sicherste Stelle zusätzlich ab

Der Aufwand wäre wahrscheinlich besser darin investiert die Benutzer  
in Ende-zu-Ende Verschlüsselung zu beraten und bei der Einrichtung zu  
helfen. Damit sind sämtliche Probleme bezüglich Server  
Sicherheit/Zugriff mit erledigt.

Gruß

Andreas

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : smime.p7s
Dateityp    : application/pkcs7-signature
Dateigröße  : 6144 bytes
Beschreibung: S/MIME Cryptographic Signature
URL         : <http://de.postfix.org/pipermail/postfix-users/attachments/20130625/5d76f33f/attachment.bin>


Mehr Informationen über die Mailingliste postfix-users