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.

Freies eBook - Einführung in Microsoft SQL Server 2014

Auch wenn es sich wie ein Aprilscherz gelesen hat, es war keiner. Seit dem 1.4. bietet Microsoft nicht nur den neuen SQL Server an sich, sondern auch eine Einführung in Microsoft SQL Server 2014 als freies eBook auf seiner Seite an.

Der neue SQL Server 2014 bringt Features wie In-Memory OLTP, AlwaysOn, Buffer Pools oder Backup via Azure mit. Das aktuelle Buch enthält auf 125 Seiten, neben einer allgemeinen Einführung, Details zu allen neuen Features. 

ebook_Introducing_Microsoft_SQL_Server_2014

Die Einführung steht als PDF,  ePub oder Kindle Version zum Download bereit. 

Download  Microsoft SQL Server 2014

Weitere freie Veröffentlichungen diesen Jahres sind unter anderen Windows Server 2012 R2, Einführung in das Microsoft System Center 2012 R2, Microsoft System Center: Virtualized Network Solution und Cloud Computing

Exchange Message Tracking Log - Praktische Befehle um die Nachrichtenzustellung zu durchsuchen

Für den Exchange Server, speziell für die 2013er Version, hatte ich erst vor wenigen Wochen ein paar praktische Befehle für die Exchange Management Shell vorgestellt. Damals ging es hauptsächlich um die Rechtevergabe oder Auswertungen von Einstellungen.

Heute soll es ebenfalls um Auswertungen gehen, aber dieses Mal in Bezug auf die Exchange Funktion an sich, den E-Mailverkehr. Gemeint ist damit das sogenannte Message Tracking Log, welches auf dem Exchange Server grobe forensische Methoden liefert, um den Mailverkehr oder einzelne Mailzustellungen zu untersuchen.

mail-exchange-srv

Ich ziehe auch unter Exchange 2013 die Auswertung via Shell vor, es wird zwar auf eine Analyse via Weboberfläche verwiesen. Diese ist aber mehr als schäbig und bringt nicht den gewünschten Komfort einer Konsole mit.

Somit muss für die folgenden Abfragen zunächst die Exchange Management Shell auf dem zu untersuchenden Server gestartet werden. Die Angaben eines Servers, in den kommenden Befehlen habe ich bewusst weggelassen, wer mehrere Server im Betrieb hat, kann eine genaue Auswahl mit "-Server Name" gerne treffen.

Befehle zur Nachrichtenuntersuchung - Exchange Server 2010/2013

Gesamten Mailverkehr ausgeben

Die Ausgabe erfolgt der Übersicht wegen, immer über die sogenannte GridView

Get-MessageTrackingLog | Out-Gridview

Mailverkehr mit Sender, Empfänger, Betreff und Datum anzeigen

Get-MessageTrackingLog -ResultSize Unlimited | select-object eventid,timestamp,source,messageid,sender,recipients,messagesubject | Out-Gridview

Mailverkehr eines bestimmten Datums ausgeben

Get-MessageTrackingLog -ResultSize Unlimited -Start "03 31 2014" | select-object eventid,timestamp,source,messageid,sender,recipients,messagesubject | Out-Gridview

E-Mails eines Zeitraums anzeigen

Get-MessageTrackingLog -ResultSize Unlimited -Start "03 31 2014" -End "04 02 2014"| select-object eventid,timestamp,source,messageid,sender,recipients,messagesubject | Out-Gridview

E-Mails eines bestimmten Nutzer in einem Zeitraum suchen

get-messagetrackinglog -Start "03 31 2014" -End "04 02 2014" -sender: nutzer@domain.de | Select timestamp,EventID,recipients,messagesubject | Out-Gridview

E-Mails eines bestimmten Nutzer in einem Zeitraum suchen und in Datei abspeichern

get-messagetrackinglog -sender: nutzer@domain.de | Select timestamp,EventID,recipients,messagesubject | Out-File D:\Maillog.txt

Mails eines bestimmten Zeitraums sortiert in Datei ablegen 

Get-MessageTrackingLog -ResultSize Unlimited -Start "03 31 2014" -End "04 02 2014" | sort Timestamp | Select timestamp,EventID,recipients,messagesubject | Out-File D:\Maillog-sortiert.txt 

Anleitung - Windows Dienste umbenennen

Zum kleinen Freitag gibt es einen ebenso kleinen Tipp.

Heutiges Thema ist das Umbenennen von Windows Diensten. Windows Services werden meist mit einem fest vorgegebenen Namen installiert, normalerweise ist dieser recht aussagekräftig und kann so belassen werden.

Es kann aber vorkommen, dass bestimmte Dienste mit einem anderen Namen angezeigt werden sollen. Zum Beispiel alle Dienste, die zu einer Anwendung gehören oder voneinander abhängen. (Webserver, Datenbankserver, Anwendung).

Windows Dienste umbenennen

Am schnellsten lassen sich Dienste mit dem "sc" Befehl umbenennen, dazu muss lediglich eine Konsole "CMD" geöffnet und sc config Themes DienstName= "Neuer Name" eingegeben werden. Im Beispiel seht ihr, wie dieser Vorgang auf eine PostgreSQL Installation angewendet wird.

Dienste-umbenennen

Neben einem neuen Namen, lassen sich mit Diensten noch viele andere Dinge anstellen. Um einen Überblick zu erhalten, gebt ihr den "sc" Befehl in der Kommandozeile ein. Wie sich mit der Option "delete" Dienste löschen lassen, hat Hannes bereits ausführlich in einem Artikel beschrieben.