Preciso configurar registros SSHFP no DNS do meu host. Eu fiz algumas pesquisas, mas não encontrei nenhum bom exemplo.
- O que são registros SSHFP?
- Como são os registros SSHFP?
- Como crio registros SSHFP?
Os registros SSHFP RR são registros DNS que contêm impressões digitais de chaves públicas usadas para SSH. Eles são usados principalmente com domínios habilitados para DNSSEC. Quando um cliente SSH se conecta a um servidor, ele verifica o registro SSHFP correspondente. Se a impressão digital dos registros corresponder aos servidores, o servidor é legítimo e é seguro conectar-se.
Os registros SSHFP consistem em três coisas:
Existem quatro algoritmos diferentes definidos no SSHFP a partir de 2015 . Cada algoritmo é representado por um número inteiro. Os algoritmos são:
Dois tipos de impressão digital são definidos no SSHFP a partir de 2012 . Cada tipo de impressão digital é representado por um número inteiro. Esses são:
Você pode usar ssh-keygen
para gerar os registros usando o -r
parâmetro, seguido pelo nome do host (que não afeta as impressões digitais, para que você possa especificar o que quiser)
Usando ssh-keygen
e CentOS:
[root@localhost ~]# ssh-keygen -r my.domain.com
my.domain.com IN SSHFP 1 1 450c7d19d5da9a3a5b7c19992d1fbde15d8dad34
my.domain.com IN SSHFP 2 1 72d30d211ce8c464de2811e534de23b9be9b4dc4
Às vezes ssh-keygen
, solicita a localização do certificado público. Se solicitado, você precisará executar ssh-keygen
várias vezes e sempre especificar um certificado diferente para garantir que você gere todos os registros SSHFP necessários. Suas chaves públicas geralmente estão localizadas em /etc/ssh
.
A autenticação de entidades nomeadas (DANE) baseada em DNS ( RFC 6698 ) é um sucessor em potencial do SSHFP RR. O DANE é muito semelhante ao SSHFP RR, mas não está limitado ao SSH. Ele usa TLSA RR em vez disso com um formato muito semelhante.
ssh-keygen -r
também lida com ed25519 registos tipo (utilizando o número experimental 4 de iana iana.org/assignments/dns-sshfp-rr-parameters/... )Não tenho certeza se
ssh-keygen
funciona com chaves existentes. Caso contrário, você ainda pode montá-los facilmente em seu shell (o que eu prefiro) e sem software sofisticado ou interfaces remotas.A registros como mencionado ...
... existem 6 partes:
Para usá-lo, coloque
VerifyHostKeyDNS ask
na configuração do seu cliente SSH, normalmente~/.ssh/config
.fonte
ssh-keygen -r
não geram registros SSHFP para as chaves existentes, apesar do fato de que o nome do comando sugere que seja apenas para a geração.As versões anteriores do ssh-keygen não geram todas as chaves disponíveis (por exemplo, sem suporte para ecdsa e sha256). Este script cria todos os registros para todas as chaves disponíveis em
/etc/ssh/
:Edit: Nova versão com PR de alex-dupuy com suporte * BSD.
https://github.com/mindfuckup/Scripts/blob/master/sshfpgen
fonte
Se você usa o Puppet,
facter
tem suporte embutido parasshfp
. Além disso, se você estiver usando o PuppetDB, poderá extrair facilmente essas informações para todos os seus hosts.Fonte
fonte
É assim que estou recebendo meus registros SSHFP através do Ansible :
fonte