Altes gpg-Verhalten wiederherstellen

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Altes gpg-Verhalten wiederherstellen

Beitrag von dirk11 » 31.01.2019 00:29:26

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!

tobo
Beiträge: 1989
Registriert: 10.12.2008 10:51:41

Re: Altes gpg-Verhalten wiederherstellen

Beitrag von tobo » 31.01.2019 01:34:27

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.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Altes gpg-Verhalten wiederherstellen

Beitrag von dirk11 » 31.01.2019 01:55:24

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.

tobo
Beiträge: 1989
Registriert: 10.12.2008 10:51:41

Re: Altes gpg-Verhalten wiederherstellen

Beitrag von tobo » 31.01.2019 02:23:33

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).

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Altes gpg-Verhalten wiederherstellen

Beitrag von dirk11 » 31.01.2019 03:16:10

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’).

tobo
Beiträge: 1989
Registriert: 10.12.2008 10:51:41

Re: Altes gpg-Verhalten wiederherstellen

Beitrag von tobo » 31.01.2019 10:33:29

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!?

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Altes gpg-Verhalten wiederherstellen

Beitrag von dirk11 » 31.01.2019 12:46:32

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:

tobo
Beiträge: 1989
Registriert: 10.12.2008 10:51:41

Re: Altes gpg-Verhalten wiederherstellen

Beitrag von tobo » 31.01.2019 13:33:26

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.

Antworten