De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Gerar certificado SSL auto-assinado para uso no Apache 2 em servidores GNU-Linux

Colaboração: Mário Jorge Limeira dos Santos

Data de Publicação: 20 de julho de 2016

Essa dica se destina principalmente ao administrador de rede/servidores que deseja disponibilizar páginas/conteúdo web de forma segura/criptografada na sua rede local e não deseja para isso adquirir um certificado digital SSL de uma empresa/autoridade certificadora.

O procedimento foi testado no Ubuntu Server 12.04 e 14.04 com as versões 2.2.22 e 2.4.7 do Servidor Web Apache. Deve funcionar no Debian e seus derivados e também em outras distros GNU-Linux, apenas adaptando a localização do diretório de configuração do servidor apache e a forma de gerenciamento do serviço.

Para realizar o procedimento é necessário acesso de root ou um usuário com privilégios sudo e ter previamente o servidor web Apache2 e o pacote openssl instalados no seu servidor.

Caso não esteja habilitado, habilite o módulo ssl do Apache com o comando:

  # a2enmod ssl

Reinicie o apache:

  # service apache2 restart

Dentro do diretório de configuração do apache, /etc/apache2, crie uma pasta chamada ssl caso não exista:

  #  mkdir ssl

Para fins de organização, crie as pastas certs e private dentro da pasta ssl:

  # mkdir ssl/certs ssl/private

Dentro do pasta ssl gere uma chave privada de 2048 bits:

  # openssl genrsa -des3 -out nomedachavecomsenha.key 2048

Será solicitada uma senha duas vezes.

Use a chave recém-criada para criar um pedido de certificado:

  #  openssl req -new -key nomedachavecomsenha.key -out  nomedachave.csr

Serão solicitadas algumas informações:

  1. A senha que foi inserida para a chave anteriormente criada;
  2. o codigo do País com duas letras;
  3. nome do estado;
  4. nome da cidade;
  5. Nome da organização/instituição;
  6. Nome da unidade da organização/instituição;
  7. Common Name; (Esse é o campo mais importante onde se deve colocar o nome ou o IP do seu servidor/domínio);
  8. Endereço de e-mail;
  9. Outros atributos extras opcionais;

Execute o comando abaixo para gerar uma nova chave sem uma senha:

  # openssl rsa -in nomedachavecomsenha.key -out nomedachavesemsenha.key

Será solicitada a senha da chave novamente.

Use este comando para criar o seu certificado auto-assinado:

  # openssl x509 -req -in nomedachave.csr -days 365 -signkey nomedachavesemsenha.key -out nomedocertificado.crt

Ainda dentro da pasta ssl copie a chave e o certificado para as pastas adequadas:

  # cp nomedocertificado.crt certs/  ; cp nomedachavesemsenha.key private/

Vá para a pasta sites-available dentro da pasta do apache e com o editor da sua preferência edite o arquivo de configuração do site ssl, no meu caso o arquivo default-ssl.conf (em versões mais antigas do apache esse arquivo deve se chamar apenas default-ssl, sem o .conf),

Comente as seguintes linhas (acrescentando no início da linha o caractere #):

  #SSLCertificateFile     /etc/ssl/certs/ssl-cert-snakeoil.pem
  #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

E adicione as linhas com os caminhos para os seus certificados:

  SSLCertificateFile /etc/apache2/ssl/certs/nomedocertificado.crt
  SSLCertificateKeyFile /etc/apache2/ssl/private/nomedachavesemsenha.key

Ative o site default-ssl:

  # a2ensite default-ssl

Reinicie ou recarregue o apache:

  # service apache2 restart

ou

  # service apache2 reload

Agora no seu navegador web é só acessar o seu site com https://enderecodoseuservidor e conferir que ele está usando o seu certificado auto-assinado.

Mário Jorge é Analista de Tecnologia da Informação do IFCE, https://diasporabr.com.br/i/651382b44715

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Mário Jorge Limeira dos Santos