Eine Schritt-für-Schritt-Anleitung zum Einrichten des SSL/TLS-Zertifikats auf dem Tomcat-Server.
Eine der wesentlichen Aufgaben zum Sichern von Tomcat ist die Konfiguration des SSL-Zertifikats, damit auf die Webanwendung über HTTPS zugegriffen werden kann.
Es gibt viele Möglichkeiten, dies zu erreichen.
- Sie können SSL bei einem Load Balancer terminieren
- Implementieren Sie SSL auf CDN-Ebene
- Verwenden Sie Webserver wie Apache, Nginx usw. vor und implementieren Sie dort SSL
Wenn Sie jedoch keines der oben genannten verwenden oder dies als Front-End verwenden oder SSL direkt in Tomcat bereitstellen müssen, hilft Ihnen das Folgende.
In diesem Artikel werden wir wie folgt vorgehen.
- Generieren Sie CSR (Zertifikatsignieranforderung)
- Zertifikat in eine Keystore-Datei importieren
- Aktivieren Sie SSL in Tomcat
- Konfigurieren Sie das TLS-Protokoll
- Ändern Sie Tomcat so, dass er auf Port 443 lauscht
- Testen Sie Tomcat auf SSL-Schwachstelle
Lasst uns beginnen…
Inhaltsverzeichnis
Vorbereitung für das SSL/TLS-Zertifikat
Der erste Schritt wäre, einen CSR zu erstellen und diesen vom zu unterzeichnen Zertifizierungsstelle. Wir werden das Dienstprogramm keytool verwenden, um die Zertifikate zu verwalten.
- Melden Sie sich beim Tomcat-Server an
- Gehen Sie zum Tomcat-Installationspfad
- Erstellen Sie einen Ordner namens ssl
- Führen Sie den Befehl aus, um einen Schlüsselspeicher zu erstellen
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.
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]#
Achten Sie auf die Vor- und Nachnamenfrage. Das ist meiner Meinung nach etwas irreführend. 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 generieren Sie eine neue CSR mit dem neu erstellten Schlüsselspeicher 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 einen KOSTENLOSEN Zertifikatsanbieter verwenden oder sich für einen Premium-Anbieter entscheiden.
Ich habe das Zertifikat signiert und werde mit dem folgenden Befehl in den Schlüsselspeicher importieren.
- Das Import-Root-Zertifikat 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 den Import von Root und Intermediate können Sie das Domänenzertifikat nicht in den Schlüsselspeicher importieren. Wenn Sie mehr als ein Zwischenprodukt haben, müssen Sie alle importieren.
- Domänenzertifikat importieren
keytool -importcert -file bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare
und Sie erhalten eine Bestätigung, dass es installiert wurde.
Zertifikatsantwort wurde im Schlüsselspeicher installiert
Großartig, der Zertifikat-Keystore ist jetzt bereit. Kommen wir zum nächsten Schritt.
Wenn Sie neu bei SSL sind und mehr wissen möchten, dann melden Sie sich für diesen Online-Kurs an – SSL/TLS-Operationen.
Aktivieren Sie SSL in Tomcat
Angenommen, Sie sind immer noch beim Tomcat-Server angemeldet, gehen Sie zum Ordner conf
- Erstellen Sie eine Sicherungskopie der Datei server.xml
- Gehen Sie zum Abschnitt
SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"
- Vergessen Sie nicht, den Namen und das Passwort der Keystore-Datei mit Ihrem zu ändern
- Starten Sie Tomcat neu und Sie sollten sehen, dass Tomcat über HTTPS zugänglich ist
Süss!
Standard-HTTPS-Port
Wieso den?
Nun, wenn Sie sich den obigen Screenshot ansehen, greife ich über 8080 mit https auf Tomcat zu, was nicht Standard ist, und aus einigen weiteren Gründen.
- Sie möchten Benutzer nicht auffordern, einen benutzerdefinierten Port zu verwenden
- Der Browser gibt eine Warnung aus, wenn das Zertifikat für den Domänennamen ohne den Port ausgestellt wird
Die Idee ist also, Tomcat dazu zu bringen, auf Port 443 zu lauschen, damit er nur über https:// ohne die Portnummer zugänglich ist.
Bearbeiten Sie dazu server.xml mit Ihrem bevorzugten Editor
- Gehen Sie zu
- Ä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
Beeindruckend, es ist ein Erfolg!
SSL/TLS-Schwachstellentest
Abschließend führen wir einen Test durch, um sicherzustellen, dass es nicht anfällig für Online-Bedrohungen ist.
Es gibt viele Online-Tools, die ich hier besprochen habe, und hier werde ich SSL Labs verwenden.
- Gehe zu SSL-Labs und geben Sie die URL ein, um den Test zu starten
Und es ist GRÜN – eine Bewertung.
Es ist jedoch immer eine gute Idee, den Bericht nach unten zu scrollen und zu sehen, ob Sie eine Schwachstelle finden und diese beheben.
Das war es also für heute.
Ich hoffe, dies hilft Ihnen, das Verfahren zum Sichern von Tomcat mit einem SSL/TLS-Zertifikat zu kennen. Wenn Sie daran interessiert sind, mehr zu erfahren, kann ich dies wärmstens empfehlen Kurs.