Wie implementiere ich SSL in Apache Tomcat?
Eine Schritt-für-Schritt-Anleitung zum Einrichten eines SSL/TLS-Zertifikatsate im Tomcat-Server.
Eine der wesentlichen Aufgaben für Tomcat sichern ist die Konfiguration des SSL-Zertifikatsate, sodass auf die Webanwendung zugegriffen werden kann HTTPS.
Es gibt viele Möglichkeiten, dies zu erreichen.
- Sie können kündigenate SSL bei einem Load Balancer
- 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.
- Generate CSR (Zertifikatate Unterschriftsanfrage)
- Importzertifikatate in einer Keystore-Datei
- 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…
Vorbereitung auf die SSL/TLS-Zertifizierungate
Der erste Schritt wäre die Generierungate eine CSR und lassen Sie diese von der unterschreiben Zertifikatate Autorität. Wir werden verwenden keytool
Dienstprogramm zur Verwaltung des Zertifikatsates.
- Melden Sie sich beim Tomcat-Server an
- Wechseln Sie zum Tomcat-Installationspfad
- Create ein Ordner namens ssl
- Befehl ausführen zu CREate ein Schlüsselspeicher
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.
- 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.
- 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. Dies ist ein bit meiner Meinung nach irreführend. Es ist nicht Ihr Name, sondern der Domainname, den Sie sichern möchten.
Sobald Sie alle Informationen angegeben haben, wird es erstelltate eine Keystore-Datei in einem aktuellen Arbeitsverzeichnis.
Als nächstes wäre zu Januarate ein neues CSR mit dem neu erstelltenated Keystore mit dem folgenden Befehl.
keytool -certreq -alias bloggerflare -keyalg RSA -file bloggerflare.csr -keystore bloggerflare.jks
Das wird Create eine CSR, die Sie an das Zertifikat senden müssenate Autorität, es unterschreiben zu lassen. Wenn Sie herumspielen, können Sie die Verwendung in Betracht ziehen ein KOSTENLOSES Zertifikatate Versorger Ansonsten entscheiden Sie sich für eine Premium.
Ich habe das Zertifikat bekommenate unterzeichnet und wird fortfahren in den Keystore importieren mit dem folgenden Befehl.
- Stammzertifikat importierenate wird vom Anbieter vorgegeben
keytool -importcert -alias root -file root -keystore bloggerflare.jks
- Import intermediate Zertifikatate
keytool -importcert -alias intermediate -file intermediate -keystore bloggerflare.jks
Hinweis: ohne Root & Intermedi zu importierenate, können Sie kein Domänenzertifikat importierenate in den Schlüsselspeicher. Wenn Sie mehr als einen Zwischenhändler habenate, dann müssen Sie sie alle importieren.
- Domänenzertifikat importierenate
keytool -importcert -file bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare
und Sie erhalten eine Bestätigung, dass es installiert wurde.
Zertifiziertate reply wurde im Keystore installiert
Groß, so zertifiziertate Der Keystore ist jetzt fertig. Kommen wir zum nächsten Schritt.
Wenn Sie SSL noch nicht kennen und mehr wissen möchten, melden Sie sich für diesen Online-Kurs an - SSL / TLS-Vorgänge.
Aktivieren Sie 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
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
- BrowsEr wird als Bestätigung eine Warnung ausgebenate wird für den Domänennamen ohne Port ausgegeben
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
BeeindruckendeEs ist ein Erfolg!
SSL/TLS-Schwachstellentest
Finally, 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
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 kennenzulernenate. Wenn Sie daran interessiert sind, mehr zu erfahren, kann ich Ihnen dieses Buch wärmstens empfehlen Kurs.