tom12
Goto Top

Verschlüsselung und Redirect von Webanwendungen mit Tomcat

back-to-topVerschlüsselung und Redirect von Webanwendungen mit Tomcat 5.5.20



  1. Installation (grobe Fassung)
    1. apache-tomcat-5.5.20.exe downloaden
    2. Doppelklick auf apache-tomcat-5.5.20.exe
    3. Anwendungsport auf 80 festlegen
    4. Z. B. User = Admin
    5. Z. B. Passwort= nix&blabla
    6. Installation beenden
    7. Tomcat stoppen
    8. Hinweis: %CATALINA_HOME% ist der Ort an dem Tomcat5.5 installiert wurde, ist also Tomcat unter C:\Tomcat5.5 installiert ist dies auch %CATALINA_HOME%
  2. Verschlüsselung
    1. Erstellen eines Zertifikates mittels des Tools "keystore" im Format JKS, bitte beachten Alias und Passwort beziehen sich auf den unter 1.4 angelegten User und dessen Passwort aus 1.5
      1. keytool –genkey –alias Admin –keyalg RSA -keystore /path/to/my/.keystore -validity "Anzahl Tage"(bsp 3650)
      2. enter drücken
      3. Passworteingabe Tomcat-default ist "nix&blabla"
      4. Eingabe der Zertifikatinformationen (Hinweis: Der erste Eintrag (Vorname, Nachname) bezieht sich auf den Host; wenn also der Server www.test.de die Anwendung hostet, sollte dieser erste Eintrag auch wie dieser Host (=www.test.de) lauten, da es sonst bei einem Aufruf der Anwendung von einem anderen Rechner/Internet etc. zu einem Hostnamenkonflikt kommt; die restlichen Einträge sollten sinnvoll (=aussagekräftig)gewählt werden, der Inhalt selber ist aber beliebig)
      5. Kontrollausgabe der Daten mit "ja" bestätigen und Enter bei Passworteingabe
      6. Wenn keine Fehler wird Zertifikat als .keystore in /path/to/my/ angelegt
    2. Änderung der Server.xml in %CATALINA_HOME%\conf HINWEIS: wegen des Redirects des Ports 80 auf den Port 8443 sind sowohl der Standard Http-Port, als auch der Standard SSL Port zu aktivieren
      1. Öffnen des Dokumentes mit Notepad.exe oder xml-Editor (um Formatfehler zu vermeiden!)
      2. Http_Port
        1. <!-- Define a non-SSL HTTP/1.1 Connector on port 80 --> <Connector port="80" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
      3. SSL Port
        1. <!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/path/to/my/.keystore" keystorePass="nix&blabla"/>
      4. & bedeutet, dass wenn ein Sonderzeichen im Passwort verwendet wurde, dieses im xml-File mit der aus Html bekannten Sonderzeichenkennung eingetragen werden muss (hier: aus & wird &)
      5. Der redirectPort des http Connectors muss identisch zum SSL Connector Port gewählt werden
  3. REDIRECT - Diese Funktion setzt ein Vorgehen wie unter 2.) beschreiben voraus
    1. GLOBALE Variante
      1. Änderung der web.xml in %CATALINA_HOME%\conf
      2. Öffnen des Dokumentes mit Notepad.exe oder xml-Editor (um Formatfehler zu vermeiden!)
      3. Einfügen von (hinter: <web-app> Tag)
        1. <security-constraint><web-resource-collection><web-resource-name>Secure Apps</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection><user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee></user-data-constraint></security-constraint>
      4. Dieses bewirkt, dass alle Webanwendungen unter %CATALINA_HOME%\webapps nur noch verschlüsselt erreicht werden können(Ein Aufruf auf http://www.test:80 oder http://www.test wird zu https://www.test:8443 umgewandelt)
    2. Webanwendungsvariante
      1. Änderung der web.xml der jeweiligen Anwendung
      2. Öffnen des Dokumentes mit Notepad.exe oder xml-Editor (um Formatfehler zu vermeiden!)
      3. Einfügen von (hinter: <web-app> Tag)
        1. <security-constraint> <web-resource-collection><web-resource-name>Secure Apps</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
      4. Dies würde diese spezielle Webanwendung auf den SSL Zugriff beschränken/weiterleiten, Anwendungen ohne diese Änderung in der web.xml könnten weiterhin unverschlüsselt erreicht werden
  4. Anwendung absichern gegen Zugriff von außen etc. - Optional
    1. Änderung der tomcat-user.xml
      1. Alle User bis auf den unter 1.d) gewählten löschen
      2. Alle Rollen, die dieser User nicht beinhaltet ebenfalls löschen
    2. Löschung von
      1. %CATALINA_HOME%\server\webbaps\host-manager
      2. %CATALINA_HOME%\server\webbaps\manager

    Somit ist kein unverschlüsselter Verkehr mit Anwendungen des Tomcat mehr möglich. Der Manager wird deswegen gelöscht, da dieser auch im verschlüsselten Zustand den Usernamen und das Passwort Initial unverschlüsselt übermittelt. Wer möcht, kann auch versuchen den Manager auf lokalen Zugriff zu beschränken, jedoch ist die loklae Administration ohne Manager über die Conf-Files genauso möglich. Das Einbinden neuer Anwendungen kann durch Ablage z. B. eines war-Archives in %CATALINA_HOME%\webapps und einen Neustart von Tomcat erfolgen.

Content-Key: 51786

Url: https://administrator.de/contentid/51786

Printed on: April 16, 2024 at 11:04 o'clock