summaryrefslogtreecommitdiff
path: root/docs/cryptocalypse.md
blob: 2e97969bf12b29da33818fad743971ad7e5f920e (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
# Cryptocalypse!

Procedimento emergencial de rotação de chaves. Ou, como sobreviver a brechas do tipo [Heartbleed](http://heartbleed.com/)!

## Começando

Proceda com a [configuração do ambiente de trabalho administrativo](/install).

## Atualizando

Se for possível e desejável, faça upgrade geral

    hydra $HYDRA mass-upgrade

## Gerando novas chaves SSH

Na máquina do/a administrador:

    hydra $HYDRA newkeys all-ssh

Para cada nodo usado no git público:

    cp $FOLDER/puppet/keys/ssh/$nodo/"$nodo"_id_rsa.pub $FOLDER/git/public/keydir/root@$nodo.$DOMAIN.pub

    ( cd $FOLDER/puppet     && git add . && git commit -m "Gerando chaves ssh" && git push )
    ( cd $FOLDER/git/public && git add . && git commit -m "Gerando chaves ssh" && git push )

## Chaves do Puppet

[Reset da infra de CA do puppet](certs/puppet).

## Certificados SSL

[Gere novos certificados SSL](certs).

## Chaves SSH dos ikiwikis

    WIKIS="lista de ikiwikis"
    NODE="aziz"

    for wiki in $WIKIS; do
      ssh-keygen -t rsa -P '' -b 4096 -f $FOLDER/puppet/keys/ssh/$NODE/ikiwiki/"$wiki"_id_rsa -C "$wiki@$wiki.$DOMAIN"
      cp $FOLDER/puppet/keys/ssh/aziz/ikiwiki/"$wiki"_id_rsa.pub $FOLDER/git/public/keydir/$wiki@$wiki.$DOMAIN.pub
    done

    ( cd $FOLDER/puppet     && git add . && git commit -m "Gerando chaves para ikiwiki" && git push )
    ( cd $FOLDER/git/public && git add . && git commit -m "Gerando chaves para ikiwiki" && git push )

## Tor

A parte fácil:

    hydra $HYDRA mass-web /etc/init.d/tor stop
    hydra $HYDRA mass-web rm -rf /var/lib/tor/hidden
    hydra $HYDRA mass-web mkdir /var/lib/tor/hidden
    hydra $HYDRA mass-web chown debian-tor. /var/lib/tor/hidden
    hydra $HYDRA mass-web /etc/init.d/tor start

Isso precisa ser feito manualmente para outros serviços (por exemplo email e ssh):

    cd `hydra $HYDRA folder`/puppet
    grep -R onion hiera
    grep -R onion manifests
    grep -R onion modules/site_*

Monte uma lista de servidores e proceda com a regeneração:

    SERVERS="galdino satanito magaiver"

    for server in $SERVERS; do
      hydra $HYDRA exec $server /etc/init.d/tor stop
      hydra $HYDRA exec $server rm -rf /var/lib/tor/hidden
      hydra $HYDRA exec $server mkdir /var/lib/tor/hidden
      hydra $HYDRA exec $server chown debian-tor. /var/lib/tor/hidden
      hydra $HYDRA exec $server /etc/init.d/tor start
    done

Em seguida, colete os novos hostnames e atualize os `ServerAlias` dos sites e outras referências:

    hydra $HYDRA mass-web hydractl hidden-services

## Senhas de usuário

O procedimento deve variar de aplicação para aplicação. Por exemplo, para o drupal há o [Force password change](https://drupal.org/project/force_password_change).