summaryrefslogtreecommitdiff
path: root/docs/cryptocalypse.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/cryptocalypse.md')
-rw-r--r--docs/cryptocalypse.md84
1 files changed, 84 insertions, 0 deletions
diff --git a/docs/cryptocalypse.md b/docs/cryptocalypse.md
new file mode 100644
index 0000000..2e97969
--- /dev/null
+++ b/docs/cryptocalypse.md
@@ -0,0 +1,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).