Commit d952d30b7fcce15219cfcf9a2a0791da1ac11e62

Authored by Antonio Terceiro
1 parent a6fd92e7

Documentando gestão de par de chaves SSL

Showing 2 changed files with 39 additions and 0 deletions   Show diff stats
  1 +require 'yaml'
  2 +
1 $SPB_ENV = ENV.fetch('SPB_ENV', 'local') 3 $SPB_ENV = ENV.fetch('SPB_ENV', 'local')
2 4
3 $_.gsub!('@@SPB_ENV@@', $SPB_ENV) 5 $_.gsub!('@@SPB_ENV@@', $SPB_ENV)
4 6
  7 +config = YAML.load_file("../config/#{$SPB_ENV}/config.yaml")
  8 +config.each do |key,value|
  9 + $_.gsub!("@@#{key}@@", value.to_s)
  10 +end
  11 +
5 $_.gsub!(/@@config\(([^\)]*)\)@@/) do |f| 12 $_.gsub!(/@@config\(([^\)]*)\)@@/) do |f|
6 lines = File.read("../config/#{$SPB_ENV}/#{$1}").lines 13 lines = File.read("../config/#{$SPB_ENV}/#{$1}").lines
7 lines.shift + lines.map do |line| 14 lines.shift + lines.map do |line|
docs/implantacao.rst.in
@@ -169,6 +169,38 @@ senha nehuma vez, significa que 1) você conseguiu conectar em todas as máquina @@ -169,6 +169,38 @@ senha nehuma vez, significa que 1) você conseguiu conectar em todas as máquina
169 e 2) o sudo sem senha está configurado corretamente. Está tudo certo para 169 e 2) o sudo sem senha está configurado corretamente. Está tudo certo para
170 começar! 170 começar!
171 171
  172 +Nota sobre certificado SSL
  173 +--------------------------
  174 +
  175 +O repositório de gestão de configuração **não** contém os par de chaves
  176 +do cerficado SSL para o domínio **@@external_hostname@@**. Antes de
  177 +realizar a implantação, você deve colocar o par de chaves nos seguintes
  178 +locais:
  179 +
  180 +* `cookbooks/reverse_proxy/files/host-reverseproxy/@@external_hostname@@.crt`: certificado (chave pública), em formato PEM.
  181 +* `cookbooks/reverse_proxy/files/host-reverseproxy/@@external_hostname@@.key`: chave privada, em formato PEM.
  182 +
  183 +Para uma melhor segurança da chave privada, e recomendado que a mesma
  184 +seja criptografada com GnuPG, o que é suportado pela ferramente de
  185 +implantação `chake`. Isso pode ser feito da seguinte maneira::
  186 +
  187 + $ cd cookbooks/reverse_proxy/files/host-reverseproxy/
  188 + # criptografar:
  189 + $ gpg --encrypt --recipient XXXXXXXX --output @@external_hostname@@.key.gpg @@external_hostname@@.key
  190 + # conferir que o conteúdo descriptografado está OK:
  191 + $ gpg --decrypt @@external_hostname@@.key.gpg
  192 + # apagar o arquivo sem criptografia:
  193 + $ rm @@external_hostname@@.key
  194 + # retornar ao diretório de origem
  195 + $ cd -
  196 +
  197 +`XXXXXXXX` deve ser substituído pelo ID da chave que está sendo usada
  198 +para criptografar.
  199 +
  200 +Antes de fazer a implantação, o `chake` vai enviar a chave privada
  201 +descriptografada apenas à máquina que vai ser o frontend HTTPS. Caso sua
  202 +chave GnuPG necessite de uma senha para ser usada, ela será solicitada.
  203 +
172 Primeira instalação 204 Primeira instalação
173 ------------------- 205 -------------------
174 206