Cum se implementează SSL în Apache Tomcat?

Un ghid pas cu pas pentru configurarea certificatului SSL/TLS pe ​​serverul Tomcat.

Una dintre sarcinile esențiale pentru securizarea Tomcat este configurarea certificatului SSL, astfel încât aplicația web să fie accesibilă prin HTTPS.

Există multe modalități de a realiza acest lucru.

  • Puteți rezilia SSL la un echilibrator de încărcare
  • Implementați SSL la nivel CDN
  • Utilizați servere web precum Apache, Nginx etc. în față și implementați SSL acolo

Cu toate acestea, dacă nu utilizați niciunul dintre cele de mai sus sau îl utilizați ca front-end sau trebuie să implementați SSL direct în Tomcat, atunci următoarele vă vor ajuta.

În acest articol, vom face ca mai jos.

  • Generați CSR (cerere de semnare a certificatului)
  • Importați certificatul într-un fișier de depozit de chei
  • Activați SSL în Tomcat
  • Configurați protocolul TLS
  • Schimbați Tomcat pentru a asculta pe portul 443
  • Testați Tomcat pentru vulnerabilitatea SSL

Să începem…

Pregătirea pentru certificatul SSL/TLS

Primul pas ar fi să generați un CSR și să îl semnați de către autoritate certificată. Vom folosi utilitarul keytool pentru a gestiona certificatele.

  • Conectați-vă la serverul Tomcat
  • Accesați calea de instalare Tomcat
  • Creați un folder numit ssl
  • Executați comanda pentru a crea un depozit de chei
keytool -genkey -alias domainname -keyalg RSA -keysize 2048 -keystore filename.jks

Există două variabile în comenzile de mai sus pe care poate doriți să le modificați.

  • Alias ​​– mai bine să-l păstrați semnificativ, astfel încât pe viitor să puteți recunoaște rapid. Prefer să-l păstrez ca nume de domeniu.
  • Nume fișier – din nou, este bine să păstrați numele de domeniu.
  •   Celebrități la cerere: Ce este Cameo?

    Ex:

    [[email protected] ssl]# keytool -genkey -alias bloggerflare -keyalg RSA -keysize 2048 -keystore bloggerflare.jks
    Enter keystore password:
    Re-enter new password:
    What is your first and last name?
    [Unknown]: bloggerflare.com
    What is the name of your organizational unit?
    [Unknown]: Blogging
    What is the name of your organization?
    [Unknown]: Geek Flare
    What is the name of your City or Locality?
    [Unknown]:
    What is the name of your State or Province?
    [Unknown]:
    What is the two-letter country code for this unit?
    [Unknown]:
    Is CN=bloggerflare.com, OU=Blogging, O=Geek Flare, L=Unknown, ST=Unknown, C=Unknown correct?
    [no]: yes
    
    Enter key password for <bloggerflare>
    (RETURN if same as keystore password):
    
    [[email protected] ssl]#

    Fiți atenți la întrebarea numelui și prenumelui. Asta cred că este puțin înșelător. Nu este numele tău, ci numele domeniului pe care vrei să-l securizi.

    Odată ce furnizați toate informațiile, acesta va crea un fișier de depozit de chei într-un director de lucru actual.

    Următorul ar fi să generați un nou CSR cu depozitul de chei nou creat cu comanda de mai jos.

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

    Aceasta va crea un CSR pe care trebuie să îl trimiteți autorității de certificare pentru a-l semna. Dacă vă jucați, atunci puteți lua în considerare utilizarea unui furnizor de certificat GRATUIT, altfel alegeți unul premium.

    Am semnat certificatul și voi trece la import în depozitul de chei cu comanda de mai jos.

    • Certificatul rădăcină de import este dat de furnizor
    keytool -importcert -alias root -file root -keystore bloggerflare.jks
    • Import certificat intermediar
    keytool -importcert -alias intermediate -file intermediate -keystore bloggerflare.jks

    Notă: fără a importa rădăcină și intermediar, nu veți putea importa certificatul de domeniu în depozitul de chei. Dacă aveți mai multe intermediare, atunci trebuie să le importați pe toate.

    • Import certificat de domeniu
    keytool -importcert -file bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare

    și, veți primi o confirmare că a fost instalat.

      Cele mai bune SSD-uri portabile din 2024

    Răspunsul la certificat a fost instalat în depozitul de chei

    Grozav, deci depozitul de chei pentru certificate este gata acum. Să trecem la pasul următor.

    Dacă sunteți nou în SSL și doriți să aflați mai multe, înscrieți-vă la acest curs online – Operațiuni SSL/TLS.

    Activați SSL în Tomcat

    Presupunând că sunteți încă conectat la serverul Tomcat, accesați folderul conf

    • Faceți o copie de rezervă a fișierului server.xml
    • Accesați secțiunea
    SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"
    • Nu uitați să schimbați numele și parola fișierului depozit de chei cu ale dvs
    • Reporniți Tomcat și ar trebui să vedeți că Tomcat este accesibil prin HTTPS

    Dulce!

    Port HTTPS standard

    De ce?

    Ei bine, dacă te uiți la captura de ecran de mai sus, accesez Tomcat peste 8080 cu https, care nu este standard și mai multe motive.

    • Nu doriți să le cereți utilizatorilor să folosească portul personalizat
    • Browserul va da un avertisment deoarece certificatul este emis pe numele de domeniu fără portul

    Deci ideea este să faceți Tomcat să asculte pe portul 443, astfel încât să fie accesibil doar peste https:// fără numărul portului.

    Pentru a face acest lucru, editați server.xml cu editorul preferat

    • Accesați
    • Schimbați portul de la 8080 la 443
    • Ar trebui să arate așa
    <Connector port="443" protocol="HTTP/1.1"
    connectionTimeout="20000"
    SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"
    redirectPort="8443" />
    • Reporniți Tomcat și accesați aplicația cu https fără niciun număr de port

    Impresionant, este un succes!

    Test de vulnerabilitate SSL/TLS

    În cele din urmă, vom efectua un test pentru a ne asigura că nu este vulnerabil la amenințările online.

      10 moduri de a repara PS4 se oprește în continuare

    Există multe instrumente online despre care am discutat aici și aici voi folosi SSL Labs.

    • Mergi la SSL Labs și introduceți adresa URL pentru a începe testul

    Și este VERDE – O evaluare.

    Cu toate acestea, este întotdeauna o idee bună să derulați în jos raportul și să vedeți dacă găsiți vreo vulnerabilitate și să o remediați.

    Deci asta a fost tot pentru azi.

    Sper că acest lucru vă ajută să cunoașteți procedura de securizare a Tomcat cu certificat SSL/TLS. Dacă sunteți interesat să aflați mai multe, vă recomand acest lucru curs.