aboutsummaryrefslogtreecommitdiff
path: root/keys.mdwn
blob: 5533d22863c0c9caa7e71233fa71624571d7fbe1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
[[!toc  levels=4]]

Reposit�rio de chaves
=====================

Configura��o
------------

A maior parte dos procedimentos a seguir depende do aplicativo [keyringer](http://git.sarava.org/?p=keyringer.git;a=summary), da [Hydra Suite](http://git.sarava.org/?p=hydra.git;a=summary) e de uma configura��o do tipo

    # Configuracao
    project="exemplo"
    domain="exemplo.org"
    admin="nodo_admin"
    admin_port="porta_ssh"
    base="$HOME/grupos/$project/conf"

Inicializando um reposit�rio
----------------------------
    
    # Inicializando
    keyringer $project init $base/keyring

Gerando chaves https
--------------------

Gerar chaves e certificados SSL auto-assinados � simples:
    
    # Gerando chaves para https
    keyringer $project genpair ssl-self ssl/cert $domain

Caso voc� queira gerar apenas a chave e a requisi��o de certifica��o (CSR), use

    keyringer $project genpair ssl ssl/cert $domain

Para a chaves e requisi��es CaCert, use

    keyringer $project genpair ssl-cacert ssl/cert $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 $project newkeys

Submetendo mudan�as
-------------------
    
    # Submetendo
    keyringer $project git remote add origin ssh://gitosis@$admin.$domain:$admin_port/keyring.git
    keyringer $project git push origin master

Importa��o de chaves GPG
------------------------

Importando chaves nos seus respectivos nodos:

    hydra $project import-key 

Exporta��o de assinaturas locais
--------------------------------

    gpg --armor --export-options export-local --export KEYID

Chaves pessoais
===============

Para gerar uma chave SSH pessoal, use um comando do tipo

    ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "seu@email"

Esse 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](http://packages.debian.org/lenny/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](http://www.madboa.com/geek/openssl), 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/`:

    for i in /etc/ssh/*.pub; do
      ssh-keygen -l -f $i
    done

Monkeysphere
============

O [monkeysphere](http://web.monkeysphere.info) � 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.

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](http://git.sarava.org/?p=puppet-user.git;a=summary)), utilize o comando

    mkpasswd -m sha-256

Hashes para `htpasswd` s�o descritos [aqui](http://wiki.sarava.org/Ajuda/ProtegendoConteudo).

Refer�ncias
===========

* [Using ssh-agent with ssh](http://mah.everybody.org/docs/ssh).
* [Using Rsync and SSH ](http://troy.jdmz.net/rsync/index.html).
* [SSH and ssh-agent](http://www.securityfocus.com/infocus/1812).