====== GnuPG konfigurieren ====== Um nicht jedes Mal zusätzliche Befehlsparameter in Terminal eingeben zu müssen, kannst du Einstellungen dauerthaft in der Konfiguration von GnuPG abspeichern. Die Einstellungen für GnuPG werden in einfachen Text-Dateien gespeichert, die du mit einem Editor deiner Wahl bearbeiten kannst. Der Befehl um Dateien im Standard-Texteditor zu bearbeiten: xdg-open /Pfad/zu/Textdatei.txt Es ist auch möglich einen ganz spezifischen Editor anzugeben, zum Beispiel Nano: nano /Pfad/zu/Textdatei.txt Manche Konfigurationsdateien sind schreibgeschützt und können nur mit Admin-Rechten bearbeitet werden. Der Befehl dafür ist ''sudoedit'', oder auch ''sudo -e'': sudo -e /Pfad/zu/Textdatei.txt Wenn du nicht jedes Mal einen Texteditor öffnen willst, um eine Einstellung zu ergänzen, kannst du folgenden Befehl benutzen um eine Zeile ans Ende der Datei anzuhängen: echo 'Zeile die du ans Ende der Datei anhängen möchtest' | tee -a /Pfad/Zur/Textdatei.txt Wenn die Datei nur mit Admin-Rechten bearbeitet werden darf, heißt der Befehl entsprechend: echo 'Zeile die du ans Ende der Datei anhängen möchtest' | sudo tee -a /Pfad/Zur/Textdatei.txt Zeilen die mit ''#'' beginnen werden übergangen. Du kannst Rauten deswegen verwenden um Kommentare in Konfigurationsdateien zu machen. ---- ===== Einstellungen in gpg.conf bearbeiten ===== Die Konfigurationsdatei für GnuPG heißt **gpg.conf** und liegt im Ordner **.gnupg** deines Home-Verzeichnisses. Um die Dateien zu bearbeiten: xdg-open ~/.gnupg/gpg.conf Die Veränderungen die du in gpg.conf vornimmst müssen nicht notwendigerweise Auswirkungen für grafische Frontends wie Enigmail oder Seahorse haben, die auf GnuPG zurückgreifen. ===== Sichere Keyserver ===== Die sogenannte SKS-Keysserver, die seit Jahrzehnten für die Veröffentlichung und das öffentliche Signieren von PGP-Schlüsseln verwendet wurde, bietet keinen Schutz gegen Spam. Dass es keine zentrale Autorität und keine Moderation für das hochladen von Schlüsseln gibt, war früher als Sicherheitsfeature gedacht worden: Wenn selbst die Admins kein Schlüsselmaterial entfernen können, können sie auch nicht von staatlichen Autoritäten dazu gezwungen werden. Leider sind die klassischen Keyserver dadurch anfällig für Missbrauch durch den Upload falscher Keys und böswilliger Signaturen. Das wurde bereits 2013 mit einem [[https://github.com/micahflee/trollwot#trolling-the-web-of-trust|Skript für das automatisierte Signieren öffentlicher PGP-Keys mit ASCII-Bildern]] demonstriert. Mitte 2019 wurden die öffenlichen Schlüssel zweier OpenPGP-Entwickler [[https://sks-keyservers.net/pks/lookup?op=vindex&search=0xCC11BE7CBBED77B120F37B011DCBDC01B44427C7|mit so vielen Megabytes an Signaturen versehen]], dass GnuPG beim importieren der Schlüssel crasht und unbrauchbar wird. Seither empfehlen viele OpenPGP-Entwickler*innen, die modernere Schlüsselserver-Software auf https://keys.openpgp.org zu verwenden Der neue Schlüsselserver wird standardmäßig von der neuesten Version von Enigmail verwendet. Um ihn auch standardmäßig vom Terminal aus zu verwenden, füge in gpg.conf ein: keyserver hkps://keys.openpgp.org Falls du GnuPG mit Tor verwendest, kannst stattdessen den Onion-Service nutzen: keyserver hkp://zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion Verbindungen mit Onion-Services verlassen nie das Tor-Netzwerk und sind daher ende-zu-ende-verschlüsselt. In solchen Fällen ist es kein Problem, Verbindungen mit ''%%hkp://%%'' aufzubauen. Andernfalls solltest solltest du Verbindungen immer mit ''%%hkps://%%'' (HKP over TLS) verschlüsseln. Manche PGP-Keys enthalten einen Hinweis darauf, von welchem Keyserver sie aktualisiert werden sollten. Sicherheitshalber sollte GnuPG solche Hinweise ignorieren: keyserver-options no-honor-keyserver-url ===== GnuPG anonymisieren ===== Wessen Öffentliche PGP-Keys du von Keyservern herunterlädst kann mehr Aufschluss über dich geben als du möchtest. Vielleicht willst du auch deinen eigenen öffentlichen Key auf einem Keyserver hochladen, ohne dabei deine IP-Adresse preiszugeben. ==== System-Tor im Hintergrund ==== GnuPG erkennt beim Start, [[howto:howto:systemtor|ob Tor als Hintergrundprozess läuft]]. In diesem Fall wird sich GnuPG automatisch über Tor verbinden. ==== Zufällige Schlüsselaktualisierung mit Parcimonie ==== Verbindungen werden zwar jetzt über Tor getunnelt; Durch Aktualisieren deiner PGP-Keys könntest du allerdings deine Kontaktliste und dadurch Rückschlüsse auf deine eigene Identität offenbaren. Das würde jedes Mal passieren, wenn du mit ''gpg --refresh-keys'' oder bei Enigmail mit //Alle öffentlichen Schlüsselaktualisieren// deinen gesamten Schlüsselbund auf einmal aktualisierst. Um das zu vermeiden kannst du [[https://gaffer.ptitcanardnoir.org/intrigeri/code/parcimonie/|Parcimonie]] installieren. Parcimonie ist ein Programm, dass bei jedem Start deines Computers automatisch als Hintergrundprozess gestartet wird und deine Schlüssel einzeln und in zufälligen Zeitabständen über Tor aktualisiert. Diese zufälligen Zeitabstände zugleich lang genug, dass sich Tor in der Zwischenzeit eine neue Exit-Node suchen kann. Dadurch können die IP-Adressen und Zeitpunkte, zu denen verschiedene Schlüssel abgerufen werden, nicht miteinander in Verbindung gebracht werden sudo apt install parcimonie Debian wird Parcimonie nach der Installation automatisch starten. Andernfalls kannst du es manuell zu den Startprogrammen hinzufügen. ---- Die ursprüngliche Implementation von Parcimonie ist in den Arch-Repositories nicht verfügbar. Du kannst stattdessen die leichtgewichtige Neuimplementation [[https://github.com/EtiennePerot/parcimonie.sh|Parcimonie.sh]] aus dem [[https://aur.archlinux.org/packages/parcimonie-sh-git/|Arch User Repository]] installieren. Nach der Installation kannst du Parcimonie.sh als Systemd-Service im Hintergrundlaufen lassen: sudo systemctl enable --now parcimonie.sh@all-users Ob Parcimonie.sh läuft, kannst du nachprüfen mit: sudo systemctl status parcimonie.sh@all-users ---- Weiterführend: * [[https://riseup.net/de/security/message-security/openpgp/best-practices#einen-schl%C3%BCsselserver-ausw%C3%A4hlen-und-den-eigenen-rechner-so-konfigurieren-dass-der-schl%C3%BCsselbund-aktualisiert-wird|Best Practices für OpenPGP vom Riseup Kollektiv (DE)]]