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.
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:
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
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários