summaryrefslogtreecommitdiff
path: root/cryptocalypse.md
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2017-10-01 17:21:16 -0300
committerSilvio Rhatto <rhatto@riseup.net>2017-10-01 17:21:16 -0300
commit07d75df75ada34ef4b7de9cb07770b19251520f1 (patch)
treea3b814eda00e61afbaf9f778edee4ccaba92741d /cryptocalypse.md
parentef09f1fdae32c8d46b464bb50a85bb69097c211a (diff)
downloadpadrao-07d75df75ada34ef4b7de9cb07770b19251520f1.tar.gz
padrao-07d75df75ada34ef4b7de9cb07770b19251520f1.tar.bz2
Change markdown extension to .md
Diffstat (limited to 'cryptocalypse.md')
-rw-r--r--cryptocalypse.md93
1 files changed, 93 insertions, 0 deletions
diff --git a/cryptocalypse.md b/cryptocalypse.md
new file mode 100644
index 0000000..0ccb1b2
--- /dev/null
+++ b/cryptocalypse.md
@@ -0,0 +1,93 @@
+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).