Seite 1 von 1

Altes gpg-Verhalten wiederherstellen

Verfasst: 31.01.2019 00:29:26
von dirk11
Hi Leute,

ich nutze Debian Stable (stretch) und darin habe ich einige Dateien PGP-verschlüsselt. Bis jessie hat das auf einer Kommandozeile (egal ob in XFCE oder TEXT) so funktioniert:
~$ gpg --decrypt datei.gpg|less

Dann habe ich meine Passphrase eingegeben, mir die Datei angeschaut, und wenn ich das beendet habe (mit "q"), dann war die Datei auch automatisch wieder geschlossen. Bei einem nächsten Aufruf der Datei musste ich wieder meine Passphrase eingeben. Jetzt habe ich soeben (ja, jetzt erst) mein Haupt-System auf Debian Stretch (wie gesagt, XFCE) aktualisiert. Dort nutze ich pinentry-tty dafür.
Mich ärgert aber maßlos, dass auch mit pinentry-tty die Passphrase "irgendwie" zwischengespeichert wird, und zwar so, daß sie, selbst wenn ich sie in einer xfce-Konsole eingebe und danach auf TTY-0 wechsle, dort noch im Speicher ist, sprich wenn ich dort wieder die Zeile
~$ gpg --decrypt datei.gpg|less
eingebe, wird die Datei ohne Angabe der Passphrase sofort dargestellt.

Ich halte das für unsicher und will das nicht!

Wie kann ich dieses Verhalten abstellen? Ich will die Passphrase jedesmal beim decodieren eingeben müssen!

Re: Altes gpg-Verhalten wiederherstellen

Verfasst: 31.01.2019 01:34:27
von tobo
Bei mir habe ich in ~/.gnupg/gpg-agent.conf folgendes eingefügt:

Code: Alles auswählen

default-cache-ttl 0
max-cache-ttl 0
max-cache-ttl-ssh 0
0= jedesmal eingeben, default ist 600 Sekunden.

Re: Altes gpg-Verhalten wiederherstellen

Verfasst: 31.01.2019 01:55:24
von dirk11
Danke! Diese Datei gibt es bei mir nicht, die musste ich erst anlegen. Kann man so ein Verhalten auch global einstellen? Ich halte das für ein Sicherheitsrisiko und will, dass jeder Nutzer per default immer sein PW eingeben muss.

Re: Altes gpg-Verhalten wiederherstellen

Verfasst: 31.01.2019 02:23:33
von tobo
Global, für neu anzulegende Benutzer am einfachsten unter /etc/skel/.gnupg/ die entsprechenden Dateien hinterlegen. Am einfachsten vielleicht in der manpage nachschauen und dort auch zusätzlich mal nach "export GPG_TTY" suchen (falls noch nicht getan).

Re: Altes gpg-Verhalten wiederherstellen

Verfasst: 31.01.2019 03:16:10
von dirk11
tobo hat geschrieben: ↑ zum Beitrag ↑
31.01.2019 02:23:33
Global, für neu anzulegende Benutzer am einfachsten unter /etc/skel/.gnupg/ die entsprechenden Dateien hinterlegen.
Danke, habe ich getan. Was für Rechte muss das Verzeichnis und die Datei dort bekommen, damit sie für den User korrekt angelegt werden?
Am einfachsten vielleicht in der manpage nachschauen und dort auch zusätzlich mal nach "export GPG_TTY" suchen (falls noch nicht getan).
Habe ich in der man-page von gpg-agent gefunden, aber ich verstehe nicht, was mir das sagen soll. Wozu ist das gut?

Damit andere nicht suchen müssen:
You should always add the following lines to your .bashrc or whatever initialization file is used for all shell invocations:

GPG_TTY=$(tty)
export GPG_TTY

It is important that this environment variable always reflects the output of the tty command. For W32 systems this option is not required.

Please make sure that a proper pinentry program has been installed under the default filename (which is system dependent) or use the option
pinentry-program to specify the full name of that program. It is often useful to install a symbolic link from the actual used pinentry
(e.g. ‘/usr/bin/pinentry-gtk’) to the expected one (e.g. ‘/usr/bin/pinentry’).

Re: Altes gpg-Verhalten wiederherstellen

Verfasst: 31.01.2019 10:33:29
von tobo
dirk11 hat geschrieben: ↑ zum Beitrag ↑
31.01.2019 03:16:10
Was für Rechte muss das Verzeichnis und die Datei dort bekommen, damit sie für den User korrekt angelegt werden?
Spielt eigentlich nicht so die Rolle, da die ja nur von adduser intern benutzt werden und die entsprechende umask dann greift. Bei mir sind die Dateien root/root 644, also sozusagen default-root.
Habe ich in der man-page von gpg-agent gefunden, aber ich verstehe nicht, was mir das sagen soll. Wozu ist das gut?
Du hinterlegst damit die aktuelle Verbindung von stdin zum Terminal, was von pinentry abgefragt wird. Weiß nicht, ob das noch zwingend notwendig ist, aber wenn's schon in der manpage steht!?

Re: Altes gpg-Verhalten wiederherstellen

Verfasst: 31.01.2019 12:46:32
von dirk11
tobo hat geschrieben: ↑ zum Beitrag ↑
31.01.2019 10:33:29
Du hinterlegst damit die aktuelle Verbindung von stdin zum Terminal, was von pinentry abgefragt wird. Weiß nicht, ob das noch zwingend notwendig ist, aber wenn's schon in der manpage steht!?
Ich nutze jetzt seit über 18 Jahren Linux, aber ich bin kein gelernter IT'ler. Das sagt mir überhaupt nichts. :cry:

Re: Altes gpg-Verhalten wiederherstellen

Verfasst: 31.01.2019 13:33:26
von tobo
Mir ist das z.B. unter alpine bekannt gewesen, dass pinentry überhaupt nicht reagierte, weil keine Verbindung zum gpg-agent hergestellt werden konnte. Meines Wissens waren diese Probleme aber nur unter ncurses-Programmen vorhanden. Die manpage spricht allerdings global von pinentry, also auch GUI und TTY. Und wenn da also Probleme auftreten können, dann folgt man den Vorschlägen der Entwickler, denn die wissen das bestimmt besser. Schreib' also einfach ein "export GPG_TTY=$(tty)" in deine ~/.profile (falls du ausschließlich Login-Shells benutzt) oder in deine Shell-Konfigurationsdatei (~/.bashrc,.~/.mkshrc, etc.) und fortan ist in jeder Shell, unter GPG_TTY, das tty eben dieser Shell hinterlegt.