2008-07-16: DKIM- und DomainKeys Policies
Einleitung
In einem früheren Artikel habe ich beschrieben, wie man DKIM- und DomainKeys-Signaturen unter Debian mit Postfix integriert.Damit nun auf Grund verschiedener Faktoren, wie zum Beispiel dem Fehlen der Signatur bei bestimmten Mails, der Signatur von Mails auf Basis des Senders statt des Author oder möglicher Signaturfehler in der Implementierungsphase, die Mails nicht von den empfangenden Mailservern abgelehnt werden, lässt sich mit Hilfe von Policies ziemlich genau festlegen, welche Signaturen der empfangende Mailserver zu erwarten hat und wie er bei Fehlern mit der Mail umgehen soll.
Allgemeines
DKIM- bzw. DomainKeys-Policies werden, ebenso wie der PublicKey, über DNS bereitgestellt. Es lassen sich globale Policies und Selektor-spezifische Policies definieren.Für jede Domain kann es, im Gegensatz zu Selektoren, nur eine globale Policy geben.
Domainkeys-Policy
Globale Policies
Die Policy für DomainKeys wird im DNS als TXT-Eintrag für die Subdomain _domainkey.example.org angelegt, wobei statt example.org natürlich die eigene Domain eingesetzt werden muss. Es gibt folgende Parameter:| Tag | Wert |
|---|---|
| o (Outbound Signing policy) | "-": JEDE Mail von dieser Domain wird signiert "~": Es können Mails von dieser Domain signiert werden |
| r (Reporting Email adress) | Email-Adresse, an die eventuelle Fehler bei der DomainKeys-Überprüfung mitgeteilt werden können |
| t (Testing mode) | "y": Test-Modus ist aktiviert. Falsch signierte Mails dürfen nicht als unberechtigt behandelt werden "n": Test-Modus ist deaktiviert. |
| n (Notes) | Freitext-Felt für Informationen, die für eine Person bezüglich der Signatur interessant sein können. Wird nicht von Systemen ausgewertet. |
_domainkey.example.org IN TXT "t=y; o=~; r=postmaster@example.org; n=http://www.example.org/policy.htm"
Erläuterung: DomainKeys befindet sich noch in der Testphase, es werden nicht alle Mails signiert. Bei Fehlern kann man
postmaster@example.org informieren, weitere Informationen findet man unter http://www.example.org/policy.htm.
Selektor-Policies
Die Policy für einen einzelnen Selektor wird im selben TXT-Eintrag definiert, in dem auch der PublicKey festgehalten wird. Es gibt folgende Parameter:| Tag | Wert |
|---|---|
| g (Granularity) | "local_part": Dieser Wert (sofern angegeben) legt fest, wer diesen Selektor als Signatur verwenden darf. Der Local Part des Absenders muss exakt mit dem angegebenen Wert übereinstimmen. |
| n | siehe globale Policies |
| t | siehe globale Policies |
| k (Key-Type) | Standard ist "rsa". RSA wird von allen Systemen unterstützt, daher sollte man diese Einstellung auch verwenden |
sign._domainkey.example.org IN TXT "k=rsa; p=MIGfMA[...]kQIDAQAB; n=http://www.example.org/policy_sign.htm; t=y; g=info"
Erläuterung: Nur die Email-Adresse "info@example.org" darf diesen Selektor verwenden. Der Key-Typ ist "rsa", des Selektor befindet sich noch im Test-Modus, weitere Informationen findet man unter
http://www.example.org/policy_sign.htm.
DKIM-Policy
Globale Policies
Für DKIM gibt es noch keine finalen global Policies. Es existieren nur Entwürfe für DASP bzw. ADSP Die Entwürfe stehen unter folgenden URLs zur Verfügung: Da es sich hier, wie gesagt, um Entwürfe handelt, ist nicht davon auszugehen, dass diese Policies bereits breit unterstützt werden. Außerdem sind in diesem Bereich noch einige Änderungen zu erwarten.Selektor Policies
Die Policy für einen einzelnen Selektor wird im selben TXT-Eintrag definiert, in dem auch der PublicKey festgehalten wird. Es gibt folgende Parameter:| Tag | Wert |
|---|---|
| v (Version) | "DKIM1", muss, wenn angegeben, der erste Wert des Eintrags sein. |
| g (Granularity) | "local_part": Dieser Wert (sofern angegeben) legt fest, wer diesen Selektor als Signatur verwenden darf. Der Local Part des Absenders muss exakt mit dem angegebenen Wert übereinstimmen. Standard-Wert ist "*". Es ist zu beachten, dass ein leerer Wert NIE zutrifft. |
| h (Acceptable hash algorithms) | Doppelpunkt-separierte Liste von unterstützten Hash-Algorithmen (z.B. sha1, sha256, md5) |
| k (Key type) | Key-Typ. Standard ist "rsa" und sollte wegen der breiten Unterstützung auch verwendet werden. |
| n (Notes) | Weitere Informationen. Wie bei DomainKeys. |
| s (Service type) | Doppelpunkt-separierte Liste von Service-Typen. Standard ist "*", der einzige definierte Typ ist "email" |
| t (Flags) | Doppelpunkt-separierte Liste von weiteren Flags: "y": DKIM-Signatur befindet sich im Testbetrieb. Falsch-Signaturen sollten nicht negativ gewertet werden "s": In der Signatur müssen der Domain-Teil in "i=" und die definierte Domain in "d=" übereinstimmen. D.h. dass Signaturen für Emails aus Subdomains nicht gültig sind. |
dkim._domainkey.example.org IN TXT "v=DKIM1; g=*; h=sha256:sha1; k=rsa; n=http://www.example.org/dkim_policy.htm; s=email; t=s:y; p=MIGfMA[...]kQIDAQAB"
Erläuterung: Es wird DKIM in der Version 1 verwendet, verwendete Hash-Algorithmen sind SHA1 und SHA256, der Keytyp ist RSA und darf nur für Emails
verwendet werden. Es wird im Testbetrieb gearbeitet und Subdomain-Signaturen sind unzulässig. Weitere Informationen sind unter
http://www.example.org/dkim_policy.htm zu finden.
Weiterführende Links/Quellen
Kommentare
Kommentieren| Bisher keine Kommentare. |
Zurück zu Technik | Mail
Hat Ihnen der Artikel weitergeholfen? Sie wollen sich in irgendeiner Art für die geleistete Hilfe erkenntlich zeigen? Schauen Sie doch einmal auf meiner Amazon-Wunschliste vorbei, ich freue mich immer über eine kleine Sachspende:
Zur Wunschliste






![Validate my RSS feed [Valid RSS]](/img/valid-rss.png)
