Chaves¶
Repositório de chaves¶
Configuração¶
A maior parte dos procedimentos a seguir depende do aplicativo keyringer, da Hydra Suite e de uma configuração do tipo
Proceda então com a configuração do ambiente de trabalho administrativo.
Inicializando um repositório¶
# Inicializando
keyringer $HYDRA init $FOLDER/conf/keyring
Gerando chaves https¶
Gerar chaves e certificados SSL auto-assinados é simples:
# Gerando chaves para https
keyringer $HYDRA genpair ssl-self ssl/$DOMAIN $DOMAIN
Caso você queira gerar apenas a chave e a requisição de certificação (CSR), use
keyringer $HYDRA genpair ssl ssl/$DOMAIN $DOMAIN
Para a chaves e requisições CaCert, use
keyringer $HYDRA genpair ssl-cacert ssl/$DOMAIN $DOMAIN
Gerando chaves para novos nodos¶
# Gerando chaves ssh e gpg para novos nodos
# A importacao das chaves gpg nos nodos deve ser feita manualmente
hydra $HYDRA newkeys
Submetendo mudanças¶
# Submetendo
keyringer $HYDRA git remote add origin giolite@admin.$DOMAIN:keyring.git
keyringer $HYDRA git push origin master
Importação de chaves GPG¶
Importando chaves nos seus respectivos nodos:
hydra $HYDRA import-key
Chaves SSH¶
Para gerar uma chave SSH pessoal, use um comando do tipo
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -C "seu@email"
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "seu@email"
Esse tipo de comando irá gerar uma chave privada em ~/.ssh/id_rsa
e uma
respectiva chave pública em ~/.ssh/id_rsa.pub
. Se você já possui uma
chave em ~/.ssh/id_rsa
e quiser mantê-la, escolha outro nome para a nova
chave, como por exemplo ~/.ssh/id_rsa_aplicacao
.
Senhas¶
Exemplo de geração de senhas usando o pwgen:
pwgen -s -y 25
Atenção: muitos programas e configurações podem não funcionar por conta do uso de caracteres especiais nas senhas. Assim, recomenda-se evitar alguns caracteres especiais -- por exemplo delimitadores de campo -- quando for o caso e/ou testar a senha após a sua escolha.
Impressões digitais¶
Chaves SSL¶
Chaves SSL podem ter seu fingerprint determinado através usando o OpenSSL em linha de comando, com linhas do tipo
openssl x509 -noout -in /etc/ssl/certs/cert.crt -fingerprint
openssl x509 -noout -in /etc/ssl/certs/cert.crt -fingerprint -md5
Chaves públicas SSH¶
O seguinte comando retorna todas as fingerprints dos arquivos de chave pública ssh terminados em .pub
no diretório /etc/ssh/
:
hydractl ssh-finger
Para obter um fingerprint salvo no seu ~/.ssh/known_hosts
pessoal, use
ssh-keygen -l -F servidor.exemplo.org -f ~/.ssh/known_hosts
ssh-keygen -l -F [servidor.exemplo.org]:porta -f ~/.ssh/known_hosts
Monkeysphere¶
O monkeysphere é um programa que permite a verificação de hosts SSH e usuários/as através da Teia de Confiabilidade do OpenPGP. Com ele, o gerenciamento de fingerprints fica mais fácil e evita que páginas como esta centralizem informações que possam se desatualizar.
Além dos usos já documentados, o monkeysphere pode ser utilizado também para autenticação em sistemas que não possuem tal suporte:
monkeysphere gen-subkey -l 4096 # caso voce ainda nao tenha uma chave
mkdir -m 700 ~/.monkeysphere
echo "SEU-ID" >> ~/.monkeysphere/authorized_user_ids # exemplo: "Seu Nome <seu-email@example.org>"
touch ~/.ssh/id_rsa_monkeysphere.pub
chmod 600 ~/.ssh/id_rsa_monkeysphere.pub
MONKEYSPHERE_AUTHORIZED_KEYS=$HOME/.ssh/id_rsa_monkeysphere.pub monkeysphere update-authorized_keys
Agora, basta fornecer a chave localizada em ~/.ssh/id_rsa_monkeysphere.pub
para autenticação :)
Hashes¶
Hashes são úteis para o armazenamento de senhas de usuário. São usados por
exemplo no shadow(5)
. Para gerar um hash compatível com o shadow (por exemplo
para gestão via
puppet-user), utilize o
seguinte comando disponível no pacote whois do
Debian:
mkpasswd -m sha-512
Hashes para htpasswd
são descritos aqui.
Exportação de assinaturas locais¶
gpg --armor --export-options export-local-sigs --export KEYID
Forçando entrada de senhas via console no GnuPG¶
DISPLAY="" gpg <opcoes>
Mudando senhas de chaves¶
ssh-keygen -p -f ~/.ssh/id_rsa
gpg --edit-key <ID> edit-key passwd
Chave OpenPGP de Coletivo¶
Vide Chave OpenPGP de Coletivo.