]> gitweb.fluxo.info Git - padrao.git/commitdiff
Puppet certs / Cryptocalypse
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 20 Mar 2015 14:14:02 +0000 (11:14 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 20 Mar 2015 14:14:02 +0000 (11:14 -0300)
certs.mdwn
certs/puppet.mdwn [new file with mode: 0644]
cryptocalypse.mdwn [new file with mode: 0644]
index.mdwn
todo.mdwn [new file with mode: 0644]

index 2e6c3c3ac0602b408511635fb7b048d04303cf47..2f413d92516db1131e77d018cbd2eb1a619938e0 100644 (file)
@@ -101,3 +101,8 @@ Copie as notificações para ser incluída em `https://$DOMAIN/certs`:
     git push
 
 Por fim, atualize os `postfix::tlspolicy_snippet` do `$DOMAIN`, caso aplicável.
+
+Puppet
+------
+
+[Renovação de certificados do puppet](puppet).
diff --git a/certs/puppet.mdwn b/certs/puppet.mdwn
new file mode 100644 (file)
index 0000000..490341f
--- /dev/null
@@ -0,0 +1,30 @@
+Puppet: trocando certificados
+=============================
+
+Resetando o master
+------------------
+
+Conforme [referência](http://blkperl.github.io/replace-puppet-ca.html):
+
+    hydractl puppet-reset-master
+
+Caso seja necessário limpar todos os requests durante testes:
+
+    rm /var/lib/puppetmaster/ssl/ca/requests/*
+
+Reiniciando os agentes
+----------------------
+
+Cada agente precisa ter seus certificados criados:
+
+    admin@box$ hydra $HYDRA mass hydractl puppet-reset-agent
+    admin@box$ hydra $HYDRA mass hydractl puppet-finger
+
+Colete os fingerprints gerados e confirme com o master:
+
+    root@master$ puppet cert list
+    root@master$ puppet cert sign --all
+
+Finalmente,
+
+    admin@box$ hydra $HYDRA mass /etc/init.d/puppet restart
diff --git a/cryptocalypse.mdwn b/cryptocalypse.mdwn
new file mode 100644 (file)
index 0000000..152e693
--- /dev/null
@@ -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).
index ca224e293ade28668c11c5a28dbe488e0c7007d1..ce62b8385c5c81bcfb09dd4ec50bcb0b0d93f64c 100644 (file)
@@ -26,6 +26,7 @@ A antiga documenta
 * [Backup](backup).
 * [Chaves](keys).
 * [Certificados](certs).
+* [Cryptocalypse](cryptocalypse).
 * [Auditoria](audit).
 * [Bootstrap](bootstrap).
 * [Adicionando um nodo](nodo).
diff --git a/todo.mdwn b/todo.mdwn
new file mode 100644 (file)
index 0000000..4e9af1b
--- /dev/null
+++ b/todo.mdwn
@@ -0,0 +1,12 @@
+[[!toc levels=4]]
+
+TODO
+====
+
+[Certificados](certs)
+---------------------
+
+* Disponinibilizar modelos (`templates/certs` e `notices/certs`).
+* Procedimento para salvar contratos, invoices, etc no repositório de documentação.
+* Onde for possível, substituir "SSL" por "TLS", "x509", "certs" ou "Certificados" quando aplicável.
+* Traduzir [Certificates](https://help.riseup.net/pt/security/network-security/certificates) e usar como referência de protocolo.