IT-weblog

All der tägliche Frust und Schweiß der IT-Branche

Schlagwort: Java (Seite 1 von 2)

Tomcat Versionsnummer verstecken

Findet sich an zwei Stellen wieder: Im HTTP-Header und in Fußzeilen bei Fehlermeldungen und muß auch an zwei Stellen angepasst werden.

Im server.xml bei dem Tag Connector ein neues Attribut

server=“Tomcat/9.99″

und für die Inhalte bei Fußzeilen etwas mehr Arbeit:

mkdir -p $CATALINA_HOME/lib/org/apache/catalina/util
cd $CATALINA_HOME/lib/org/apache/catalina/util
vi ServerInfo.properties
server.info=Apache Tomcat 9.99

Gerne auch abweichende Nummern zum obigen Tag um den Angreifer komplett zu vereumeln.

Schön so.

Tomcat mit SSL bestücken

Da mir OpenSSL irgendwie näher ist und mit dem Tomcat native Dingens das auch unterstützt ist, also mal eben ein Zertifikat erstellen lassen und mit ein paar Zeilen im server.xml eingebaut.

<Connector port=“443″ maxHttpHeaderSize=“8192″
maxThreads=“150″
enableLookups=“false“ disableUploadTimeout=“true“
acceptCount=“100″ scheme=“https“ secure=“true“
SSLEnabled=“true“
SSLCertificateChainFile=“${catalina.base}/conf/ssl/sub.class1.server.ca.pem“
SSLCertificateFile=“${catalina.base}/conf/ssl/cert.pem“
SSLCertificateKeyFile=“${catalina.base}/conf/ssl/key.pem“ />

Allerdings dürfte das nicht alles gewesen sein. Denn ein schneller Test bei SSLlabs vergibt die Note F und man ist sicherheits-technisch durchgefallen:

This server supports anonymous (insecure) suites (see below for details). Grade set to F.

Wer auch immer die Default-Werte beim Tomcat zu verantworten hat, darf sich die high5 bei mir persönlich abholen.

Also zwei Zeilen mehr rein in das Connector-Tag im server.xml:

SSLHonorCipherOrder=“true“
SSLCipherSuite=“ALL:!ADH:!SSLv2:!EXPORT40:!EXP:!LOW“

Das ergibt im Test schon mal Note B, aber es ist immernoch Compression aktiviert, die auch nicht gut tut. Also noch eine Zeile mehr hinein:

SSLDisableCompression=“true“

Nun gibt es Note A (100,90,80,90 für Eingeweihte) und auch die ForwardSecrecy wird angeboten.

Also alles nicht mal eben zu realisieren, man muß schon jeden Schritt testen.

Schade drum.

Tomcat 7 native interface

Bei debian 7 in etwa so:

root@j1:~#apt-get install libapr1 libaprutil1 libapr1-dev libssl-dev
root@j1:~# cd src
root@j1:~/src# cp /opt/tomcat/bin/tomcat-native.tar.gz .
root@j1:~/src# tar xzf tomcat-native.tar.gz
root@j1:~/src# cd tomcat-native-1.1.29-src/jni/native/
root@j1:~/src/tomcat-native-1.1.29-src/jni/native# JAVA_HOME=/opt/java
root@j1:~/src/tomcat-native-1.1.29-src/jni/native# export JAVA_HOME
root@j1:~/src# ./configure –with-apr=/usr/bin/apr-1-config
root@j1:~/src# make
root@j1:~/src# make install
root@j1:~/src# ln -s /usr/local/apr/lib/libtcnative-1.so /usr/lib/libtcnative-1.so

Und wenn dann Tomcat neu hochfährt, steht im catalina.out logfile hoffenlich:

INFO: Loaded APR based Apache Tomcat Native library 1.1.29 using APR version 1.4.6.

Schön so.

Tomcat AJP bind auf localhost

Warum sollte der Port 8009 im Normalfall für die Welt offen stehen, wenn es auch anders geht?

Also einfach dort wo auf Port 8009 gehört wird das Attribut address=“::1″ ergänzt und den Dienst neu gestartet, schon klappt es.

Schön so.

java, tomcat, authbind und IPv6

Entgegen den meisten ergooglebaren Gerüchten ist das inzwischen kein Problem mehr. Authbind beherrscht bei einer normalen Debian 7.3 Installation von sich aus IPv6, eben selbst probiert.

Schön so.

JaStaCry – Stapelbare Verschlüsselung

Eine erste Version von JaStaCry liegt ab heute bereit.

Verschlüsselung‬ für technisch versierte, die einzelnen Algorithmen nicht mehr trauen. Quellen liegen u.a. auf sourceforge rum.

Java – um eins verzählt!

Was wäre das einfach gewesen, mal eben ein Datums-Objekt als String ausgeben. Aber was passiert – bei Quellen die nicht von mir sind natürlich: Es kommt immer ein Tag früher im Kalender raus als im Datumsobjekt stehend!

Kurz gedebugged und man sieht: Das Date-Objekt hat noch den Inhalt von z.B. „14.06.2008 00:00:00 CET“, dann kommt ein SimpleDateFormat von „dd.MM.yyyy“ und es ergibt einen String von „13.06.2008“! Boah!

Aber wie war das mit der Zeitzone? CET im datum ist OK, aber das SimpleDateFormat wird mit setTimeZone von GMT gefüttert? Dann nimmt der Formatierer nämlich die Differenz von einer Stunde und zieht die erst ab, schon haben wir „13.06.2008 23:00:00“ und daraus wird der String gemacht. Hab ich dich!

Schön so!

Java – läuft nicht die Bohne

Das ist ja mal ein (aus dem Zusammenhang gerissenes) Zitat, was gut tut:

Nach Angaben des Unternehmens sind die Probleme mit Java nicht in den Griff zu bekommen.

Selbiges hat man manchmal auch im Gefühl. Die Sprache hat durchaus noch grundlegende Probleme und erleichtert nicht gerade im täglichen Umgang die Arbeit. Und um den nun folgenden Flamewar anzuheizen: Mit PHP geht es meistens schneller ans Ziel.

Schade drum.

Quältext der Woche

Was bitte hat da wen wann und warum geritten:

for (int i = 0; i < 200000; i++) {
int j = 1;
}

Mir erschließt sich gerade nicht wirklich, warum dieser Dreizeiler in den Tiefen eines Java-Projektes auftauchen muß.

Schade drum.

Java mit Kinderkrankheiten

Und wieder einmal wird meine Meinung bestätigt. Man will von Version 1.0.1 nach 1.0.4 updaten. Klingt harmlos, fast kein Versionssprung, sollte also gehen. Aber der erste Klick bringt schon einen Kilometer an Stacktrace Durchfall . Alle möglichen Parameter, die bis eben noch gingen, sind nun unbekannt, heißen anders oder haben sich versteckt. Nochmal zum Mitschreiben: Es wurde hier in der dritten Unternummer der Versionierung geändert. Drei Prozent Versionsupdate wenn man so will. Und schon wird wieder an der API rumgefrickelt ? Können die Jungs das nicht, oder sind die in einem Elfenbeinturm und hatten nie ein Projekt über mehr als eine Woche betreuen müssen?

Schade drum.

Ältere Beiträge

© 2017 IT-weblog

Theme von Anders NorénHoch ↑