Skip to content

Ubuntu - IPv6 auf einem Tomcat Server ausschalten

Heute ein Mini Tipp zum kleinen Freitag.

Ipv6 auf einen Tomcat Server abschalten

Um einem Tomcat Server beizubringen, dass er nur auf einer IPv4 Adresse lauscht, muss unter Ubuntu (14.04) nur ein Startparameter gesetzt werden. Danach kann mit "netstat -tlpn" geprüft werden, wo der Tomcat lauscht. Ich gehe in diesem Beispiel davon aus, dass der Server über apt-get installiert wurde.

nano /etc/default/tomcat7

oder

nano /etc/default/tomcat6

Nun die vorhanden Zeile

JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"

um einen Zusatz ergänzen

JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC  -Djava.net.preferIPv4Stack=true"

tomcat

Das könnte dich auch interessieren

Tomcat 7/8 absichern - SSLv2 und SSLv3 deaktivieren - PFS aktivieren

In den damaligen Artikel über Poodle und SSLv3 Abschaltung bzw. Servehärtung ist der Tomcat total untergegangen. Das will ich mal schnell nachholen.

tomcat

Tomcat 7/8 härten - unsicheres SSL abschalten

Im Prinzip muss nicht viel gemacht werden, es sollten lediglich die richtigen Parameter in der server.xml hinterlegt werden. Zusätzlich darf natürlich gerne eine aktuelle und sichere Java Version verwendet werden.

Wichtig 

  • Aktuelle Java Version einsetzen
  • Aktuelle Tomcat Version einsetzen
  • Aktuelle DB Connectoren einsetzen

HTTPS Servereinstellungen

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" maxHttpHeaderSize="8192" minSpareThreads="25" scheme="https" secure="true" keystoreFile="\PfadzumKeystore\keystore" keystorePass="Password" clientAuth="false" sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"

ciphers="

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
 TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
 TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
 TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"
 
/>

Die Erklärung für die einzelnen Attribute dieser Konfiguration könnt ihr hier finden.

Wer sich nun fragt, wo hier Perfect Forward Secrecy konfiguriert ist, der findet diese in allen Cipher Suites mit "ECDHE_ECDSA und ECDHE_RSA" wieder. Da diese präferiert werden ist ein Diffie-Hellman Schlüsselaustauschverfahren gewährleistet. ECDH_ECDSA und ECDH_RSA unterstützen übrigens kein PFS.

Weiterführende Links

Tomcat Server - selbstsigniertes SSL Zertifikat erstellen

Heute mal wieder etwas zum Thema Zertifikate. Hatten wir in letzter Zeit zwar schon öfters, siehe Zertifikat auslesen oder selbst signiertes Zertifikat erstellen. Um Letzteres soll es heute ebenfalls gehen. Der Unterschied ist allerdings, das es heute um eine Tomcat SSL Zertifikat in einer Windows Umgebung gehen soll. 

Der Vorgang funktioniert natürlich ebenfalls unter Linux in ähnlicher Weise, lediglich die Pfade sind andere.

Tomcat - selbstsigniertes SSL Zertifikat erstellen

Als erstes Schritt wird eine Konsole geöffnet (CMD). Als nächstes muss der Pfad der Java Installation gesucht werden. Im Normalfall ist das sowas wie:

C:\Program Files\Java\jdk1.7.0_51\bin oder

C:\Program Files \Java\jre7\bin

Solltet ihr den Pfad nicht finden, könnt ihr auch einfach nach der Datei "keytool.exe" suchen.

java-pfad

Sobald der Pfad gefunden ist, muss nur noch ein langer Befehl mit dem Keytool aufgerufen und danach die richtigen Werte hinterlegt werden.

  • keyalg RSA - Verschlüsselungsart
  • alias selfsigned - Selbstsigniertes Zertifikat
  • validity 3600  - Gültigkeit 10 Jahre
  • keysize 2048 - Schlüsselänge 2048

keytool -genkey -keyalg RSA -alias selfsigned -validity 3600 -keysize 2048

zertifikat-tomcat

Bei der Abfrage müssen die üblichen Werte hinterlegt werden. Am wichtigsten ist wie immer der CN Name, der hier als "First and Last Name abgefragt wird. Auch ein Passwort für den Keystore sollte hinterlegt werden, um diesen besser zu schützen.

Enter keystore password:

What is your first and last name?

  [Unknown]: 127.0.0.1

What is the name of your organizational unit?

  [Unknown]:

What is the name of your organization?

  [Unknown]:  Blog

What is the name of your City or Locality?

  [Unknown]:  Leipzig

What is the name of your State or Province?

  [Unknown]:

What is the two-letter country code for this unit?

  [Unknown]:  DE

Is CN=127.0.0.1, OU=Unknown, O=Blog, L=Leipzig, ST=Unknown, C=DE correct?

  [no]:  yes

Enter key password for <selfsigned>

        (RETURN if same as keystore password):

Re-enter new password:

In der Standardeinstellung wird der Keystore in eurem Benutzer Ordner abgelegt. Hier kann er im Prinzip auch liegen bleiben.

"C:\Users\Name\.keystore" 

Das Gröbste ist jetzt erledigt. Nun muss nur noch dem Tomcat Server mitgeteilt werden, dass er SSL verwenden soll. Hierzu muss die Server.xml editiert werden. Sie befindet sich im Normalfall unter

"C:\Tomcat-Installation\conf\server.xml" 

Habt ihr die Datei gefunden, müsst ihr nur den passenden Bereich freischalten und schon sollte euer Server unter https://127.0.0.1:8443 erreichbar sein.

<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" SSLEnabled="true"

                   URIEncoding="UTF-8" keystorePass="xxx"

  keystoreFile="C:\Users\Username\.keystore"/>

zertifikat-tomcat-erstellen

Zum Schluss muss noch der Tomcat Dienst neu gestartet werden und eure Installation ist unter HTTPS erreichbar.

XAMPP 1.8.0 für Windows und Linux - freier Webserver für zu Hause

XAMPP, das bekannte Apache Webserver Paket, ist in Version 1.8.0 erschienen. Das freie Komplettpaket stellt Web-Entwicklern und denjenigen die es werden wollen ein fast fertige Serverumgebung bestehend aus Apache, MySQL, Perl und PHP zur Verfügung.

xampp

Das lang erwartete Update aktualisiert die einzelnen Pakete auf Apache 2.4.2, MySQL 5.5.25a, PHP 5.4.4,phpMyAdmin 3.5.1, FileZilla FTP Server 0.9.41 und Tomcat 7.0.28.

Debian 6.0 - Squeeze ist fertig

Es hatte sich schon eine Weile angekündigt, jedoch galt es noch einige Bugs zu beheben, nun ist Debian 6 Codename "Squeeze" nach 22 Monaten Entwicklung endlich fertiggestellt.
Die freie Linuxdistribution bringt laut Entwicklern den ersten "freien Kernel" mit sich, der keine proprietäre Firmware mehr enthalten soll. Die zahlreichen Änderungen würden hier den Rahmen sprengen, können jedoch alle im ausführlichen Changelog nachgeschlagen werden. Laut Homepage sind über 10.000 neue Pakete in der Version 6 enthalten.

Debian 6

Zahlreiche Software Pakete die Debian mit bringt wurde natürlich auch aktualisiert, darunter sind Dienste wie Apache, MySQL, Samba, PHP oder Tomcat. Ebenso wurden zahlreiche Desktop Dienste auf den neusten Stand gebracht.