Commit d952d30b7fcce15219cfcf9a2a0791da1ac11e62
1 parent
a6fd92e7
Exists in
master
and in
89 other branches
Documentando gestão de par de chaves SSL
Showing
2 changed files
with
39 additions
and
0 deletions
Show diff stats
docs/build.rb
| 1 | +require 'yaml' | |
| 2 | + | |
| 1 | 3 | $SPB_ENV = ENV.fetch('SPB_ENV', 'local') |
| 2 | 4 | |
| 3 | 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 | 12 | $_.gsub!(/@@config\(([^\)]*)\)@@/) do |f| |
| 6 | 13 | lines = File.read("../config/#{$SPB_ENV}/#{$1}").lines |
| 7 | 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 | 169 | e 2) o sudo sem senha está configurado corretamente. Está tudo certo para |
| 170 | 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 | 204 | Primeira instalação |
| 173 | 205 | ------------------- |
| 174 | 206 | ... | ... |