Inhaltsverzeichnis
Postfix CentOS 7 - OpenPGPKey anbinden (openpgpkey-milter)
OpenPGPKey speichert den vollständigen, öffentlichen Teil des PGP-Schlüssels in einer DNS-Zone. Dieser Teil wird der E-Mail-Adresse des Schlüsselbesitzers über einen OpenPGPKey Resource Record (RR) zugeordnet.
OpenPGPKey-milter ist ein Sendmail/Postfix
-milter Dienst/Daemon, der versucht, vom MTA/MUA empfangene Klartext-E-Mails automatisch zu verschlüsseln, bevor die Nachricht weiter an den/die Empfänger weitergeleitet wird. Dies können Nachrichten sein, die vom Netzwerk empfangen oder lokal generiert werden.
Beschreibung | Externer Link |
---|---|
Aktueller Draft | https://tools.ietf.org/html/draft-ietf-dane-openpgpkey-03 |
Homepage | https://github.com/letoams/openpgpkey-milter |
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Voraussetzungen
Damit ein OpenPGPKey und auch der OpenPGPKey-milter zum Einsatz kommen können, ist es erforderlich, das ein
- PGP-Schlüsselpaar
- PGP-Schlüsselring
vorhanden ist.
Nachfolgender interne Link beschreibt, wie ein PGP-Schlüsselpaar in einem PGP-Schlüsselring erstellt und verwaltet werden kann:
Installation
hash-slinger
Das Programm-Paket hash-slinger
von Paul Wouters enthält Programme zur Erstellung von verschiedenen DNS-Records, wie z.B. FC-4255 SSHFP
und RFC-698 TLSA
.
Nachfolgendes rpm
-Paket ist zur Installation erforderlich:
Zusätzlich wird nachfolgendes rpm
-Paket als Abhängigkeit zusätzlich installiert:
Die Installation von hash-slinger
, kann durch ausführen des nachfolgenden Befehls durchgeführt werden:
# yum install hash-slinger Loaded plugins: changelog, priorities 301 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package hash-slinger.noarch 0:2.7-1.el7 will be installed --> Processing Dependency: python-gnupg >= 0.3.7 for package: hash-slinger-2.7-1.el7.noarch --> Processing Dependency: unbound-python for package: hash-slinger-2.7-1.el7.noarch --> Processing Dependency: python-ipaddr for package: hash-slinger-2.7-1.el7.noarch --> Processing Dependency: python-dns for package: hash-slinger-2.7-1.el7.noarch --> Processing Dependency: m2crypto for package: hash-slinger-2.7-1.el7.noarch --> Running transaction check ---> Package m2crypto.x86_64 0:0.21.1-17.el7 will be installed ---> Package python-dns.noarch 0:1.12.0-4.20150617git465785f.el7 will be installed ---> Package python-ipaddr.noarch 0:2.1.11-1.el7 will be installed ---> Package python2-gnupg.noarch 0:0.3.8-3.el7 will be installed ---> Package unbound-python.x86_64 0:1.6.6-1.el7 will be installed --> Processing Dependency: unbound-libs(x86-64) = 1.6.6-1.el7 for package: unbound-python-1.6.6-1.el7.x86_64 --> Processing Dependency: libunbound.so.2()(64bit) for package: unbound-python-1.6.6-1.el7.x86_64 --> Processing Dependency: libevent-2.0.so.5()(64bit) for package: unbound-python-1.6.6-1.el7.x86_64 --> Running transaction check ---> Package libevent.x86_64 0:2.0.21-4.el7 will be installed ---> Package unbound-libs.x86_64 0:1.6.6-1.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: hash-slinger noarch 2.7-1.el7 epel 38 k Installing for dependencies: libevent x86_64 2.0.21-4.el7 base 214 k m2crypto x86_64 0.21.1-17.el7 base 429 k python-dns noarch 1.12.0-4.20150617git465785f.el7 base 233 k python-ipaddr noarch 2.1.11-1.el7 base 35 k python2-gnupg noarch 0.3.8-3.el7 epel 34 k unbound-libs x86_64 1.6.6-1.el7 base 405 k unbound-python x86_64 1.6.6-1.el7 base 101 k Transaction Summary ================================================================================ Install 1 Package (+7 Dependent packages) Total download size: 1.5 M Installed size: 5.6 M Is this ok [y/d/N]: y Downloading packages: (1/8): hash-slinger-2.7-1.el7.noarch.rpm | 38 kB 00:00 (2/8): libevent-2.0.21-4.el7.x86_64.rpm | 214 kB 00:00 (3/8): m2crypto-0.21.1-17.el7.x86_64.rpm | 429 kB 00:00 (4/8): python-dns-1.12.0-4.20150617git465785f.el7.noarch.r | 233 kB 00:00 (5/8): python-ipaddr-2.1.11-1.el7.noarch.rpm | 35 kB 00:00 (6/8): unbound-libs-1.6.6-1.el7.x86_64.rpm | 405 kB 00:00 (7/8): unbound-python-1.6.6-1.el7.x86_64.rpm | 101 kB 00:00 (8/8): python2-gnupg-0.3.8-3.el7.noarch.rpm | 34 kB 00:00 -------------------------------------------------------------------------------- Total 2.2 MB/s | 1.5 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : libevent-2.0.21-4.el7.x86_64 1/8 Installing : unbound-libs-1.6.6-1.el7.x86_64 2/8 Installing : unbound-python-1.6.6-1.el7.x86_64 3/8 Installing : python2-gnupg-0.3.8-3.el7.noarch 4/8 Installing : python-dns-1.12.0-4.20150617git465785f.el7.noarch 5/8 Installing : python-ipaddr-2.1.11-1.el7.noarch 6/8 Installing : m2crypto-0.21.1-17.el7.x86_64 7/8 Installing : hash-slinger-2.7-1.el7.noarch 8/8 Verifying : m2crypto-0.21.1-17.el7.x86_64 1/8 Verifying : python-ipaddr-2.1.11-1.el7.noarch 2/8 Verifying : hash-slinger-2.7-1.el7.noarch 3/8 Verifying : libevent-2.0.21-4.el7.x86_64 4/8 Verifying : unbound-python-1.6.6-1.el7.x86_64 5/8 Verifying : python-dns-1.12.0-4.20150617git465785f.el7.noarch 6/8 Verifying : unbound-libs-1.6.6-1.el7.x86_64 7/8 Verifying : python2-gnupg-0.3.8-3.el7.noarch 8/8 Installed: hash-slinger.noarch 0:2.7-1.el7 Dependency Installed: libevent.x86_64 0:2.0.21-4.el7 m2crypto.x86_64 0:0.21.1-17.el7 python-dns.noarch 0:1.12.0-4.20150617git465785f.el7 python-ipaddr.noarch 0:2.1.11-1.el7 python2-gnupg.noarch 0:0.3.8-3.el7 unbound-libs.x86_64 0:1.6.6-1.el7 unbound-python.x86_64 0:1.6.6-1.el7 Complete!
Die Installation von hash-slinger
, kann durch ausführen des nachfolgenden Befehls durchgeführt werden:
# rpm -qil hash-slinger Name : hash-slinger Version : 2.7 Release : 1.el7 Architecture: noarch Install Date: Fri 31 Aug 2018 12:25:57 PM CEST Group : Applications/Internet Size : 88902 License : GPLv2+ Signature : RSA/SHA256, Sun 03 Jan 2016 04:05:07 AM CET, Key ID 6a2faea2352c64e5 Source RPM : hash-slinger-2.7-1.el7.src.rpm Build Date : Sun 03 Jan 2016 01:34:40 AM CET Build Host : buildppcle-05.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://people.redhat.com/pwouters/hash-slinger/ Summary : Generate various DNS records such as RFC-4255 SSHFP and RFC-698 TLSA Description : This package contains various tools to generate special DNS records: sshfp Generate RFC-4255 SSHFP DNS records from known_hosts files or ssh-keyscan tlsa Generate RFC-6698 TLSA DNS records via TLS openpgpkey Generate draft-ietf-dane-openpgpkey DNS records from OpenPGP keyrings ipseckey Generate RFC-4025 IPSECKEY DNS records on Libreswan IPsec servers This package supersedes 'sshfp' and 'swede' /usr/bin/ipseckey /usr/bin/openpgpkey /usr/bin/sshfp /usr/bin/tlsa /usr/share/doc/hash-slinger-2.7 /usr/share/doc/hash-slinger-2.7/BUGS /usr/share/doc/hash-slinger-2.7/CHANGES /usr/share/doc/hash-slinger-2.7/COPYING /usr/share/doc/hash-slinger-2.7/README /usr/share/man/man1/ipseckey.1.gz /usr/share/man/man1/openpgpkey.1.gz /usr/share/man/man1/sshfp.1.gz /usr/share/man/man1/tlsa.1.gz
openpgpkey-milter
OpenPGPKey-milter ist ein Sendmail/Postfix
-milter Dienst/Daemon, der versucht, vom MTA/MUA empfangene Klartext-E-Mails automatisch zu verschlüsseln, bevor die Nachricht weiter an den/die Empfänger weitergeleitet wird. Dies können Nachrichten sein, die vom Netzwerk empfangen oder lokal generiert werden.
Nachfolgendes rpm
-Paket ist zur Installation erforderlich:
Zusätzlich wird nachfolgendes rpm
-Paket als Abhängigkeit zusätzlich installiert:
HINWEIS - Die Installation muss aktuell auf dem gleichen Server auf dem auch der Postfix-Dienst/Daemon läuft erfolgen !!!
Die Installation von openpgpkey-milter
, kann durch ausführen des nachfolgenden Befehls durchgeführt werden:
# yum install openpgpkey-milter Loaded plugins: changelog, priorities 301 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package openpgpkey-milter.noarch 0:0.5-1.el7 will be installed --> Processing Dependency: python-pymilter for package: openpgpkey-milter-0.5-1.el7.noarch --> Running transaction check ---> Package python-pymilter.x86_64 0:1.0-1.el7 will be installed --> Processing Dependency: python-pydns for package: python-pymilter-1.0-1.el7.x86_64 --> Processing Dependency: libmilter.so.1.0()(64bit) for package: python-pymilter-1.0-1.el7.x86_64 --> Running transaction check ---> Package python-pydns.noarch 0:2.3.6-2.el7 will be installed ---> Package sendmail-milter.x86_64 0:8.14.7-5.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: openpgpkey-milter noarch 0.5-1.el7 epel 23 k Installing for dependencies: python-pydns noarch 2.3.6-2.el7 epel 40 k python-pymilter x86_64 1.0-1.el7 epel 98 k sendmail-milter x86_64 8.14.7-5.el7 base 71 k Transaction Summary ================================================================================ Install 1 Package (+3 Dependent packages) Total download size: 231 k Installed size: 518 k Is this ok [y/d/N]: y Downloading packages: (1/4): openpgpkey-milter-0.5-1.el7.noarch.rpm | 23 kB 00:00 (2/4): python-pydns-2.3.6-2.el7.noarch.rpm | 40 kB 00:00 (3/4): python-pymilter-1.0-1.el7.x86_64.rpm | 98 kB 00:00 (4/4): sendmail-milter-8.14.7-5.el7.x86_64.rpm | 71 kB 00:00 -------------------------------------------------------------------------------- Total 598 kB/s | 231 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : sendmail-milter-8.14.7-5.el7.x86_64 1/4 Installing : python-pydns-2.3.6-2.el7.noarch 2/4 Installing : python-pymilter-1.0-1.el7.x86_64 3/4 Installing : openpgpkey-milter-0.5-1.el7.noarch 4/4 Verifying : python-pydns-2.3.6-2.el7.noarch 1/4 Verifying : sendmail-milter-8.14.7-5.el7.x86_64 2/4 Verifying : python-pymilter-1.0-1.el7.x86_64 3/4 Verifying : openpgpkey-milter-0.5-1.el7.noarch 4/4 Installed: openpgpkey-milter.noarch 0:0.5-1.el7 Dependency Installed: python-pydns.noarch 0:2.3.6-2.el7 python-pymilter.x86_64 0:1.0-1.el7 sendmail-milter.x86_64 0:8.14.7-5.el7 Complete!
Die Installation von openpgpkey-milter
, kann durch ausführen des nachfolgenden Befehls durchgeführt werden:
# rpm -qil openpgpkey-milter Name : openpgpkey-milter Version : 0.5 Release : 1.el7 Architecture: noarch Install Date: Fri 31 Aug 2018 02:20:39 PM CEST Group : System Environment/Daemons Size : 50233 License : GPLv3+ Signature : RSA/SHA256, Mon 04 Jan 2016 04:56:06 PM CET, Key ID 6a2faea2352c64e5 Source RPM : openpgpkey-milter-0.5-1.el7.src.rpm Build Date : Mon 04 Jan 2016 01:08:27 AM CET Build Host : bvirthost02-nfs.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : ftp://ftp.nohats.ca/openpgpkey-milter Summary : OPENPGPKEY basd automatic encryption of emails using the milter API Description : The openpgpkey-milter package provides a milter plugin for sendmail or postfix that will automatically encrypt plaintext emails if the target recipient is publishing an OPENPGPKEY record protected with DNSSEC. This is currently an IETF draft (draft-wouters-dane-openpgp) /etc/tmpfiles.d/openpgpkey-milter.conf /usr/lib/systemd/system/openpgpkey-milter.service /usr/sbin/openpgpkey-milter /usr/share/doc/openpgpkey-milter-0.5 /usr/share/doc/openpgpkey-milter-0.5/LICENSE /usr/share/doc/openpgpkey-milter-0.5/README /var/run/openpgpkey-milter /var/run/openpgpkey-milter/openpgpkey-milter.sock /var/spool/openpgpkey-milter
Die Installation von python-setproctitle
, kann durch ausführen des nachfolgenden Befehls durchgeführt werden:
# yum install python-setproctitle Loaded plugins: changelog, priorities 301 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package python-setproctitle.x86_64 0:1.1.6-5.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python-setproctitle x86_64 1.1.6-5.el7 base 15 k Transaction Summary ================================================================================ Install 1 Package Total download size: 15 k Installed size: 29 k Is this ok [y/d/N]: y Downloading packages: python-setproctitle-1.1.6-5.el7.x86_64.rpm | 15 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : python-setproctitle-1.1.6-5.el7.x86_64 1/1 Verifying : python-setproctitle-1.1.6-5.el7.x86_64 1/1 Installed: python-setproctitle.x86_64 0:1.1.6-5.el7 Complete!
Die Installation von python-setproctitle
, kann durch ausführen des nachfolgenden Befehls durchgeführt werden:
# rpm -qil python-setproctitle Name : python-setproctitle Version : 1.1.6 Release : 5.el7 Architecture: x86_64 Install Date: Fri 31 Aug 2018 03:42:12 PM CEST Group : Unspecified Size : 30189 License : BSD Signature : RSA/SHA256, Fri 04 Jul 2014 06:41:49 AM CEST, Key ID 24c6a8a7f4a80eb5 Source RPM : python-setproctitle-1.1.6-5.el7.src.rpm Build Date : Tue 10 Jun 2014 10:01:15 AM CEST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://pypi.python.org/pypi/setproctitle Summary : Python module to customize a process title Description : Python module allowing a process to change its title as displayed by system tool such as ps and top. It's useful in multiprocess systems, allowing to identify tasks each forked process is busy with. This technique has been used by PostgreSQL and OpenSSH. It's based on PostgreSQL implementation which has proven to be portable. /usr/lib64/python2.7/site-packages/setproctitle-1.1.6-py2.7.egg-info /usr/lib64/python2.7/site-packages/setproctitle.so /usr/share/doc/python-setproctitle-1.1.6 /usr/share/doc/python-setproctitle-1.1.6/COPYRIGHT /usr/share/doc/python-setproctitle-1.1.6/README.rst
Dienst/Deamon-Start einrichten
Um einen OpenPGPKey-milter, welcher als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl enable openpgpkey-milter.service Created symlink from /etc/systemd/system/multi-user.target.wants/openpgpkey-milter.service to /usr/lib/systemd/system/openpgpkey-milter.service.
Eine Überprüfung, ob beim Neustart des Server der openpgpkey-milter
-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e openpgpkey-milter.service openpgpkey-milter.service enabled
bzw.
# systemctl is-enabled openpgpkey-milter.service enabled
iptables Regel
OpenPGPKey-milterauch über den Postfix - openpgpgkey-milter
erreichbar ist und nicht das Empfangen der IP-Paket vom Paketfilter iptables
blockiert wird, muss nachfolgende Regel zum iptables
-Regelwerk hinzugefügt werden.
Um die aktuellen iptables
-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# iptables -L -nv --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Nachfolgender Befehl, fügt folgende iptables
-Regel dem iptables
-Regelwerk nach der Position 4 hinzu, ohne das der Paketfilter angehalten werden muss:
-A INPUT -p tcp --dport 8890 -j ACCEPT
und hier der Befehl:
# iptables -I INPUT 5 -p tcp --dport 8890 -j ACCEPT
Ein erneute Abfrage des iptables
-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:
# iptables -L -nv --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8890 state NEW 6 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Die neue Zeile ist an Position 5 (INPUT) zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (nur relevanter Ausschnitt):
... 5 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8890 state NEW ...
Um diese iptables
-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im iptables
-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden:
# /usr/sbin/iptables-save > /etc/sysconfig/iptables
Konfiguration
DNS-Einträge
Nachfolgender Befehl erstellt unter nachfolgenden Voraussetzungen zwei DNS-Records, welche so dann auf dem entsprechenden DNS-Server in der entsprechenden DNS-Zone eingetragen werden müssen.
Die Voraussetzungen sind wie folgt:
- es muss ein PGP-Schlüsselring vorhanden sein, in dem
- ein PGP-Schlüsselpaar enthalten ist, welches
- vom Benutzer dem der PGP-Schlüsselring gehört
- mittels
openpgpkey
aufshell
-Basis extrahiert werden kann
Nachfolgender Befehl extrahiert aus dem PGP-Schlüsselring den öffentlichen Schlüssel aus dem PGP-Schlüsselpaar und wandelt diese in die zwei DNS-Records, einmal TYPE 61
und einmal OPENPGPKEY
, direkt um.
HINWEIS - Der Befehl sollte als der Benutzer ausgeführt werden, dem der PGP-Schlüsselring gehört !!!
$ openpgpkey --create --output both klaus@tachtler.net ; keyid: 2BD259DDC67F36D0 4894d50eed4fc7c94384e200023c171eb75f58cbed9a2507d180f420._openpgpkey.tachtler.net. IN OPENPGPKEY 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 ; keyid: 2BD259DDC67F36D0 4894d50eed4fc7c94384e200023c171eb75f58cbed9a2507d180f420._openpgpkey.tachtler.net. IN TYPE61 \# 2218 99020d04523f5524011000c100c8fd0189095f5429bd55d957fe6b77a1529e94cd5d60e7d1a71ada6b7092bac82d9db837f540b2b21d0bf15cba36a8a5e1d9870475df9aa4481794845977e4eb9c685a78e2e2864954abd411d238184597ce0197df24eacc69f9220a3853f1861b688362e1990945a4f8bc4136ee0223f72fd76a7ab1f81b606b1d498176f6a415c952de3ad1614578957fc3721a1fc3510cfc9891228d7dad9b26777f85e2485cd46ed68c9dcaf622cfdb1583aeddd334b12986be11156fce68582d095175ccbe9ef7bf831b974ed12ae33b496ffe11dc6d54127eac844b86a81246bb48a803e44d06a5dabf432264d4c92a3eca8c6f47e50385b12fa0fd71950a31545e3e074ed9035d373073ed80533847c04a12b815b810fae0a21c334d05be37b0f464e6656f82502eb31f9619ea5c548def68f6da9d6e8d9d4bd9962dc21b03868509d12a51850f02ffe5b2e646db45be8d37dc4d84dde3b5024ed851d8da089de55d4e45e1a95046b65d0f92071fbafc95f9ff163efd8a8dd4053ce347ab92d20450697fdbd0fe45baf21dcdb60b99d3ba4077164c9b000084531135d708eab58948e1f8f72a71be9b009195fabb8ecc8e16279c8ab7a3855ced856f749ff3a4d066740211d2c32b741e63358c96eca69332a8eaabede3d9d1c8d44eda47578f7d85b3d6e71e077c2ab5640b589980af8799db7947b71d4d3ac7306749177cd6730011010001b42b4b6c6175732054616368746c657220286b6c61757329203c6b6c6175734074616368746c65722e6e65743e8902380413010200220502523f5524021b03060b090807030206150802090a0b0416020301021e01021780000a09102bd259ddc67f36d01bdd10008c0d2f9b33048ea5142eea6bd5467572ae5b8580a6201271cc77d2826f02a77cb92d85baecbe8d943780cfec1825837d5c37c7fddddf8eb5382d12c82c6c114b9cc2e2488c4ec09c59942c1de7c3e82a4eb6cc7b98e7a49ee5f9afede7ebed2e2efe6fcbe8b4646ac88aff35ac331d14d7983a48a51df996c6f3f8b3b57ea3f572cd3c97f70c83208f7a2c67b72a52c57edd23b16f9ca0598140eca26d66c6d75c13196a0f89f3bc131c7d72561b79c6e3cf37daa0ef68afac4acbafb1dc5418dc28a9ce0012ccb6dc6597883721625f6dbb45b2f6418ca9b9401393c5811ffd1d913d5f623ac5f45745270409e052a9c08a35bd0992311b0cac902d30b6fc85a88ef12da909b5963708567668fd45d185b6d12f4b6b625d2e342d511a2e06fce93b022b902cb5825c3392b656fb82d6ae5af2f44c923075dad874ee5699f7e79eedfd8382c501fa0106e86c9f93149ec8ef3a254e5f12be09daf4e4e9d8de6ac3fb0d13a0889a26cd526d48ddc7a4fc70ce5423673833eef9a36ed272fb8961eedb0eb201a2bf37a22cdb0e627e0646ea3031b8f0cb7c2cc5ebdb0623995dbcec4db6d56d6f5109899b9487452ffd05d828862dc0ae251855edc18a9ad5054fa0421462e7cce25fbdb61bea8015f84d1229772c2f335b5a22656852a1819d1751ebfe4539ced86a296f215e96c868103f8e7354e0fe3224eafeabd3e5275e25b9020d04523f5524011000ba87e0eb942f72f36515e2492e6e6227a64ee6be18dbe1daa9d13918ae07b8de7c840721a6fa5d0309a8e4375fc929963eb8f4c079eff42ba6489f6f2ddef895eab594baae55914d31dec16aadf3787766df0bfed87f0d216c10bc43594a36151b4a4a1c959e5eb782a088b3455b925f585db8b56f5cd2543b1681673503aa6c6062e3cd2644dcc71a8ac33232c2ba619a828abc5bd9c24961e1e312a8ce4fe6a0929b904de93856748ff1e2bb0155ba1893689a313b9cabcdbed2179f25c1a2ab1ca6fb1aadbf6b41ed377a45c8e83a7424c9fcc49b7304c1c6799214325d279270dd392b09138a6d2d648483dfe2bc6dc37ef69f315047e96c94b3ef13f481c9ca242ae3bec7ff42756e4caa38593c06e5241a7696aa237f7908bc26138f5ba7bdec59dd163118791d8cde1b5344fb9d5f6562e2b99b8182ca5edd3bae51f781badf2c46f76f7f9775dd44f63709246bf2155c3dbce72319ff72ecedc9ae621ea80b50548982cec35f6d1c26fd27de173b9f6a0eb242de254e87b64491cd1414479f4ee55ed9de1a358fe31ada7280d960daa1455656877e25277505ee5fa3e513ace357d470b438515aa9fb6a9901418e8cb4ce0d99d14a384e52a515085a99b13d60d216cf6b02fb4ae3413b001d6d9a17287a4ac582e796b6d87e75db17b4c16d11e94477719c3338a4d718fa88782f54b17abbdcd9b9f7763ba32ae4a5001101000189021f0418010200090502523f5524021b0c000a09102bd259ddc67f36d010760fff765f3189077225ce86cc9e638e8a8d16bfa5f001654e798a2bed756614b2dffc3c6da66fe29d09f44290ed118748c3c9868fcd3938963d5edec076d739344f5a6a07344ff81f9d63842803b1cfb2c8b0265cfa5ba4ed30af979ccc0304c6a497ea911db1572acfa9606c29ca0af0baa99a3ebbc8dd8ebbca50172b0ba3b64923878db47daa813f547a50d7c87b2536c888fc1c9733e454f102bd8a9f1ac1b5b007c6f65b4003706b3178f2e535ccacc2b9198d00862ac22bff36eb4165ecd9578900fed8e554b9802d4ca1a32657c93ff31e95b2cdf79e7c9571929e463d3eef848f548c52cf2ba4db3eb3749dc974910ff80511789ca813a086ed49b3cb30269fbeb10b412cab32b531f065036589849d4f6bd8364334cd6add50496483762e05fb123ab738d496671691e2bed60af9fbb46078f1c4cf9ab54ba9105a2864aaf259e6b1d63970c03e8d192563d30c06444a9e4f9a237081cd93bd2f0e2f6166629b9a2591f0c242a7063864797820639e53f4bbc10fd875f2c1e225593fbd35ec6e3d4fb278641085ad908d1f5dc4125611f20ef9419eb3ffa15702deaa68ca0113073c93c76a696c2c4e3fa56bec3c0c11b1a05f8afb91dd20521ef70dcb1fab4e39267efb48af5d37672cc775a97b71976d0c8e36e1374b9ee70e963fb91b245b400de78fbf8dad3a8e5b805da9fbe6d30fcfe1db57d5f4bf045621cae9ca
Die so erstellten zwei DNS-Records, einmal TYPE 61
und einmal OPENPGPKEY
können nun auf dem entsprechenden DNS-Server in der entsprechenden DNS-Zone eingetragen werden.
Zur Überprüfung, ob der DNS-Record, entweder TYPE 61
oder OPENPGPKEY
erfolgreich im DNS-Server hinetrlegt worden sind, kann nachfolgende Abfrage durchgeführt werden:
# openpgpkey --fetch --uid 'Klaus Tachtler (klaus) <klaus@tachtler.net>' klaus@tachtler.net -----BEGIN PGP PUBLIC KEY BLOCK----- Comment: klaus@tachtler.net key obtained from DNS Comment: key transfer was protected by DNSSEC Version: GnuPG v2.0.22 (GNU/Linux) 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 V9X0vwRWIcrpyg== =5Nhw -----END PGP PUBLIC KEY BLOCK-----
Ebenfalls zur Überprüfung, kann nachfolgender externe Link verwendet werden:
Zusätzlich gibt es auch noch eine einfache Möglichkeit der Überprüfung mit nachfolgendem Skript, welches von der unter nachfolgendem externen Link
zur Verfügung gestellt wird:
#!/bin/bash # fetches an OPENPGPKEY and pipes the key into gpg # based on a Twitter msg by Paul Wouters (https://twitter.com/letoams/status/560834359981539329) # updated for draft-ietf-dane-openpgpkey-03 # 2015-05-14 maildomain=$(echo $1 | cut -d "@" -f 2) localmail=$(echo $1 | cut -d "@" -f 1) openpgpkeydomain=$(echo -n $localmail | openssl dgst -sha256 | cut -d "=" -f 2 | cut -c 1-57)._openpgpkey.$maildomain echo "fetching ${openpgpkeydomain} ..." dig +short +vc type61 $openpgpkeydomain | sed "s/ [^ ]*//;s/\W//g" | xxd -r -p | gpg
Nachfolgender allererste Aufruf, sollte in etwa nachfolgendes Ergebnis darstellen:
# sh openpgp-fetch.sh klaus@tachtler.net fetching 4894d50eed4fc7c94384e200023c171eb75f58cbed9a2507d180f420._openpgpkey.tachtler.net ... gpg: directory `/root/.gnupg' created gpg: new configuration file `/root/.gnupg/gpg.conf' created gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run gpg: keyring `/root/.gnupg/secring.gpg' created gpg: keyring `/root/.gnupg/pubring.gpg' created pub 4096R/C67F36D0 2013-09-22 Klaus Tachtler (klaus) <klaus@tachtler.net> sub 4096R/5E4A2AAD 2013-09-22
Erster Start OpenPGPKey-milter
Um den OpenPGPKey-milter zu starten kann nachfolgender Befehl angewandt werden:
# systemctl start openpgpkey-milter
Eine Überprüfung ob der Start des OpenDKIM erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:
# systemctl status openpgpkey-milter ● openpgpkey-milter.service - OPENPGPKEY auto encryption milter Loaded: loaded (/usr/lib/systemd/system/openpgpkey-milter.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2018-08-31 15:15:15 CEST; 4s ago Main PID: 31380 (openpgpkey-milt) CGroup: /system.slice/openpgpkey-milter.service ├─31380 /usr/bin/python /usr/sbin/openpgpkey-milter └─31381 /usr/bin/python /usr/sbin/openpgpkey-milter Aug 31 15:15:15 vml70060.idmz.tachtler.net systemd[1]: Started OPENPGPKEY aut... Aug 31 15:15:15 vml70060.idmz.tachtler.net systemd[1]: Starting OPENPGPKEY au... Aug 31 15:15:15 vml70060.idmz.tachtler.net openpgpkey-milter[31380]: openpgpk... Aug 31 15:15:15 vml70060.idmz.tachtler.net openpgpkey-milter[31380]: starting... Hint: Some lines were ellipsized, use -l to show in full.
bzw. mit nachfolgendem Befehl, ob der Dienst/Daemon in der Prozessliste erscheint:
# ps aux | grep openpgpkey-milter root 31380 0.7 0.6 235728 13052 ? Ssl 15:15 0:00 /usr/bin/python /usr/sbin/openpgpkey-milter root 31381 0.0 0.4 227532 9532 ? S 15:15 0:00 /usr/bin/python /usr/sbin/openpgpkey-milter root 31450 0.0 0.0 112704 940 pts/0 S+ 15:15 0:00 grep --color=auto openpgpkey-milter
Konfiguration: Postfix
Nachfolgende Änderungen werden an den Konfigurationsdateien
/etc/postfix/main.cf
/etc/postfix/master.cf
durchgeführt, um eine Anbindung des Postfix an den OpenPGPKey zu realisieren.
Dabei soll die Anbindung von Postfix an den OpenPGPKey mit dem Verfahren
openpgpkey-milter
erfolgen.
/etc/postfix/main.cf
Hier die Änderungen an der Konfigurationsdatei /etc/postfix/main.cf
(Nur relevanter Ausschnitt):
... # OPENPGPKEY (openphpkey-milter) openpgpkey_milter = inet:127.0.0.1:8890 ...
/etc/postfix/master.cf
Hier die Änderungen an der Konfigurationsdatei /etc/postfix/master.cf
(Nur relevanter Ausschnitt):
# Tachtler - new - # Outgoing traffic, BACK from amavisd-new from smtpd_proxy_filter. 192.168.0.60:10025 inet n - n - - smtpd -o content_filter= -o smtpd_proxy_filter= # -o smtpd_milters= # -o smtpd_milters=${opendkim_milter} -o smtpd_milters=${openpgpkey_milter},${opendkim_milter} -o smtpd_authorized_xforward_hosts=127.0.0.0/8,192.168.0.0/24,88.217.171.167/32 -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_relay_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions= -o mynetworks=0.0.0.0/32,127.0.0.0/8,192.168.0.0/24,88.217.171.167/32 -o receive_override_options=no_unknown_recipient_checks # Tachtler - new - # Outgoing traffic, BACK from amavisd-new from content_filter. 192.168.0.60:10027 inet n - n - - smtpd -o content_filter= -o smtpd_proxy_filter= # -o smtpd_milters= # -o smtpd_milters=${opendkim_milter} -o smtpd_milters=${openpgpkey_milter},${opendkim_milter} -o smtpd_authorized_xforward_hosts=127.0.0.0/8,192.168.0.0/24,88.217.171.167/32 -o smtpd_delay_reject=no -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_relay_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o smtpd_restriction_classes= -o mynetworks=0.0.0.0/32,127.0.0.0/8,192.168.0.0/24,88.217.171.167/32 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 # -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks -o local_header_rewrite_clients= ...
Nachfolgend Erklärungen zu den WICHTIGSTEN Konfigurationen:
-o smtpd_milters=${openpgpkey_milter},${opendkim_milter}
Die Option sorgt dafür, dass dem Parameter smtpd_milter
der Inhalt des Parameters openpgpkey_milter
übergeben wird. Falls mehrere MILTER zum Einsatz kommen, wird hier die Reihenfolge festgelegt, in der diese aufgerufen werden!
ACHTUNG - Falls ein opendkim_milter
ebenfalls zum Einsatz kommt, MUSS der openpgpkey_milter
VOR dem opendkim_milter
zum Einsatz kommen, da sonst die DKIM-Signatur zerstört wird !!!
Neustart MTA Postfix
Falls vorstehende Änderungen (natürlich an die jeweiligen Bedürfnisse angepasst) durchgeführt wurden, muss ein Neustart von Postfix durchgeführt werden.
Danach kann der postfix-Server mit nachfolgendem Befehle neu gestartet werden:
# systemctl restart postfix
Mit nachfolgendem Befehl kann der Status des abgefragt werden:
# systemctl status postfix postfix.service - Postfix Mail Transport Agent Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled) Active: active (running) since Thu 2015-10-15 11:11:26 CEST; 7s ago Process: 1128 ExecStop=/usr/sbin/postfix stop (code=exited, status=0/SUCCESS) Process: 1144 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS) Process: 1141 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS) Process: 1138 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS) Main PID: 1216 (master) CGroup: /system.slice/postfix.service ├─1216 /usr/libexec/postfix/master -w ├─1217 pickup -l -t unix -u -o content_filter=lmtp:[192.168.0.70]... └─1218 qmgr -l -t unix -u Oct 15 11:11:26 server60.idmz.tachtler.net systemd[1]: Starting Postfix Mail... Oct 15 11:11:26 server60.idmz.tachtler.net postfix/postfix-script[1214]: sta... Oct 15 11:11:26 server60.idmz.tachtler.net postfix/master[1216]: daemon star... Oct 15 11:11:26 server60.idmz.tachtler.net systemd[1]: Started Postfix Mail ... Hint: Some lines were ellipsized, use -l to show in full.