Hvordan implementere SSL i Apache Tomcat?

En trinn-for-trinn-veiledning for å sette opp SSL/TLS-sertifikat i Tomcat-serveren.

En av de essensielle oppgavene for å sikre Tomcat er å konfigurere SSL-sertifikatet, slik at nettapplikasjonen er tilgjengelig over HTTPS.

Det er mange måter å oppnå dette på.

  • Du kan avslutte SSL ved en lastbalanser
  • Implementer SSL på CDN-nivå
  • Bruk webservere som Apache, Nginx osv. foran og implementer SSL der

Men hvis du ikke bruker noen av de ovennevnte eller bruker dette som en grensesnitt eller trenger å distribuere SSL direkte i Tomcat, vil følgende hjelpe deg.

I denne artikkelen vil vi gjøre som nedenfor.

  • Generer CSR (forespørsel om sertifikatsignering)
  • Importer sertifikat i en nøkkellagerfil
  • Aktiver SSL i Tomcat
  • Konfigurer TLS-protokollen
  • Endre Tomcat for å lytte på 443-port
  • Test Tomcat for SSL-sårbarhet

La oss begynne…

Forbereder for SSL/TLS-sertifikat

Det første trinnet ville være å generere en CSR og få den signert av sertifiseringsinstans. Vi vil bruke nøkkelverktøy for å administrere sertifikatene.

  • Logg på Tomcat-serveren
  • Gå til tomcat-installasjonsbanen
  • Opprett en mappe kalt ssl
  • Kjør kommando for å opprette et nøkkellager
keytool -genkey -alias domainname -keyalg RSA -keysize 2048 -keystore filename.jks

Det er to variable i kommandoene ovenfor som du kanskje vil endre.

  • Alias ​​– bedre å holde det meningsfullt slik at du raskt kan gjenkjenne det i fremtiden. Jeg foretrekker å beholde det som et domenenavn.
  • Filnavn – igjen, det er greit å beholde domenenavnet.
  •   Hvordan koble til Frontier trådløs ruter eller modem

    Eks:

    [[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]#

    Vær oppmerksom på spørsmålet om for- og etternavn. Dette er litt misvisende synes jeg. Det er ikke navnet ditt, men domenenavnet du vil sikre.

    Når du har oppgitt all informasjonen, vil den opprette en nøkkellagerfil i en eksisterende arbeidskatalog.

    Neste ville være å generere en ny CSR med det nyopprettede nøkkellageret med kommandoen nedenfor.

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

    Dette vil opprette en CSR som du må sende til sertifiseringsmyndigheten for å få den signert. Hvis du spiller rundt, kan du vurdere å bruke en GRATIS sertifikatleverandør, ellers gå for en premium.

      Slik beskytter du BitLocker-krypterte filer mot angripere

    Jeg fikk sertifikatet signert og vil fortsette å importere til nøkkellager med kommandoen nedenfor.

    • Importrotsertifikat er gitt av leverandøren
    keytool -importcert -alias root -file root -keystore bloggerflare.jks
    • Importer mellomsertifikat
    keytool -importcert -alias intermediate -file intermediate -keystore bloggerflare.jks

    Merk: uten å importere root og intermediate, vil du ikke kunne importere domene sertifikat til nøkkellager. Hvis du har mer enn ett mellomprodukt, må du importere dem alle.

    • Importer domene sertifikat
    keytool -importcert -file bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare

    og du vil få en bekreftelse på at den ble installert.

    Sertifikatsvar ble installert i nøkkellager

    Flott, så sertifikatnøkkellageret er klart nå. La oss gå til neste trinn.

    Hvis du er ny på SSL og interessert i å vite mer, registrer deg på dette nettbaserte kurset – SSL/TLS-operasjoner.

    Aktiver SSL i Tomcat

    Forutsatt at du fortsatt er logget på Tomcat-serveren, gå til conf-mappen

    • Ta en sikkerhetskopi av server.xml-filen
    • Gå til
    SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"
    • Ikke glem å endre filnavnet og passordet for nøkkellageret med ditt
    • Start tomcat på nytt og du skal se at Tomcat er tilgjengelig over HTTPS

    Søt!

    Standard HTTPS-port

    Hvorfor?

    Vel, hvis du ser på skjermbildet ovenfor, får jeg tilgang til Tomcat over 8080 med https som ikke er standard og noen flere grunner.

    • Du vil ikke be brukere om å bruke tilpasset port
    • Nettleseren vil gi advarsel når sertifikatet utstedes på domenenavnet uten porten
      10 beste arbeidsflytautomatiserings- og integrasjonsplattform for personlig eller bedrift

    Så ideen er å få Tomcat til å lytte på 443-porten slik at den er tilgjengelig litt over https:// uten portnummeret.

    For å gjøre det, rediger server.xml med din favorittredigerer

    • Gå til
    • Endre port fra 8080 til 443
    • Det skal se slik ut
    <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" />
    • Start Tomcat på nytt og få tilgang til applikasjonen din med https uten noe portnummer

    Imponerende, det er en suksess!

    SSL/TLS sårbarhetstest

    Til slutt vil vi utføre en test for å sikre at den ikke er sårbar for trusler på nettet.

    Det er mange nettbaserte verktøy som jeg diskuterte her, og her vil jeg bruke SSL Labs.

    • Gå til SSL Labs og skriv inn URL-en for å starte testen

    Og den er GRØNN – A rating.

    Det er imidlertid alltid en god idé å rulle nedover rapporten og se om du finner noen sårbarhet og fikse den.

    Så det var alt for i dag.

    Jeg håper dette hjelper deg å kjenne prosedyren for å sikre Tomcat med SSL/TLS-sertifikat. Hvis du er interessert i å lære mer så vil jeg anbefale dette på det sterkeste kurs.