Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie implementiere ich SSL in Apache Tomcat?

Ohne Titel-1200-×-385-px-11
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Eine Schritt-für-Schritt-Anleitung zum Einrichten des SSL / TLS-Zertifikats auf dem Tomcat-Server.

Eine der wesentlichen Aufgaben für Tomcat sichern dient zum Konfigurieren des SSL-Zertifikats, damit auf die Webanwendung über zugegriffen werden kann HTTPS.

Es gibt viele Möglichkeiten, dies zu erreichen.

  • Sie können SSL an einem Load Balancer beenden
  • Implementieren Sie SSL auf CDN-Ebene
  • Verwenden Sie Webserver wie Apache, Nginx usw. und implementieren Sie dort SSL

Wenn Sie jedoch keines der oben genannten Elemente verwenden oder dieses als Front-End verwenden oder SSL direkt in Tomcat bereitstellen müssen, hilft Ihnen das Folgende.

In diesem Artikel werden wir wie folgt vorgehen.

  • CSR generieren (Zertifikatssignierungsanforderung)
  • Zertifikat in eine Keystore-Datei importieren
  • Aktivieren Sie SSL in Tomcat
  • Konfigurieren Sie das TLS-Protokoll
  • Ändern Sie Tomcat so, dass es den 443-Port überwacht
  • Testen Sie Tomcat auf SSL-Sicherheitslücken

Lass uns beginnen…

Preparing for SSL/TLS Certificate

Der erste Schritt wäre, eine CSR zu generieren und diese von der Zertifizierungsstelle. Wir werden verwenden keytool Dienstprogramm zum Verwalten der Zertifikate.

  • Melden Sie sich beim Tomcat-Server an
  • Wechseln Sie zum Tomcat-Installationspfad
  • Erstellen Sie einen Ordner namens ssl
  • Befehl ausführen zu Erstellen Sie einen Keystore
keytool -genkey -alias domainname -keyalg RSA -keysize 2048 -keystore filename.jks

In den obigen Befehlen gibt es zwei Variablen, die Sie möglicherweise ändern möchten.

  1. Alias ​​- besser, um es aussagekräftig zu halten, damit Sie es in Zukunft schnell erkennen können. Ich ziehe es vor, es als Domainnamen zu behalten.
  2. Dateiname - Auch hier ist es gut, den Domainnamen beizubehalten.

Ex:

[root@geekflare 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):

[root@geekflare ssl]#

Beachten die Vor- und Nachname Frage. Das ist ein bisschen irreführend, denke ich. Es ist nicht Ihr Name, sondern der Domainname, den Sie sichern möchten.

Sobald Sie alle Informationen angegeben haben, wird eine Keystore-Datei in einem aktuellen Arbeitsverzeichnis erstellt.

Als nächstes wäre zu Generieren Sie eine neue CSR mit dem neu erstellten Keystore mit dem folgenden Befehl.

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

Dadurch wird eine CSR erstellt, die Sie an die Zertifizierungsstelle senden müssen, um sie signieren zu lassen. Wenn Sie herumspielen, können Sie die Verwendung in Betracht ziehen ein KOSTENLOSER Zertifikatanbieter Ansonsten entscheiden Sie sich für eine Premium.

Ich habe das Zertifikat unterschrieben und werde fortfahren in den Keystore importieren mit dem folgenden Befehl.

  • Das Import-Stammzertifikat wird vom Anbieter bereitgestellt
keytool -importcert -alias root -file root -keystore bloggerflare.jks
  • Zwischenzertifikat importieren
keytool -importcert -alias intermediate -file intermediate -keystore bloggerflare.jks

Hinweis: Ohne Import von Root & Intermediate können Sie kein Domänenzertifikat in den Keystore importieren. Wenn Sie mehr als ein Zwischenprodukt haben, müssen Sie alle importieren.

  • Domain-Zertifikat importieren
keytool -importcert -file bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare

und Sie erhalten eine Bestätigung, dass es installiert wurde.

Die Zertifikatantwort wurde im Keystore installiert

GroßDer Zertifikat-Keystore ist jetzt bereit. Fahren wir mit dem nächsten Schritt fort.

Wenn Sie SSL noch nicht kennen und mehr wissen möchten, melden Sie sich für diesen Online-Kurs an - SSL / TLS-Vorgänge.

Enable SSL in Tomcat

Angenommen, Sie sind noch beim Tomcat-Server angemeldet, wechseln Sie in den Ordner conf

  • Erstellen Sie eine Sicherungskopie der Datei server.xml
  • Gehen Sie zu <Connector port="8080" protocol="HTTP/1.1" Abschnitt und fügen Sie eine Linie hinzu
SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"
  • Vergessen Sie nicht, den Namen und das Kennwort der Keystore-Datei mit Ihrem zu ändern
  • Starten Sie tomcat neu und Sie sollten sehen, dass auf Tomcat über HTTPS zugegriffen werden kann

Tomcat-ssl

Süß!

Standard HTTPS Port

Warum?

Wenn Sie sich den obigen Screenshot ansehen, greife ich über https auf Tomcat über 8080 zu, was nicht Standard ist und einige weitere Gründe.

  • Sie möchten Benutzer nicht auffordern, einen benutzerdefinierten Port zu verwenden
  • Der Browser gibt eine Warnung aus, wenn das Zertifikat für den Domainnamen ohne Port ausgestellt wird

Die Idee ist also, Tomcat dazu zu bringen, den 443-Port abzuhören, damit er über https: // ohne die Portnummer zugänglich ist.

Bearbeiten Sie dazu server.xml mit Ihrem bevorzugten Editor

  • Gehen Sie zu <Connector port="8080"
  • Ändern Sie den Port von 8080 auf 443
  • Es sollte so aussehen
<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" />
  • Starten Sie Tomcat neu und greifen Sie mit https ohne Portnummer auf Ihre Anwendung zu

Tomcat-over-https

BeeindruckendeEs ist ein Erfolg!

SSL/TLS Vulnerability Test

Schließlich werden wir einen Test durchführen, um sicherzustellen, dass dies nicht der Fall ist anfällig für Online-Bedrohungen.

Es gibt viele Online-Tools, die ich hier besprochenund hier werde ich SSL Labs verwenden.

  • Gehen Sie zu SSL Labs und geben Sie die URL ein, um den Test zu starten

tomcat-ssl-labs

Und sein GRÜN - Eine Bewertung.

Es ist jedoch immer eine gute Idee, im Bericht nach unten zu scrollen und festzustellen, ob Sie eine Sicherheitsanfälligkeit finden und diese beheben.

Das war also alles für heute.

Ich hoffe, dies hilft Ihnen dabei, das Verfahren zum Sichern von Tomcat mit einem SSL / TLS-Zertifikat zu kennen. Wenn Sie mehr erfahren möchten, kann ich dies nur empfehlen Kurs.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Sicherheit
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder