From 2b555be2cc732513ea41bb01cdcde27d6cf609a1 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Thu, 11 Jun 2015 00:06:11 -0300 Subject: Novos procedimentos e organizacao da documentacao --- certs.mdwn | 18 +++++++++++++----- cryptocalypse.mdwn | 4 +--- domains.mdwn | 20 ++++++++++++++++++++ install.mdwn | 55 ++++++++---------------------------------------------- keys.mdwn | 23 +++++++++-------------- provision.mdwn | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 102 insertions(+), 69 deletions(-) create mode 100644 domains.mdwn create mode 100644 provision.mdwn diff --git a/certs.mdwn b/certs.mdwn index 2f413d9..d3a7be2 100644 --- a/certs.mdwn +++ b/certs.mdwn @@ -6,10 +6,7 @@ Geração e renovação de certificados Começando --------- - HYDRA="nome-do-grupo" - FOLDER="`hydra $HYDRA folder`" - MAIN_DOMAIN="`hydra $HYDRA config domain`" - DOMAIN="$MAIN_DOMAIN" # ou outro domínio +Proceda com a [configuração do ambiente de trabalho administrativo](/install). Branch especial --------------- @@ -55,10 +52,10 @@ Após a renovação ---------------- mv /path/to/$DOMAIN.crt keys/ssl/$DOMAIN.crt - echo "" >> keys/ssl/$DOMAIN.crt # adiciona linefeed, caso preciso cat keys/ssl/gandi.crt >> keys/ssl/$DOMAIN.crt # baixe o intermediario para este caminho cat keys/ssl/$DOMAIN.pem > keys/ssl/$DOMAIN-concat.pem cat keys/ssl/$DOMAIN.crt >> keys/ssl/$DOMAIN-concat.pem + cat keys/ssl/$DOMAIN.crt >> keys/ssl/$DOMAIN-concat.crt cat keys/ssl/$DOMAIN.crt | keyringer $HYDRA encrypt ssl/$DOMAIN.crt # Registrando e enviando mudancas finais @@ -102,6 +99,17 @@ Copie as notificações para ser incluída em `https://$DOMAIN/certs`: Por fim, atualize os `postfix::tlspolicy_snippet` do `$DOMAIN`, caso aplicável. +Checando expiração em massa +--------------------------- + +É necessário instalar o [ssl-cert-check](https://git.sarava.org/?p=ssl-wrapper.git;a=summary): + + cd $FOLDER/puppet/keys/ssl + + for file in *.crt; do + ssl-cert-check -b -c $file + done + Puppet ------ diff --git a/cryptocalypse.mdwn b/cryptocalypse.mdwn index 152e693..0ccb1b2 100644 --- a/cryptocalypse.mdwn +++ b/cryptocalypse.mdwn @@ -6,9 +6,7 @@ Procedimento emergencial de rotação de chaves. Ou, como sobreviver a brechas d Começando --------- - HYDRA="nome-do-grupo" - FOLDER="`hydra $HYDRA folder`" - DOMAIN="`hydra $HYDRA config domain`" +Proceda com a [configuração do ambiente de trabalho administrativo](/install). Atualizando ----------- diff --git a/domains.mdwn b/domains.mdwn new file mode 100644 index 0000000..d48b24a --- /dev/null +++ b/domains.mdwn @@ -0,0 +1,20 @@ +[[!toc levels=4]] + +Gerenciamento de domínios +========================= + +Começando +--------- + +Proceda com a [configuração do ambiente de trabalho administrativo](/install). + +Checando expiração em massa +--------------------------- + +Necessita o script [domain-check](https://git.sarava.org/?p=puppet-domain_check.git): + + cd $FOLDER/puppet/modules/site_nginx/files + + for file in *; do + domain-check -d $file + done diff --git a/install.mdwn b/install.mdwn index d720278..7916189 100644 --- a/install.mdwn +++ b/install.mdwn @@ -1,12 +1,7 @@ [[!toc levels=4]] -Sistema Debian -============== - -A seguir, o procedimento de instalação de um sistema com disco criptografado, opcionalmente com gerenciamento de partida via dispositivo de armazenamento USB. - -Instalação ----------- +Instalação da Hydra Suite +========================= Atualmente o Padrão Saravá utiliza a [Hydra Suite](http://git.sarava.org/?p=hydra.git;a=summary) para fazer o provisionamento. Versões anteriores deste documento não o utilizam, são mais descritivas e talvez até mais interessantes ao público interessado nos pormenores do procedimento de instalação. @@ -24,44 +19,10 @@ Opcionalmente instale a suite no sistema: ./hydractl deploy -Após a instalação, basta iniciar o procedimento com os devidos privilégios administrativos (como `root` ou usando o `sudo`): - - hydractl provision - -O programa perguntará por parâmetros da instalação, como o dispositivo no qual o deve ser instalado, a arquitetura, a versão do sistema e o domínio principal. Depois disso a suíte se encarregará da maior parte dos detalhes de instalação. - -Continuando remotamente ------------------------ - -Agora a máquina já está quase a ponto de poder ser administrada remotamente. Antes disso, configure a rede, instale o sudo e adicione as contas de usuário/a iniciais: - - vi /etc/network/interfaces # configuracao de rede - vi /etc/udev/rules.d/70-persistent-net.rules # ajuste das placas de rede - vi /etc/resolv.conf # para usar o dns disponivel no data center - apt-get install sudo && adduser nome-de-usuario - -Antes de largar a máquina no data center, lembre-se de anotar os fingerprints do ssh exibidos anteriormente. - -Expansão de espaço em disco ---------------------------- - -* [How to resize a LUKS-encrypted partition created over LVM2](http://www.saout.de/tikiwiki/tiki-index.php?page=ResizeLUKSPartitions). -* [Resizing Encrypted Filesystems](http://www.debian-administration.org/articles/536). -* [Resizing a dm-crypt / LVM / ext3 partition](http://www.hermann-uwe.de/blog/resizing-a-dm-crypt-lvm-ext3-partition). - -Referências ------------ - -Algumas referências para instalação: - -* [Encrypted Root LVM](http://www.howtoforge.com/encrypted-root-lvm). -* [Encrypted filesystem - rigacci.org](http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/cryptfs). -* [EncryptedFilesystems - Ubuntu Documentation](https://help.ubuntu.com/community/EncryptedFilesystems). -* [Encrypting an entire system - ArchWiki](https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#LUKS_on_LVM). - -A opção de partida `rootdelay` é importante no caso de sistemas contidos dentro de volumes USB, já que o kernel demora alguns instantes para detectar tais volumes. Detalhes a respeito em - -* [Installing Linux on USB - Part 5: Installing Debian Linux on USB flash memory drives](http://blogs.koolwal.net/2009/02/03/installing-linux-on-usb-part-5-installing-debian-linux-on-usb-flash-memory-drives/). -* [initramfs-tools: lvm is not initialized on USB disks](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366175#37). -* [When root on USB: add rootdelay=xx to kernel command line](https://blueprints.launchpad.net/ubuntu/+spec/kernel-boot-usb-roodelay). +Ambiente de trabalho administrativo +----------------------------------- + HYDRA="nome-do-grupo" + FOLDER="`hydra $HYDRA folder`" + MAIN_DOMAIN="`hydra $HYDRA config domain`" + DOMAIN="$MAIN_DOMAIN" # ou outro domínio diff --git a/keys.mdwn b/keys.mdwn index a484da4..991bf54 100644 --- a/keys.mdwn +++ b/keys.mdwn @@ -8,18 +8,13 @@ Configura A maior parte dos procedimentos a seguir depende do aplicativo [keyringer](http://git.sarava.org/?p=keyringer.git;a=summary), da [Hydra Suite](http://git.sarava.org/?p=hydra.git;a=summary) e de uma configuração do tipo - # Configuracao - project="exemplo" - domain="exemplo.org" - admin="nodo_admin" - admin_port="porta_ssh" - base="$HOME/grupos/$project/conf" +Proceda então com a [configuração do ambiente de trabalho administrativo](/install). Inicializando um repositório ---------------------------- # Inicializando - keyringer $project init $base/keyring + keyringer $HYDRA init $FOLDER/conf/keyring Gerando chaves https -------------------- @@ -27,36 +22,36 @@ Gerando chaves https Gerar chaves e certificados SSL auto-assinados é simples: # Gerando chaves para https - keyringer $project genpair ssl-self ssl/cert $domain + keyringer $HYDRA genpair ssl-self ssl/cert $DOMAIN Caso você queira gerar apenas a chave e a requisição de certificação (CSR), use - keyringer $project genpair ssl ssl/cert $domain + keyringer $HYDRA genpair ssl ssl/cert $DOMAIN Para a chaves e requisições CaCert, use - keyringer $project genpair ssl-cacert ssl/cert $domain + keyringer $HYDRA genpair ssl-cacert ssl/cert $DOMAIN Gerando chaves para novos nodos ------------------------------- # Gerando chaves ssh e gpg para novos nodos # A importacao das chaves gpg nos nodos deve ser feita manualmente - hydra $project newkeys + hydra $HYDRA newkeys Submetendo mudanças ------------------- # Submetendo - keyringer $project git remote add origin giolite@$admin.$domain:keyring.git - keyringer $project git push origin master + keyringer $HYDRA git remote add origin giolite@admin.$DOMAIN:keyring.git + keyringer $HYDRA git push origin master Importação de chaves GPG ------------------------ Importando chaves nos seus respectivos nodos: - hydra $project import-key + hydra $HYDRA import-key Chaves pessoais =============== diff --git a/provision.mdwn b/provision.mdwn new file mode 100644 index 0000000..9cb3a32 --- /dev/null +++ b/provision.mdwn @@ -0,0 +1,51 @@ +[[!toc levels=4]] + +Provisionando um Sistema Operacional +==================================== + +A seguir, o procedimento de instalação de um sistema com disco criptografado, opcionalmente com gerenciamento de partida via dispositivo de armazenamento USB. + +Instalação +---------- + +Após a [instalação da Hydra Suite](/install), basta iniciar o procedimento com os devidos privilégios administrativos (como `root` ou usando o `sudo`): + + hydractl provision + +O programa perguntará por parâmetros da instalação, como o dispositivo no qual o deve ser instalado, a arquitetura, a versão do sistema e o domínio principal. Depois disso a suíte se encarregará da maior parte dos detalhes de instalação. + +Continuando remotamente +----------------------- + +Agora a máquina já está quase a ponto de poder ser administrada remotamente. Antes disso, configure a rede, instale o sudo e adicione as contas de usuário/a iniciais: + + vi /etc/network/interfaces # configuracao de rede + vi /etc/udev/rules.d/70-persistent-net.rules # ajuste das placas de rede + vi /etc/resolv.conf # para usar o dns disponivel no data center + apt-get install sudo && adduser nome-de-usuario + +Antes de largar a máquina no data center, lembre-se de anotar os fingerprints do ssh exibidos anteriormente. + +Expansão de espaço em disco +--------------------------- + +* [How to resize a LUKS-encrypted partition created over LVM2](http://www.saout.de/tikiwiki/tiki-index.php?page=ResizeLUKSPartitions). +* [Resizing Encrypted Filesystems](http://www.debian-administration.org/articles/536). +* [Resizing a dm-crypt / LVM / ext3 partition](http://www.hermann-uwe.de/blog/resizing-a-dm-crypt-lvm-ext3-partition). + +Referências +----------- + +Algumas referências para instalação: + +* [Encrypted Root LVM](http://www.howtoforge.com/encrypted-root-lvm). +* [Encrypted filesystem - rigacci.org](http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/cryptfs). +* [EncryptedFilesystems - Ubuntu Documentation](https://help.ubuntu.com/community/EncryptedFilesystems). +* [Encrypting an entire system - ArchWiki](https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#LUKS_on_LVM). + +A opção de partida `rootdelay` é importante no caso de sistemas contidos dentro de volumes USB, já que o kernel demora alguns instantes para detectar tais volumes. Detalhes a respeito em + +* [Installing Linux on USB - Part 5: Installing Debian Linux on USB flash memory drives](http://blogs.koolwal.net/2009/02/03/installing-linux-on-usb-part-5-installing-debian-linux-on-usb-flash-memory-drives/). +* [initramfs-tools: lvm is not initialized on USB disks](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366175#37). +* [When root on USB: add rootdelay=xx to kernel command line](https://blueprints.launchpad.net/ubuntu/+spec/kernel-boot-usb-roodelay). + -- cgit v1.2.3