[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

www-data & gpg-agent



Hi @all,

ich benötige ich eure Hilfe für ein kleines Projekt. 
Mein Plan ist es, eine Maillingliste zu erstellen, die Mails auch verschlüsselt (GnuPG) versenden kann. Dazu nutze ich aktuell den Apache, GnuPG, PHP, das GnuPG-PHP-Modul.

Kurzfassung:
---------------
Ich scheitere damit, den gpg-agent durch den User www-data ausführen lassen zu können.

@Disclaimer:
---------------
Falls jemand eine bessere Idee hat als das was ich hier beschreibe, dann nehme ich die Idee gerne an.

Zum Projekt:
---------------
Ich habe ein normales aktuelles Debian. Dort habe ich per APT den Apache, PHP, das GnuPG-PHP-Modul, eine MariaDB und GnuPG installiert.

Auf Konsole mit dem normalen User klappt alles wunderbar.

Ich habe eine Demoseite gebaut, die per PHP mal über das GnuPG-PHP-Modul, mal über die PHP-Funktion "exec()" Zugriff auf die GnuPG Installation hat. 
Ich kann darüber erfolgreich Texte verschlüsseln und per Mail versenden. Auch der Import von öffentlichen Schlüsseln und die Auflistung der importieren Schlüssel funktioniert.
Ich habe es auch irgendwie geschafft, einen privaten Schlüssel zu importieren (über das GnuPG-PHP-Modul).
Was nicht funktioniert: Entschlüsseln von Texten, Erzeugen von privaten Schlüsseln, Löschen von privaten Schlüsseln.

Zum Problem:
---------------
Wenn ich auf den gpg-agent zugreifen will (zum Entschlüsseln, Signieren, Löschen privater Keys, Erstellen private Schlüssel), dann schlägt das fehl. 
Die Fehlermeldung besagt, dass der gpg-agent nicht die notwendigen Berechtigungen habe.
Dieses Problem habe ich, sowohl über das GnuPG-PHP-Modul, über die exec()-Methode, als auch über über die Shell. In der Shell habe ich den Befehl sowohl mit "sudo -u www-data" als auch nach einem "su www-data" ausprobiert. 

Ich habe dabei verschiedene Spielarten ausprobiert, u.a. hatte ich "www-data" eine Shell zugewiesen (bash), ich habe wechselseitig www-data und meinen sudo-user den jeweils anderen Gruppen zugefügt usw.

Meine Fragen:
---------------
- Welche Rechte darf www-data haben, ohne ein Sicherheitsrisiko einzugehen?
- Wie kann ich www-data befähigen, den gpg-agent benutzen zu dürfen?
- Gibt es intelligentere Wege, mein Vorhaben zu realisieren?


Danke Johannes


Reply to: