Les enregistrements RR SSHFP sont des enregistrements DNS contenant des empreintes digitales pour les clés publiques utilisées pour SSH. Ils sont principalement utilisés avec les domaines activés par DNSSEC. Lorsqu'un client SSH se connecte à un serveur, il vérifie l'enregistrement SSHFP correspondant. Si les empreintes digitales des enregistrements correspondent aux serveurs, celui-ci est légitime et la connexion en toute sécurité.
À quoi ressemblent les enregistrements du PSSPS?
Les dossiers du PSSPS comportent trois éléments:
Algorithme
Type d'empreinte digitale
Empreinte digitale (en hex)
Algorithme
Il y a quatre algorithmes différents définis dans SSHFP à partir de 2015 . Chaque algorithme est représenté par un entier. Les algorithmes sont:
1 - RSA
2 - DSA
3 - ECDSA
4 - Ed25519
Type d'empreinte digitale
Deux types d'empreintes digitales sont définis dans SSHFP à partir de 2012 . Chaque type d'empreinte digitale est représenté par un entier. Ceux-ci sont:
1 - SHA-1
2 - SHA-256
Comment générer des enregistrements SSHFP?
Vous pouvez utiliser ssh-keygenpour générer les enregistrements à l'aide du -rparamètre, suivi du nom d'hôte (qui n'affecte pas les empreintes digitales, vous pouvez donc spécifier ce que vous voulez).
[root@localhost ~]# ssh-keygen -r my.domain.com
my.domain.com IN SSHFP 1 1 450c7d19d5da9a3a5b7c19992d1fbde15d8dad34
my.domain.com IN SSHFP 2 1 72d30d211ce8c464de2811e534de23b9be9b4dc4
Remarque
Parfois ssh-keygen, demandera l'emplacement du certificat public. Si cela vous est demandé, vous devrez exécuter ssh-keygenplusieurs fois et spécifier à chaque fois un certificat différent pour vous assurer de générer tous les enregistrements SSHFP nécessaires. Vos clés publiques sont généralement situées dans /etc/ssh.
Le serveur est légitime ou le serveur DNS est compromis.
Michael Mior
7
Je ne sais pas si ssh-keygenfonctionne avec les clés existantes. Sinon, vous pouvez toujours les assembler facilement dans votre shell (ce que je préfère) et sans logiciel sophistiqué ni interface distante.
Un disque tel que mentionné ...
my.domain.com IN SSHFP 2 1 72d30d211ce8c464de2811e534de23b9be9b4dc4
... existe de 6 parties:
part 1: hostname
part 2: Usually "IN" for internet
part 3: "SSHFP", the RR name for type 44
part 4: RSA keys = "1"
DSA keys = "2"
ECDSA keys = "3"
ED25519 keys = "4"
part 5: The algorithm type:
SHA-1 = "1"
SHA-256 = "2"
part 6: You can generate, for example:
$ awk '{print $2}' /etc/ssh/ssh_host_dsa_key.pub | \
openssl base64 -d -A | openssl sha1
Pour l'utiliser, insérez- VerifyHostKeyDNS askvous généralement dans la configuration de votre client SSH ~/.ssh/config.
Pour mémoire, ssh-keygen -rne générer des enregistrements SSHFP pour les clés existantes en dépit du fait que le nom de la commande donne à penser qu'il est seulement pour GÉNÉRER.
Celada
5
Les anciennes versions de ssh-keygen ne génèrent pas toutes les clés disponibles (par exemple, aucun support pour ecdsa et sha256). Ce script crée tous les enregistrements pour toutes les clés disponibles dans /etc/ssh/:
Si vous utilisez Puppet, factera construit dans le support pour sshfp. De plus, si vous utilisez PuppetDB, vous pouvez facilement extraire cette information pour tous vos hôtes.
ssh-keygen -r
gère également les enregistrements de type ed25519 (en utilisant le numéro expérimental 4 de iana iana iana.org/assignments/dns-sshfp-rr-parameters/… )Je ne sais pas si
ssh-keygen
fonctionne avec les clés existantes. Sinon, vous pouvez toujours les assembler facilement dans votre shell (ce que je préfère) et sans logiciel sophistiqué ni interface distante.Un disque tel que mentionné ...
... existe de 6 parties:
Pour l'utiliser, insérez-
VerifyHostKeyDNS ask
vous généralement dans la configuration de votre client SSH~/.ssh/config
.la source
ssh-keygen -r
ne générer des enregistrements SSHFP pour les clés existantes en dépit du fait que le nom de la commande donne à penser qu'il est seulement pour GÉNÉRER.Les anciennes versions de ssh-keygen ne génèrent pas toutes les clés disponibles (par exemple, aucun support pour ecdsa et sha256). Ce script crée tous les enregistrements pour toutes les clés disponibles dans
/etc/ssh/
:Edit: Nouvelle version avec PR de alex-dupuy avec support * BSD.
https://github.com/mindfuckup/Scripts/blob/master/sshfpgen
la source
Si vous utilisez Puppet,
facter
a construit dans le support poursshfp
. De plus, si vous utilisez PuppetDB, vous pouvez facilement extraire cette information pour tous vos hôtes.La source
la source
Voici comment obtenir mes enregistrements de PSSPS via Ansible :
la source