PGP ist eine asymmetrische Verschlüsselungssoftware, welche sogenannte Key-Server einsetzt, um die öffentlichen Schlüssel aller Beteiligten anderen zugänglich zu machen. Das Problem an diesem Verfahren ist, dass ein einmal veröffentlichter PGP-Schlüssel nie mehr gelöscht werden kann, er kann lediglich zurückgezogen werden.
Um nun einen eigenen Key-Server zu betreiben, gibt es zwei gute Gründe. Entweder man möchte als Unternehmen seine PGP-Schlüssel nicht öffentlich zugänglich machen, da die Verschlüsselung nur intern verwendet wird, oder aber man möchte mit PGP-Schlüssel experimentieren und sie in diesem Rahmen auch veröffentlichen. Dafür bietet es sich an, dies nicht über öffentlichen Server zu tun, sondern statt dessen einen eigenen zu betreiben, dessen Key-DB man zur Not auch selber zurücksetzten kann.
Installation des PGP-Key-Servers
Die Installation eines PGP Key-Servers ist relativ einfach, da Debian Pakete für den SKS-Key-Server bereits im Repository mitführt.
apt-get install sks
Damit sich ein PGP-Key-Server mit anderen Servern synchronisiert, muss dieser auf den entsprechenden Systemen zum peering eingerichtet werden. Darüber hinaus muss der eigene Server ebenfalls seine Gegenstellen zum Synchronisieren kennen. Da der gerade installierte Server noch in keinem Pool registiert ist, kann er auch keine Schlüssel übertragen. Um dennoch ausgehende Sync-Anfrange zu unterbinden, müssen zwei Dateien geleert werden.
> /etc/sks/membership > /etc/sks/mailsync echo disable_mailsync: 1 >> /etc/sks/sksconf
Anschließend den Server aktivieren
sed 's/initstart=no/initstart=yes/g' -i /etc/default/sks
Und die Key-DB unter /var/lib/sks erstellen lassen.
su - debian-sks -c '/usr/sbin/sks build'
Nun den Server starten und prüfen, ob er läuft
/etc/init.d/sks restart lsof -i:11371 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sks 1477 debian-sks 5u IPv4 114459450 0t0 TCP *:hkp (LISTEN)
Installation eines Webinterfaces
Bei der Installation des sks-Paktes wurde auch bereits eine Beispieldatei für ein Webinterface mit installiert. Diese liegt unter /usr/share/doc/sks/sampleWeb/OpenPKG/index.html. Um diese zu verwenden, sind zwei Schritte notwendig:
- Die Datei in das Verzeichnis des Webservers kopieren.
- In der Datei die zwei Einträge action="/pks/ durch action="http://<domain.tld>:11371/pks zu ersetzen.
Alternativ habe ich hier noch ein Beispiel für ein Webinterface gefunden.
Zurücksetzen der Key-Datenbank
/etc/init.d/sks stop rm -fr /var/lib/sks/DB su debian-sks -c '/usr/sbin/sks build' /etc/init.d/sks start