summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2015-03-20 11:14:02 -0300
committerSilvio Rhatto <rhatto@riseup.net>2015-03-20 11:14:02 -0300
commit26bca9756744798496788b7adce229a7b21b9d4e (patch)
tree42725dfd5bf5522cf1e99303a0a2fae834116b5d
parentfa01b25cac0cbd86375c2204707d5c46b023de4d (diff)
downloadpadrao-26bca9756744798496788b7adce229a7b21b9d4e.tar.gz
padrao-26bca9756744798496788b7adce229a7b21b9d4e.tar.bz2
Puppet certs / Cryptocalypse
-rw-r--r--certs.mdwn5
-rw-r--r--certs/puppet.mdwn30
-rw-r--r--cryptocalypse.mdwn95
-rw-r--r--index.mdwn1
-rw-r--r--todo.mdwn12
5 files changed, 143 insertions, 0 deletions
diff --git a/certs.mdwn b/certs.mdwn
index 2e6c3c3..2f413d9 100644
--- a/certs.mdwn
+++ b/certs.mdwn
@@ -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
index 0000000..490341f
--- /dev/null
+++ b/certs/puppet.mdwn
@@ -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
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).
diff --git a/index.mdwn b/index.mdwn
index ca224e2..ce62b83 100644
--- a/index.mdwn
+++ b/index.mdwn
@@ -26,6 +26,7 @@ A antiga documentação do Padrão Saravá ainda [está disponível](trac/).
* [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
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.