Enigmail, Linux, Seepferdchen

  • Hallo zusammen,


    ich habe keine Frage, sondern möchte einfach mal ein paar Infos hier abladen, mit denen ich mich in den letzten Jahren (!) herumgeärgert habe.
    Ich beschränke mich mal auf Enigmail unter Linux, kann mir aber vorstellen, daß unter Win ähnliche Probleme auftreten können, spätestens mit Verwendung von gpg 2.*.
    Es geht um das Zusammenspiel von Enigmail mit dem gpg-Agenten. Letzterer ist für das Zwischenspeichern und Weiterreichen des Passworts an GnuPG zuständig.
    Je nach Distribution, oder eher nach Window-Manager (KDE oder Gnome) läuft ein Agent, der sich so identifizieren läßt:

    Code
    1. muzel@eeemuz:~$ echo $GPG_AGENT_INFO
    2. /tmp/seahorse-S8m9G5/S.gpg-agent:5561:1


    Das ist die Umgebungsvariable, die Enigmail sagt, daß der Agent läuft. Und hier sehen wir, daß das Seepferdchen wirklich noch am Leben ist:

    Code
    1. muzel@eeemuz:~$ ps -ef | grep -i agent | grep -v grep
    2. muzel 5546 1 0 09:48 ? 00:00:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session /usr/bin/seahorse-agent --execute x-session-manager
    3. muzel 5561 5459 0 09:49 ? 00:00:01 /usr/bin/seahorse-agent --execute x-session-manager


    Und, wofür es eigentlich gut ist:

    Code
    1. muzel@eeemuz:~$ apropos seahorse-agent
    2. seahorse-agent (1) - seahorse pass phrase caching agent

    Ausführlicher mit

    Code
    1. man seahorse-agent


    Dummerweise ist es Enigmail sch***egal, wie in den OpenPGP-Einstellungen die Einstellung "zur Passphrasen-Verwaltung den GPG-Agent verwenden" gesetzt ist, und ob der Agent wirklich läuft. Entscheidend ist die Umgebungsvariable $GPG_AGENT_INFO ! Der Agent kann längst abgestürzt sein... Und genau das ist bei mir regelmäßig passiert, aus dem einfachen Grund, daß meine Schlüssel beim KDE- oder Gnome-Start noch nicht da sind - sie liegen in einem Truecrypt-Container. Folge des Absturzes: Fehlermeldung beim Entschlüsseln oder Signieren "Falsche Passphrase".
    Eine weitere Voraussetzung ist, daß das Paket pinentry (bzw. pinentry-gtk2 - k.A. ob es dieses sein muß, oder andere Implementierungen) installiert ist - sonst wird einfach kein Passphrasen-Dialog angezeigt.


    Mir ist kein Weg bekannt, den Agenten nach Absturz neuzustarten, ohne KDE- oder Gnome-Neustart.
    Es kommt noch schlimmer, ab GPG 2.0 muß man den Agenten verwenden, die folgende Umgehungslösung funktioniert nicht mehr (zum Glück gibt es ja noch GPG 1.4.*):
    Schlimmstenfalls muß man die 1.4 nachinstallieren und die 2.0 deinstallieren, wenn das geht, oder jedenfalls den Pfad in Enigmail auf gpg 1.4 richten.
    Man startet Thunderbird mit einem Script, in dem

    Code
    1. unset GPG_AGENT_INFO


    vorkommt, und setzt "Agent verwenden" in den OpenPGP-Optionen sicherheitshalber auf "nein". Dann wird wieder der Enigmail-eigene Passphrasen-Dialog angezeigt, und man fragt sich, wofür man den ganzen Agentenquatsch braucht. Kleiner Nebeneffekt: man kann jetzt wieder festlegen, ob man die Passphrase sofort, oder nach 5 Minuten oder auf Knopfdruck "vergessen" möchte. Der Agent merkt sie sich über den Tod von Thunderbird/Enigmail hinaus, und man wundert sich beim nächsten Start, daß die Passphrase noch da ist :aerger:
    Das war jetzt überwiegend etwas Gnome-lastig, gilt aber analog für KDE und ist unter den in der Signatur aufgeführten Distributionen getestet.
    Ich weiß nicht, ob das ganze nach entsprechender Überarbeitung ins Wiki gehört - bin ja eher nicht so der große Dokumentierer, und der Kreis der potentiellen Interessenten ist wahrscheinlich nicht so sehr groß. Vielleicht hat jemand eine Meinung dazu.
    Natürlich ist das alles längst im Enigmail-Forum dokumentiert, ich habe trotzdem eine Weile gebraucht, dahinterzusteigen...
    Vielleicht reicht schon ein Link zu dieser Zusammenfassung
    http://www.mozilla-enigmail.or…/viewtopic.php?f=10&t=249
    oder eine Übersetzung. Aber auch im Enigmail-Forum und hier im TB-Forum taucht dieses Problem in regelmäßigen Abständen immer wieder auf.
    http://www.mozilla-enigmail.or…m/viewtopic.php?f=4&t=255
    http://www.thunderbird-mail.de…f=33&t=43867&hilit=+agent


    So, ich sende es erstmal ab...


    Grüße, muzel

  • Hallo muzel,


    ein guter Beitrag!


    Ich habe das Problem nicht so, da bei mir der gpg-agent process eigentlich immer brav läuft.
    Auch - mußte ich gerade feststellen - nutze ich GPG seltener unter Linux. (Irgendwie sind da noch Windows-Relikte bei mir verankert :eek: ).


    Eine *wirkliche* Lösung oder Abhilfe bezügl. des Problems habe ich jetzt leider auch nicht! :pale:


    MfG ... Vic

  • 3.1 Habe seit neuestem in Lucid das gleiche Problem…


    Jedenfalls hatte ich es mit seahorse-agent der anscheinend gerne unvermittelt abstürzt… die installation von gnupg-agent hat – zumindest bei mir – Abhilfe geschaffen.

  • "Benno_M_1984" schrieb:

    dumm, bei mir funzt das wunderbar, aber ich nutze ja win *gg*

    Tja, herzliches Beileid auch…

  • dieser Thread passt optimal zu meinen Problemen


    ich hab ne OpenSuse 11.4 (32 Bit) am Laufen mit einer KDE…


    Darauf hab ich Thunderbird installiert - Enigmail noch dazu und dann gingen die Probleme los.


    Ich hab noch pinentry qt4 versucht zu installieren - mit ich weiß noch nicht genau welchem Erfolg: von hier. : http://pkgs.org/opensuse-11.4/…4-0.8.0-8.1.i586.rpm.html


    Was nicht richtig läuft - ich glaub dass ich den gpg-connect-agent noch brauche: - immer noch.



    gpgconf --check-programs


    Keine Ahnung was ich noch machen kann. Es ist ziemlich verflixt - vielle sollte ich nochmals alles runterwerfen...


    wasm einst ud dnen Muzel?

  • Hallo,


    zwar ist der Thread schon alt, aber scheinbar hat sich noch nichts getan.
    Ich nutze Ubuntu 13.04 und als gpg-Agent ist der Keyring angegeben.


    Wenn ich wie vorgesschlagen: ein Skript mit
    unset GPG_AGENT_INFO erstelle, dann funktioniert auch Alles.


    aber das ist ja eigentlich nicht sehr sinnvoll, denn dann muss ich zwar die Passphrase immer wieder eingeben,
    aber sie ist ja immer noch gespeichert. D.h. wenn jemand an den Pc kommt, kann er die Mails ja trotzdem unverschlüsselt und ohne Passwort sehen,
    wenn er Thunderbird normal startet...


    gibt es auch Leute, bei denen Ubuntu-Thunderbird+Enigmail so funktioniert, wie es eigentlich sollte?


    So wird die ganze Verschlüsselung ja etwas sinnlos...

  • Zitat

    als gpg-Agent ist der Keyring angegeben.


    Wie bitte???
    - m.

  • Hi,


    könnte es eventuell sein, dass du hier etwas verwechselst?
    Der PGP-Agent speichert das Passwort in einem Cache und fragt nur nach festlegbaren Zeitintervallen erneut danach. (Ist ein Zitat aus deinem ersten Link!)
    Und der Key-Ring oder meinetwegen "Schlüsselbund" ist der Ort, wo deine Schlüssel sicher gespeichert werden. (Zitat: Der GNOME-Schlüsselbund dient zur sicheren Speicherung und Verwaltung von Passwörtern.) Und die zur Entschlüsselung der privaten Schlüssel benötigten Passwörter bzw. "Passphrasen" bzw. das Master-PW kannst du in dem PGP-Agenten cachen, damit du sie nicht immer wieder eingeben musst.


    Es sind also zwei unterschiedliche, aber sehr wohl zusammen arbeitende, "Sachen".



    MfG Peter

    Thunderbird 45.8.x, Lightning 4.7.x, openSUSE Tumbleweed, 64bit
    S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
    Nebenbei: die Benutzung der (erweiterten) Suche, und von Hilfe & Lexikon ist völlig kostenlos - und keinesfalls umsonst!
    Und: Ich mag kein ToFu und kein HTML in E-Mails!

  • Hallo,


    sorry, bin a bisserl spat .. .


    Ich denke, dass der Agent seit Ubuntu 12.04 (?) in Keyring integriert wurde. Seahorse ist das Standardprogramm zur Schlüsselverwaltung, aber den Seahorse-Agenten benötig man nicht mehr.


    "Listener666" schrieb:

    gibt es auch Leute, bei denen Ubuntu-Thunderbird+Enigmail so funktioniert, wie es eigentlich sollte?


    Ja, die gibt es. :-)


    Gruß


    Susanne

  • Hallo Susanne,


    Zitat

    Ich denke, dass der Agent seit Ubuntu 12.04 (?) in Keyring integriert wurde.


    jetzt muß ich dich auch fragen, wie du das meinst.
    Ein Schlüsselbund bleibt ein Schlüsselbund (Schlüsselspeicher) und ein Agent ein Agent (ein Daemon, in dem Falle zum Cachen der Passphrase).
    Man kann einen Agenten benutzen, wenn man gpg 1.4.* installiert hat, und man muß einen benutzen bei gpg 2.0.*
    Meistens ist das gpg-agent aus dem gpg 2.0.*-Paket, wenn aber ein anderer, wie der seahorse-agent, installiert ist und läuft, kann es auch der sein. Die Einstellungen unter OpenPGP-Einstellungen - Erweitert sind witzlos, man kann dort einstellen, was man will - sobald gpg 2.* installiert ist, wird der gpg-agent verwendet (Test: im OpenPGP-Menü "Passphrase löschen" anklicken.)
    Deaktivieren kann man den Agent (besser gesagt seine Benutzung, stoppen oder den Start verhindern müßte man vielleicht auch noch), wie schon mehrfach geschrieben, nur durch Entsorgen der Umgebungsvariablen $GPG_AGENT_INFO.


    Gruß, muzel

  • Hallo Muzel,


    "muzel" schrieb:

    Ein Schlüsselbund bleibt ein Schlüsselbund (Schlüsselspeicher) und ein Agent ein Agent (ein Daemon, in dem Falle zum Cachen der Passphrase)


    Ja, das ist wohl so ;-)
    Was ich meinte ist, dass meines Wissens ab Ubuntu 12.04 der keyring-daemon das Cachen der Passphrase übernimmt, zumindest im Zusammenspiel mit gpg 1.4. Man kann also die Einstellung "Zur Passprasen-Verwaltung die GPG-Anwendung verwenden" deaktiviert lassen und die Passphrase wird dennoch ge-cached - ohne den Seahorse-Agenten.


    Code
    1. Susi@Tux:~$ echo $GPG_AGENT_INFO
    2. /tmp/keyring-xxxxxx/gpg:0:1
    3. Susi@Tux:~$ ps -ef | grep agent
    4. 1000 1984 1941 0 12:04 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
    5. 1000 2034 1941 0 12:04 ? 00:00:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
    6. 1000 3119 2612 0 14:31 pts/0 00:00:00 grep --color=auto agent


    Gruß


    Susanne

  • Hallo Susi,
    langsam dämmerts mir, das ist also schon wieder ein anderer Agent, der gnome-keyring-daemon, richtig? Deshalb ist hier immer mal von "Keyring" die Rede. Der daemon wird auch bei Enigmail mit gpg 1.4 zwangsweise verwendet, wenn man GPG_AGENT_INFO nicht löscht. Und nach "agent" kann man in der Prozessliste lange suchen, weil er sich hinter

    Code
    1. /usr/bin/gnome-keyring-daemon --daemonize


    verbirgt. Ich finde das schon alles etwas verwirrend, und die Manpage vom gnome-keyring-daemon ist ja auch nicht so ergiebig. Vermutlich soll der Endanwender nichts davon mitbekommen, nur leider ist die Fehlersuche im Fall des Falles schwierig.
    Gruß, muzel

  • Hallo muzel,


    "muzel" schrieb:

    das ist also schon wieder ein anderer Agent, der gnome-keyring-daemon, richtig?


    Ja, der Ubuntu bordeigene, aufgebohrt auf gpg-Passphrasenunterstützung. Ich habe das nirgendwo offiziell und vollständig dokumentiert gesehen, lediglich Hinweise in Foren, in denen anderen ebenfalls aufgefallen war, dass der Seahorse-Agent gar nicht läuft, die Passphrasen aber dennoch ge-cached werden.
    Das spricht für Deine These


    "muzel" schrieb:

    Vermutlich soll der Endanwender nichts davon mitbekommen ...


    Ich mag mein Ubuntu ja sehr. Aber solche Dinge, wie auch andere Alleingänge des Herrn S. stören mich schon. Aber, es gefällt mir, dass GnuPG per default dabei ist. Vielleicht hilft es ja, zur Verbreitung beizutragen. Einfacher wird es dadurch auch. Für die Benutzung von gpg mit dem TB genügt ein


    Code
    1. sudo apt-get install enigmail


    und schon kann man seine Schlüssel erstellen etc. .


    "muzel" schrieb:

    Und nach "agent" kann man in der Prozessliste lange suchen ...


    Genau, deshalb hatte ich den grep auf agent beigefügt, falls Listener666 noch verzweifelt suchen sollte ;-)


    Gruß


    Susanne




    Nachtrag 04.08.:


    Ich habe jetzt noch ein wenig im Internet gesucht und experimentiert. Dazu, mit welcher Version die Unterstützung als gpg-Agent (optional) in keyring integriert wurde, habe ich so auf die Schnelle nichts gefunden. Offenbar war es aber bereits bei Oneiric (11.10, Oktober 2011) so. Gestartet wird die Keyring-Unterstützung über den Autostart von gnome-keyring-gpg.desktop (analog für gnome-keyring-ssh.desktop und gnome-keyring-pkcs11.desktop).


    Die Unterstützung von Smartcards / Cryptosticks bereitet wohl auch noch Schwierigkeiten. Wer den keyring-deamon nicht für gpg verwenden möchte, kann ihn natürlich deaktivieren. Am einfachsten lässt sich das so machen:


    Code
    1. cp /etc/xdg/autostart/gnome-keyring-gpg.desktop ~/.config/autostart/
    2. echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/gnome-keyring-gpg.desktop


    (Danach muss man sich einmal ab- und wieder anmelden.)


    Etwas rätselhaft ist mir das Verhalten unter Windows. Ich habe zum Testen in einer VM GPG2 installiert. Dort stoße ich auf die hier schon einmal beschriebene Fehlermeldung. Da der Agent in Version 2 obligatorisch ist, wundert mich die Fehlermeldung an sich nicht. Allerdings wird die Passphrase auch dann für einige Minuten (vielleicht die 5 min default, hab's nicht gemessen) gecached, wenn der Agent gar nicht gestartet ist.


    Falls das jemand von euch erklären kann, würde ich mich freuen. Aber keinen Aufwand treiben - so wichtig ist es dann auch wieder nicht. Ich frage rein interessehalber. Schließlich funktioniert es Ubuntu so, wie ich es benötige.

  • Danke für die Hilfe!
    Ich verstehe immer noch nicht was da los ist.
    Wenn ich unset GPG_AGENT_INFO nutze und TB starte geht alles,
    starte ich danach ohne diesen Befehl, fragt er nicht nach der Passphrase,
    die ist also immer noch irgendwo hinterlegt. Das ist eine riesen Sicherheitslücke.
    Aber der Fehler muss ja wohl bei mir liegen, wenn es bei anderne Leuten läuft.
    Meine Lösung momentan: Ich nutze TB unter Ubuntu nicht mehr zum lesen verschlüsselter Mails.
    Da mein Smartphone/ Tablet immer greifbar ist mache ich es nun darüber. Mit K9 und APG kein Problem.
    Trotzdem wäre eine Lösung schön. Unter Windows funktioniert bei mir alles wunderbar.


    Aber wie gesagt: Danke für die Hilfe. Wenn ich mal viel Zeit habe versuche ich mich mal in das Thema ein zu arbeiten.
    Wirklich schade das es nicht wie unter Win/MacOS/Android out of the Box läuft, da hab ich es überall hin bekommen.


    ACHSO:

    "SusiTux" schrieb:

    Einfacher wird es dadurch auch. Für die Benutzung von gpg mit dem TB genügt ein


    Wenn es richtig funktionieren würde würde ich dir zustimmen. So finde ich es genügt nicht. Verschlüsselte Mails sollen auch an meinem PC nicht für jeden lesbar sein...

  • Hallo,


    "Listener666" schrieb:

    Wenn es richtig funktionieren würde würde ich dir zustimmen.


    Nun, ich nutze GPG seit geraumer Zeit. Allerdings bisher lediglich für die Korrespondenz mit genau einem Kunden und ein paar wenigen Freunden, die sich das halt so wünschen - insgesamt sicher nicht öfter als ca. 10 mal pro Jahr. Ich habe mich daher nie wirklich tief in die Materie eingelesen. Der Agent ist mir, wie schon geschrieben, ein stückweit ein Rätsel. Aber wirklich tief einsteigen mag ich da nicht. Ich fand ohnehin die zugrundeliegende Mathematik stets spannender.


    Was ich Dir aber sagen kann, ist, dass es bei mir unter Ubuntu 12.04. und GPG 1.4.x out of the box funktioniert (die derzeitige Enigmail-Version weiß ich grad nicht aus dem Kopf). Der GPG-Agent läuft bei mir nicht. Die Passphrase wird aber brav abgefragt. Das erledigt nun offenbar der keyring bzw. Enigmail, auch so ein Teil des Rätsels, wenn da zwei, unter Ubuntu ggf. sogar drei um die Hoheit über den Cache streiten.


    Keyring war ja auch bei Dir in der Umgebungsvariable angegeben. Ich weiß daher nicht, warum es bei Dir nicht funktioniert, außer Du verwendest gar nicht die 1.4.x, die mit Ubuntu kommt?

    Gruß


    Susanne


    Nachtrag:


    So ganz hat mir der keyring-daemon nun doch keine Ruhe gelassen. Dieser Thread hat mich veranlasst, noch ein wenig zu spielen.
    Wenn man unter Ubuntu den keyring-daemon verwendet, wird die Passphrase zwar im Cache gehalten, allerdings lässt sich die Zeitdauer nicht über Enigmail einstellen. Enigmal "glaubt" ja, der gpg-agent liefe und meldet das dann auch an.
    Das heißt, die Passphrase wird über die gesamte Dauer der Ubuntu-Session im Cache gehalten. Mich stört das nicht weiter, eher im Gegenteil.
    Mir ist keine Möglichkeit bekannt, den keyring-daemon bzgl. der Zeitdauer des Cachens zu konfigurieren.
    Sollte das für jemanden ein KO-Kriterium sein, führt wohl kein Weg am gpg-agent vorbei. Wie man den dann benutzen kann, ist hier kurz beschrieben. Das Beispiel beeinhaltet auch den ssh-agenten.

  • Hallo Susi,


    der Tip mit dem Deaktivieren ist gut (natürlich nichts für den ONU), auch wenn die "Rückfallebene" auch wieder nur der gpg-agent ist, aber der läßt sich wenigstens ein bißchen konfigurieren.
    Bei meiner Debian/Icedove/Enigmail-Installation habe ich nun den Effekt, daß ich keine Passphrase mehr brauche, weil der Keyring offenbar immer beim Login entperrt wird, was ich nie ausgewählt habe und nicht ändern kann (außer vermutlich deaktivieren wie beschrieben).


    Grüße, muzel

  • Hallo muzel,


    "muzel" schrieb:

    ... habe ich nun den Effekt, daß ich keine Passphrase mehr brauche ...


    Das nenne ich mal ein nettes Feature - leider geht geht es haarscharf am Sinn des ganzen vorbei ;-)


    Gruß


    Susanne