Implantando o Nagios em HTTP Seguro (HTTPS)

Prezados, no trabalho resolvemos catalogar a implantação de alguns serviços para assegurar o funcionamento destes e aumentar a produtividade na recuperação de desastres e ou migração de hardware. Enfim, segue abaixo a documentação que fiz e adaptei para postar como artigo aqui na comunidade.

[ Hits: 55.696 ]

Por: Rafael Bruno de Almeida em 12/08/2009


OpenSSL 0.9.8e



Utilizaremos o OpenSSL para nos gerar os certificados e chaves para que o site do Nagios funcione em http seguro (https), no meu cenário isto é extremamente necessário, recomendo a todos, porém caso não veja necessidade, pule esta parte do processo.

É importante falar também que como é um sistema de utilização interna, eu não possuo a necessidade de compra de um certificado válido, portanto eu mesmo decidi gerá-lo por conta própria.

Descompacte os arquivos e entre no diretório:

# tar -zxf openssl-0.9.8e.tar.gz
# cd openssl-0.9.8e


Compilando:

# ./config --prefix=/usr/local/open-ssl
# make
# make install


Abaixo estão descritos os passos para a geração das chaves e certificados que o Apache necessita para trabalhar em http seguro (https), não possuo amplos conhecimentos em certificados e chaves para a WEB, portanto, me referenciei em um artigo encontrado na própria comunidade:
E também na documentação do site dos próprios desenvolvedores do serviço:
Abaixo vou descrever os comandos que utilizei e se necessitarem de mais detalhes por favor visualizem o artigo ou a documentação acima, pois lá o nível de detalhes no que diz respeito a certificação na WEB são maiores.

Entre no diretório onde criaremos as chaves:

# cd /etc/ssl/private/

Gerando a chave para a criação dos certificados:

# openssl genrsa -des3 -out nome_chave.key 2048

Resultado:

Generating RSA private key, 2048 bit long modulus
...................+++
...................+++
e is 65537 (0x10001)
Enter pass phrase for nome_chave.key: senha
Verifying - Enter pass phrase for nome_chave.key: senha

Gerando a "requisição de certificado" - arquivo onde estarão os dados dos certificados gerados por este servidor:

# openssl req -new -key nome_chave.key -out req.cert.csr

Resultado:

Enter pass phrase for nome_chave.key: senha
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Minas Gerais
Locality Name (eg, city) []:Belo Horizonte
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Nome da Empresa Responsável
Organizational Unit Name (eg, section) []: Organização
Common Name (eg, YOUR name) []: Nome do Servidor
Email Address []:responsável@exemplo.com.br

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: Lembrete para senha
An optional company name []: Sigla do nome da empresa

Necessitamos agora fazer com que a chave funcione sem a necessidade da digitação de sua senha, pois sem esta configuração, a senha utilizada na criação da chave deverá ser fornecida toda vez que iniciarmos o nosso servidor WEB. Abaixo segue as linhas de comandos necessárias para que isto seja possível.

Gerando um arquivo com senha embutida:

# openssl rsa -in nome_chave.key -out nome_chave.key.insecure

Resultado:

Enter pass phrase for nome_chave.key: senha
writing RSA key

Realize um backup da chave original:

# mv nome_chave.key nome_chave.backup

Faça com que a chave com senha embutida passe ser a chave principal:

# mv nome_chave.key.insecure nome_chave.key

Gerando o certificado para o site do Nagios, com validade de 1 ano, com base nas informações do arquivo de "requisição de certificados" (req.cert.csr) e na nossa chave com senha embutida (nome_chave.key):

# openssl x509 -req -days 365 -in req.cert.csr -signkey nome_chave.key -out nagios.exemplo.com.br.crt

Mova o certificado para o diretório de certificados do servidor:

# mv nagios.exemplo.com.br.crt /etc/ssl/certs/

Enfim, com a(s) chave(s) e certificado(s) gerado(s), podemos passar para o próximo passo, que será a configuração do servidor http (Apache), abaixo seguem os caminhos dos nossos arquivos gerados para recapitularmos.
  • Certificado do site: /etc/ssl/certs/nagios.exemplo.com.br.crt
  • Chave: /etc/ssl/private/nome_chave.key
  • Arquivo de requisição: /etc/ssl/private/req.cert.csr

Página anterior     Próxima página

Páginas do artigo
   1. Pré-instalação
   2. OpenSSL 0.9.8e
   3. Apache 2.2.13 - Instalação, GD Library 2.0.35 e PHP 5.2.10
   4. Apache 2.2.13 - Virtualhost
   5. NAGIOS 3.1.2 e Apache 2.2.13
   6. Nagios plugins 1.4.13
   7. Finalizando
Outros artigos deste autor

Implantando o Cacti (gerador de gráficos) em HTTP Seguro (HTTPS)

Corrigindo a falha "WARNING! Your cache is running out of filedescriptors" - Squid2.7STABLE9 Slackware 12

Backup de roteadores Cisco com o TFTP + Pancho - Slackware 13

Leitura recomendada

LFTP - Sophisticated File Transfer Program

Disponibilidade em VOIP (VOIP WIFI POE)

Gerenciamento de senhas com o KeePass

Zenwalk - Uma distro e tanto

Octave, uma poderosa e robusta ferramenta matemática

  
Comentários
[1] Comentário enviado por hugovja em 12/08/2009 - 16:50h

Muito bom o artigo, ajudou bastante. Parabéns.

[2] Comentário enviado por magnolinux em 12/08/2009 - 18:58h

Otimo a didadica utilizada no artigo. Mais acho que perdeu a oportunidade de explicar a funcionalidade e a confi dos arquivos do proprio nagios.

Parabens..!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts