Como implementar o SSL no Apache Tomcat?

Um guia passo a passo para configurar o certificado SSL / TLS no servidor Tomcat.


Uma das tarefas essenciais para proteger o Tomcat é configurar o certificado SSL, para que o aplicativo Web seja acessível através de HTTPS.

Existem muitas maneiras de conseguir isso.

  • Você pode finalizar o SSL em um balanceador de carga
  • Implementar SSL no nível da CDN
  • Use servidores da Web como Apache, Nginx, etc. na frente e implemente SSL lá

No entanto, se você não estiver usando nenhuma das opções acima ou usando isso como front-end ou precisar implantar SSL diretamente no Tomcat, o seguinte ajudará você.

Neste artigo, faremos o seguinte.

  • Gere CSR (solicitação de assinatura de certificado)
  • Importar certificado em um arquivo keystore
  • Ativar SSL no Tomcat
  • Configurar protocolo TLS
  • Mude o Tomcat para escutar na porta 443
  • Teste a vulnerabilidade do Tomcat para SSL

Vamos começar…

Preparando o certificado SSL / TLS

O primeiro passo seria gerar um CSR e assiná-lo pelo autoridade de certificação. Usaremos o utilitário keytool para gerenciar os certificados.

  • Efetue login no servidor Tomcat
  • Vá para o caminho da instalação do tomcat
  • Crie uma pasta chamada ssl
  • Executar comando para criar um keystore

keytool -genkey -alias domainname -keyalg RSA -keysize 2048 -keystore filename.jks

Existem duas variáveis ​​nos comandos acima que você pode querer alterar.

  1. Alias ​​- é melhor mantê-lo significativo para que você possa reconhecer rapidamente no futuro. Eu prefiro mantê-lo como um nome de domínio.
  2. Nome do arquivo – novamente, é bom manter o nome do domínio.

Ex:

[[protegido por email] ssl] # keytools -genkey -alias bloggerflare -keyalg RSA -keysize 2048 -keystore bloggerflare.jks
Digite a senha do keystore:
Re-introduza a nova palavra-passe:
Qual é o seu primeiro e último nome?
[Desconhecido]: bloggerflare.com
Qual o nome da sua unidade organizacional?
[Desconhecido]: Blog
Qual é o nome da sua organização?
[Desconhecido]: Geek Flare
Qual é o nome da sua cidade ou localidade?
[Desconhecido]:
Qual é o nome do seu estado ou província?
[Desconhecido]:
Qual é o código do país com duas letras para esta unidade?
[Desconhecido]:
O CN = bloggerflare.com, OU = Blogging, O = Geek Flare, L = Desconhecido, ST = Desconhecido, C = Desconhecido está correto?
[não]: sim

Digite a senha da chave para
(RETURN se for igual à senha do keystore):

[[protegido por email] ssl] #

Prestar atenção em a questão do nome e sobrenome. Isso é um pouco enganador, eu acho. Não é o seu nome, mas o nome de domínio que você deseja proteger.

Depois de fornecer todas as informações, ele criará um arquivo keystore em um diretório de trabalho atual.

Em seguida seria gerar um novo CSR com o keystore recém-criado com o comando abaixo.

keytool -certreq -alias bloggerflare -keyalg RSA -arquivo bloggerflare.csr -keystore bloggerflare.jks

Isso criará um CSR que você precisará enviar à autoridade de certificação para assiná-lo. Se você estiver brincando, considere usar um provedor de certificados GRATUITO ou então vá para um premium.

Eu assinei o certificado e prosseguirei para importar para o keystore com o comando abaixo.

  • O certificado raiz de importação é fornecido pelo provedor

keytool -importcert -alias root -arquivo raiz -keystore bloggerflare.jks

  • Importar certificado intermediário

keytool -importcert -alias intermediário -arquivo intermediário -keystore bloggerflare.jks

Nota: sem importar raiz & intermediário, você não poderá importar o certificado de domínio para o keystore. Se você tiver mais de um intermediário, precisará importá-los todos.

  • Importar certificado de domínio

keytool -importcert -arquivo bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare

e você receberá uma confirmação de que foi instalado.

A resposta do certificado foi instalada no keystore

Ótimo, então o keystore de certificado está pronto agora. Vamos para o próximo passo.

Se você é novo no SSL e está interessado em saber mais, inscreva-se neste curso on-line – Operações SSL / TLS.

Ativar SSL no Tomcat

Supondo que você ainda esteja conectado ao servidor Tomcat, vá para a pasta conf

  • Faça um backup do arquivo server.xml
  • Vá para a seção e adicione uma linha

SSLEnabled ="verdade" esquema ="https" keystoreFile ="ssl / bloggerflare.jks" keystorePass ="Chandan" clientAuth ="falso" sslProtocol ="TLS"

  • Não se esqueça de alterar o nome do arquivo e a senha do keystore com os seus
  • Reinicie o tomcat e você deverá ver o Tomcat acessível através de HTTPS

Doce!

Porta HTTPS padrão

Por quê?

Bem, se você olhar a captura de tela acima, estou acessando o Tomcat acima de 8080 com https que não é padrão e mais algumas razões.

  • Você não deseja solicitar aos usuários que usem portas personalizadas
  • O navegador avisará quando o certificado for emitido no nome de domínio sem a porta

Portanto, a ideia é fazer o Tomcat escutar na porta 443 para que fique acessível apenas por https: // sem o número da porta.

Para fazer isso, edite server.xml com seu editor favorito

  • Vamos para 
  • Alterar porta de 8080 para 443
  • Deve ficar assim
  • Reinicie o Tomcat e acesse seu aplicativo com https sem qualquer número de porta

Impressionante, é um sucesso!

Teste de vulnerabilidade SSL / TLS

Por fim, faremos um teste para garantir que não seja vulnerável a ameaças online.

Existem muitas ferramentas on-line que eu discuti aqui, e aqui vou usar o SSL Labs.

E os seus VERDE – Uma classificação.

No entanto, é sempre uma boa ideia rolar o relatório para baixo e ver se você encontra alguma vulnerabilidade e corrigi-lo.

Então isso foi tudo por hoje.

Espero que isso ajude você a conhecer o procedimento de segurança do Tomcat com certificado SSL / TLS. Se você estiver interessado em aprender mais, recomendo isso curso.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map