From 26bca9756744798496788b7adce229a7b21b9d4e Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Fri, 20 Mar 2015 11:14:02 -0300 Subject: Puppet certs / Cryptocalypse --- cryptocalypse.mdwn | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 cryptocalypse.mdwn (limited to 'cryptocalypse.mdwn') diff --git a/cryptocalypse.mdwn b/cryptocalypse.mdwn new file mode 100644 index 0000000..152e693 --- /dev/null +++ b/cryptocalypse.mdwn @@ -0,0 +1,95 @@ +Cryptocalypse! +============== + +Procedimento emergencial de rotação de chaves. Ou, como sobreviver a brechas do tipo [Heartbleed](http://heartbleed.com/)! + +Começando +--------- + + HYDRA="nome-do-grupo" + FOLDER="`hydra $HYDRA folder`" + DOMAIN="`hydra $HYDRA config domain`" + +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). -- cgit v1.2.3