Änderungen von Dokument Bereitstellung über HTTPS


Von Version 3.3
bearbeitet von gru
am 01.02.2022, 17:21
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 3.17
bearbeitet von gru
am 27.07.2022, 10:45
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -37,11 +37,13 @@
37 37  </Connector>
38 38  {{/code}}
39 39  
40 -Weiterführende Informationen zur Konfiguration von der Eigenschaft //SSLHostConfig// finden Sie in der Dokumentation des Herstellers: [[https:~~/~~/tomcat.apache.org/tomcat-8.5-doc/config/http.html#SSL_Support_-_SSLHostConfig>>https://tomcat.apache.org/tomcat-8.5-doc/config/http.html#SSL_Support_-_SSLHostConfig]]
40 +Weiterführende Informationen zur Konfiguration von der Eigenschaft //SSLHostConfig// finden Sie in der Dokumentation des Herstellers: [[https:~~/~~/tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-_SSLHostConfig>>https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-_SSLHostConfig]]
41 41  )))
42 42  
43 43  ===Zusammenfassung der wichtigsten Optionen===
44 44  
45 +In der folgenden Tabelle werden die wichtigsten Optionen des obenstehenden Beispiel-Connectors und Ihre Bedeutung kurz zusammengefasst:
46 +
45 45  {{table dataTypeAlpha="0" preSort="0-asc"}}
46 46  |=Attribut|=Wert|=Beschreibung
47 47  |port|443 (Standard)|Über diesen Port wird die Verbindung aufgebaut.
... ... @@ -56,7 +56,7 @@
56 56  
57 57  ===Weitere Möglichkeiten ein Zertifikat im Tomcat am Connector zu konfigurieren===
58 58  
59 -Einbindung mittels KeyStore:
61 +Neben dem obenstehenden Beispiel gibt es noch andere Möglichkeiten, das verwendete Zertifikat für einen Connector für verschlüsselte Kommunikation zu konfigurieren. Eine Möglichkeit ist es, das Zertifikat, den Private Key und mögliche Zwischenzertifikate in einem Java-Keystore zu importieren und diesen direkt einzubinden:
60 60  
61 61  {{code}}
62 62  <Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
... ... @@ -66,14 +66,13 @@
66 66   relaxedQueryChars="[ \ ] ^ ` { | }">
67 67   <SSLHostConfig>
68 68   <Certificate certificateKeystoreFile="conf/file.keystore"
69 - certificateKeystorePassword="mypwd" ></Certificate>
71 + certificateKeystorePassword="meinPasswort" ></Certificate>
70 70   </SSLHostConfig>
71 71  </Connector>
72 72  {{/code}}
73 73  
76 +Auch KeyPair-Dateien (*.pfx, *.p12) können direkt eingebunden werden:
74 74  
75 -Ist man im Besitz einer KeyPair-Datei (*.pfx, *.p12) kann man diese auch direkt einbinden:
76 -
77 77  {{code}}
78 78  <Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
79 79   URIEncoding="UTF-8"
... ... @@ -82,19 +82,26 @@
82 82   relaxedQueryChars="[ \ ] ^ ` { | }">
83 83   <SSLHostConfig>
84 84   <Certificate certificateKeystoreFile="conf/file.pfx"
85 - certificateKeystorePassword="mypwd"
86 + certificateKeystorePassword="meinPasswort"
86 86   certificateKeystoreType="PKCS12" ></Certificate>
87 87   </SSLHostConfig>
88 88  </Connector>
89 89  {{/code}}
90 90  
92 +Weiterführende Informationen zur Konfiguration für die Zertifikate finden Sie in der Dokumentation des Herstellers: [[https:~~/~~/tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-_Certificate>>https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-_Certificate]]
93 +
94 +
91 91  ==Einschränken auf bestimmte TLS-Versionen==
92 92  
93 -Wenn für verschlüsselte Verbindungen nur bestimmte Versionen von TLS unterstützt werden sollen, kann dies über die Attribute //protocols// und //sslProtocol// in der //SSLHostConfig// des Connectors konfiguriert werden. Eine beispielhafte Konfiguration, welche nur die TLS-Versionen 1.1 und 1.2 zulässt, könnte wie folgt aussehen:
97 +Wenn für verschlüsselte Verbindungen nur bestimmte Versionen von TLS unterstützt werden sollen, kann dies über die Attribute //protocols// und //sslProtocol// in der //SSLHostConfig// des Connectors konfiguriert werden. Eine beispielhafte Konfiguration, welche nur die TLS-Versionen 1.2 und 1.3 zulässt, könnte wie folgt aussehen:
94 94  
95 95  {{code}}
96 -<Connector ...>
97 - <SSLHostConfig protocols="TLSv1.1+TLSv1.2" sslProtocol="TLSv1.1+TLSv1.2">
100 +<Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
101 + URIEncoding="UTF-8"
102 + maxHttpHeaderSize="65536"
103 + maxPostSize="10485760"
104 + relaxedQueryChars="[ \ ] ^ ` { | }">
105 + <SSLHostConfig protocols="TLSv1.2+TLSv1.3">
98 98   <Certificate certificateKeyFile="conf/private.key"
99 99   certificateFile="conf/zertifikat.crt"
100 100   certificateChainFile="conf/CHAIN.pem"
... ... @@ -103,10 +103,33 @@
103 103  </Connector>
104 104  {{/code}}
105 105  
114 +==Einschränken auf bestimmte TLS-Ciphers==
115 +
106 106  Falls zusätzlich eine Einschränkung der möglichen Verschlüsselungsalgorithmen gewünscht wird, kann diese mit dem Attribut //ciphers// vorgenommen werden.
107 107  
108 -Nähere Informationen zur Konfiguration und den möglichen Optionen der Attribute finden Sie in der Dokumentation des Herstellers: [[https:~~/~~/tomcat.apache.org/tomcat-8.5-doc/config/http.html#SSL_Support_-_SSLHostConfig>>https://tomcat.apache.org/tomcat-8.5-doc/config/http.html#SSL_Support_-_SSLHostConfig]]
118 +{{velocity}}
119 +##{{panel title="Beispiel für die manuelle Konfiguration der unterstützten Ciphers" triggerable="true" initial="hidden"}}
120 +##{{/panel}}
121 +{{/velocity}}
122 +Das folgende Beispiel ist keine Sicherheitsempfehlung. Es dient lediglich zur Veranschaulichung, wie eine Konfiguration aussehen könnte:
109 109  
124 +{{code language="xml"}}
125 +<Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
126 + URIEncoding="UTF-8"
127 + maxHttpHeaderSize="65536"
128 + maxPostSize="10485760"
129 + relaxedQueryChars="[ \ ] ^ ` { | }">
130 + <SSLHostConfig protocols="TLSv1.2+TLSv1.3" ciphers="TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_CCM,TLS_DHE_RSA_WITH_AES_128_CCM_8,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_CCM,TLS_DHE_RSA_WITH_AES_256_CCM_8,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256">
131 + <Certificate certificateKeyFile="conf/private.key"
132 + certificateFile="conf/zertifikat.crt"
133 + certificateChainFile="conf/CHAIN.pem"
134 + type="RSA" ></Certificate>
135 + </SSLHostConfig>
136 +</Connector>
137 +{{/code}}
138 +
139 +Nähere Informationen zur Konfiguration und den möglichen Optionen der Attribute finden Sie in der Dokumentation des Herstellers: [[https:~~/~~/tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-_SSLHostConfig>>https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-_SSLHostConfig]]
140 +
110 110  ==Erzwingen von HTTPS==
111 111  
112 112  Sollte der komplette Server ausschließlich über HTTPS betrieben werden empfiehlt es sich den Standard HTTP-Connector zu entfernen bzw. auszukommentieren. Sollte dies keine Option sein gibt es zusätzlich die Möglichkeit sowohl für den ganzen Server, als auch für einzelne Anwendungen eine Kommunikation über HTTPS zu erzwingen. Hierfür kann in die Datei //web.xml// des Servers (///Pfad/Zum/Tomcat/conf/web.xml//) oder der Anwendung (///Pfad/Zum/Tomcat/webapps/formcycle/WEB-INF/web.xml//) innerhalb des Knotens //web-app// folgendes eingefügt werden: