mirroir readonly du Gitit wiki.evolix.org (attention, ne rien commiter/merger sur ce dépôt) https://wiki.evolix.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.8 KiB

categories title
security Howto GnuPG

GnuPG est une implémentation complète et libre du standard OpenPGP défini par la RFC4880.
GnuPG permet le chiffrement et la signature de vos données ainsi que de vos communication.

Installation

GnuPG 1 et 2 sont disponibles dans Debian, il faut utiliser la version 2 :

# apt install gnupg2

Note : c'est la version par défaut à partir de Debian 9 (Stretch)

Générer une clé GPG

Un excellent guide écrit par Daniel Kahn Gillmor - maintainer GPG dans Debian - est "disponible ici". Si vous ne souhaitez pas lire le guide d'un bout à l'autre, il est possible de "télécharger ce fichier" et le mettre dans ~/.gnupg/gpg.conf. Il regroupe l'ensemble des pratiques recommandées par le guide.

Une fois que vous vous êtes assuré d'avoir une configuration adéquate, il vous faut générer votre clef. Si vous êtes connectés sur un serveur headless, il vous faut lancer les commandes suivantes pour avoir assez d'entropie :

# apt install rng-tools
# rngd -r /dev/urandom

On génère par la suite notre clef, on conseille la plua longue possible (4096) :

$ gpg2 --gen-key

Une fois que vous avez créé votre clef, vous pouvez afficher son fingerprint :

$ gpg2 --list-secret-keys

> Key fingerprint = 677F 54F1 FA86 81AD 8EC0  BCE6 7AEA C4EC 6AAA 0A97

Configuration

Agent GPG

L'agent GPG garde en mémoire la passphrase de vos clés mais fait aussi office d'agent SSH, ce qui vous permet d'utiliser GPG pour vos connecter sur vos serveurs !

# apt install gnupg-agent pinentry-qt

.gnupg/gpg-agent.conf :

enable-ssh-support
pinentry-program /usr/bin/pinentry-qt
log-file $HOME/.gnupg/gpg-agent.log

Fichier .bashrc (ou .zshrc) :

pgrep -u $USER gpg-agent > /dev/null || gpg-agent --daemon
export GPG_TTY=$(tty)
export SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh"
gpg-connect-agent updatestartuptty /bye

Smartcard

GPG et l'agent GPG peuvent être utilisés via des cartes a puces (smartcard) ce qui permet de sécuriser vos clés GPG sur des cartes ou des tokens USB dont elles ne peuvent être extraites, l'utilisation de Smartcard nécessite les paquets suivants :

# apt install opensc pcscd scdaemon

La carte à puce (ou le token USB) est ensuite accessible via la commande suivante :

$ gpg2 --card-edit

Quel choix de smartcard ?

Evolix recommande la Nitrokey Pro qui est un token USB Open Source et Open Hardware !