Alle Artikel über "Server"

PROFFIX REST-API Live Debugging

- - IT, Snippets, Web

Das Debuggen von Applikationen mit der PROFFIX REST-API ist gerade für komplexere Projekte suboptimal, da die Logfiles als reine Textfiles vorliegen. Mit folgender Konfiguration sind die Logfiles der PROFFIX  REST-API nicht nur sortier- und kategorisierbar sondern auch immer live verfügbar.

Das Problem

Die PROFFIX REST-API schreibt Logfiles im Textformat in einen Ordner log. Das sieht dann so aus:

Für eine einfache Verwendung oder kleine Fehler mag das ausreichen. Jeder der aber einmal etwas komplexere Applikationen (wie etwa pApp – das App für PROFFIX) mit mehreren, verschachtelten Interaktionen debuggt hat, weiss wie mühsam das wird.

Deshalb hier eine bessere und vollständig individualisierbare Alternative – die übrigens auch für andere Logfiles funktioniert.

Die Lösung

Textfile mit nxlog parsen

NXLog ist ein Tool das sowohl für die Sammlung von Logfiles als auch das Parsing von Logfiles genutzt werden kann. Und das Beste daran – in der Community Version ist es absolut kostenlos.

Diese kann man hier herunterladen, anschliessend ganz gewohnt installieren.

NXLog selbst wird über die Datei nxlog.conf konfiguriert, die man gewöhnlich im Ordner C:\Program Files (x86)\nxlog\conf findet.

Um die Logfiles der PROFFIX REST-API zu parsen kann man folgende, vorkonfigurierte Config verwenden:

Diese Konfiguration erstellt aus dem PROFFIX REST-API Log automatisch ein Syslog, der per Netzwerk an beliebige Empfänger gesendet werden kann  – und zwar live. Oder anders ausgedrückt – sobald ein Log-Ereignis eintritt, versendet NXLog das geparste und aufbereitete Ereignis automatisch.

Papertrailapp für Live – Log nutzen

Grundsätzlich könnte man mit NXLog praktisch jeden Log – Empfänger nutzen (z.B. Synology NAS Protokollcenter, Windows Ereignisprotokoll…)

Der Vorteil von Papertrailapp sind aber die diversen Filter – und Syntaxtypen kombiniert mit der Möglichkeit, Log – Events auch an weitere Benutzer freizugeben.

  1. Account erstellen unter https://papertrailapp.com
  2. Unter Add System ein neues System hinzufügen
  3. Den Log – Endpunkt (z.B:  logs5.papertrailapp) sowie den Port (z.B. 45353) von Papertrail in die NXLog – Konfiguration übertragen (ist auskommentiert).
  4. Das Zertifikat von Papertrail unter https://papertrailapp.com/tools/papertrail-bundle.pem herunterladen und im Ordner C:\Program Files (x86)\nxlog\cert abspeichern
  5. Den Dienst nxlog neu starten.

Eine detailliertere Anleitung in Englisch gibts auch hier: https://help.papertrailapp.com/kb/configuration/configuring-remote-syslog-from-windows/

Anschliessend kann man sich auf Papertrailapp.com einloggen und sollte bereits erste Logs sehen:

PROFFIX REST API Live Log

Anschliessend kann man unter Settings -> Event Viewer auch noch weitere Filter konfigurieren und auch weitere Benutzer (z.B. Entwickler) hinzufügen.

Papertrail PROFFIX REST Custom_Filter

Dieser Filter macht die Logkategorien Debug, Trace und Info klick- und sortierbar.

vmware: Failed to initialize SSL session to remote host

- - Snippets

Nach Upgrade auf vSphere 6 erscheint beim Verbinden mit einer virtuellen Maschine die Meldung „Failed to initialize SSL session to remote host„.

Neustarten der Maschine oder der Versuch eine alternative Verbindung herzustellen bringen keinen Erfolg.

Das Problem lässt sich aber relativ leicht lösen – einfach den entsprechenden Host neu starten und die Verbindung sollte ohne Probleme wieder funktionieren.

From Russia with Love

- - Allgemein, IT, Web

Ginge es nach den Mitteilungen in unseren SPAM-Ordnern, bekäme man nicht nur täglich unglaubliche Erbschaften sondern auch noch gleich die grosse Liebe frei Haus. Dass diese nicht immer ganz so einfach aufgibt und manchmal auch zur Brechstange greift zeigt folgender Artikel.

Teil 1: Liebe auf den ersten Blick

Alles Beginnt mit einem Mail das vielen bekannt vorkommen dürfte. Solche Mails erhalten wir täglich –  sehen sie als offensichtlichen SPAM zum Glück aber praktisch nie.

Russia with Love

Diese SPAM-Nachricht ist aber etwas anders; Zum einen erfolgt die Personalisierung der Nachricht nicht nur im Mail selbst (Hello…) sondern bereits in der Absenderadresse (…@bezeqint.net).

Welchen Vorteil sich der Spammer (= Evgeniya ;)) wohl davon erhofft?

Wirft man dann einen Blick in den E-Mailheader wird schnell klar, dass diese SPAM anscheinen tatsächlich über den Mailserver von Bezeqint.net (israelische Telekommunikationsgesellschaft) gesendet wurde. Der SPF-Fehler / Softfail hingegen zeigt, dass der Empfängerserver (in diesem Fall Google Apps) festgestellt hat, dass die Mailadresse beim Empfänger gar nicht existiert.

Dies hat folgende Punkte  zur Folge:

  • Diese E-Mail wird als SPAM klassifiziert
  • Die Absenderdomain hat keine Konsequenzen zu befürchten (Blacklist…)

Das System funktioniert in diesem Fall fast perfekt;

Teil 2: Mit der Brechstange

Nachdem man Evgeniya in Teil 1 nicht weiter beachtet hat, geht man davon aus, dass sie sich anderweitig umgesehen hat.

Leider scheint sie aber von hartnäckiger Natur zu sein und versucht es nun anstelle von Blumen mit der Brechstange. Diverse Mitteilungen „Delivery Status Notification Failure“ (=Mail gleich unzustellbar) im Posteingang zeugen von ihrem hartnäckigen Werben…

Mail Delivery Failed

Der Inhalt derselben ist identisch mit der ursprünglichen Nachricht – mit zwei Unterschieden:

  • Absender ist neu eine gefälschte Mailadresse der Domain aus Teil 1
  • Empfänger ist neu (=Teil der Mailadresse vor dem @)

Spoofing

Was hat Evgeniya versucht? Nun – nichts anderes als im Namen der ersten Mail weitere „Kunden“ anzulocken. Die Mailadresse, die dabei als Absender genutzt wird ([email protected]) exisitiert nicht und wird gefälscht (sog. Spoofing).

Es ist davon auszugehen, dass auch beim nächsten Empfänger als Absender wieder eine gefälschte Phantasieadresse des Vorgänger verwendet wird.

Das entsprechende Schema dazu dürfte bekannt vorkommen; ein typisches Schneeballsystem.

Spoofing

Spoofing alias Evgeniyas Way of Love…

Durch die Kombination von Spoofing und Spamming wird zwar die „Erfolgsquote“ von Evgeniya drastisch sinken, andererseits gibt es dafür keinen konkreten SPAM-Mailserver bzw. SPAM-Domain die man sperren könnte. Bei jedem Versand sind andere Domains und Mailserver betroffen…raffiniert, nicht?

Kollateralschäden

Problematisch an dieser Art von Spam + Spoof ist dabei nicht nur die verschmähte Liebe sondern v.a. dass durch das Spoofing leicht an sich unschuldige Dritte als Spammer gekennzeichnet werden können.

Wenn bei einer Domain keine korrekten SPF – Einträge gesetzt sind (d.h. der Empfänger kann nicht überprüfen ob die ensprechenden Mails auch vom authorisierten Absendern kommen) oder dies anderweitig überprüft wird (z.B. standardmässig mit Google Apps) wird der Absender bei ausreichender Anzahl an Beschwerden als Spammer markiert…

 

Um solche Fälle zu vermeiden empfiehlt sich dringend korrekte SPF-Records zu setzen. Einen entsprechenden Generator dazu gibt es etwa hier oder hier. Der so erstellte Eintrag muss anschliessend als TXT in den DNS-Einträgen der Domain hinterlegt werden.

Zwar braucht das etwas Zeit, langfristig macht man Evgeniya damit aber einen Strich durch die Rechnung…

Veeam Backup Error: NFC storage connection is unavailable.

- - IT, Snippets

Wie man „NFC storage connection“ – Probleme in Veeam Backup and Replication 8 löst – in diesem Artikel.

Fehlermeldungen

Folgende Fehlermeldungen in  Veeam Backup and Replication 8 treten wiederholt auf:

Oder:

Lösung

Das Problem tritt auf, wenn vCenter Server oder einer der ESXi – Hosts nur über eine IP-Adresse verfügt bzw. der Hostname (FQDN) nicht sauber aufgelöst werden kann. (also z.B. 192.168.1.100 anstelle von vcenter.domain.local).

Für sämtliche ESXi – Hosts sowie den vCenter Server müssen (meistens manuell) ein statischer DNS A-Name Record sowie ein entsprechender Pointer erstellt werden!

Anschliessend sollte das Problem behoben sein.

Windows Server 2012 R2 Core Eingabesprache ändern

- - IT, Snippets

Um in Windows Server 2012 R2 Core die Eingabesprache von English auf Deutsch (Schweiz) zu ändern, wie folgt vorgehen:

In Powershell folgendes eingeben:

 

Anschliessend in der Registry (in Powershell einfach „Regedit“ eingeben…) zu

navigieren und „Value 1“ auf 00000807 setzen.

Server Core 2012 Eingabesprache ändern

Sämtliche anderen Values können gelöscht werden.

VMWare: Fehler beim Konsolidieren der Festplatten: msg.fileio.lock.

- - IT, Snippets

Probleme beim Konsolidieren von Snapshots? Meldung „msg.fileio.lock“? So behebt man das Problem…

Die Mitteilung in VMware vCenter „Die Festplatten der virtuellen Maschine müssen konsolidiert werden“ können normalerweise per Rechtsklick auf die jeweilige Maschine >> Snapshots >> Konsolidieren beseitigt werden.

Leider kommt es aber ab und zu vor, dass dann die Meldung „Fehler beim Konsolidieren der Festplatten: msg.fileio.lock.“ erscheint.

Meist liegt die Ursache an einem der mittlerweile so zahlreich vorhandenen Backuplösungen, die noch in irgendeiner Form auf die VMs zugreift oder z.B. durch einen Systemausfall „hängengeblieben“ ist. Ein Reboot des Backuplösung löst das Problem daher meistens.

Sicheres Gästenetzwerk mit DD-WRT

- - IT, Tutorials

Es gibt viele Gründe ein Gäste-WLAN einzurichten. Im einfachsten Fall möchte man tatsächlich Gästen oder Besuchern eine Internetverbindung zur Verfügung stellen. Vielleicht möchte man aber auch einfach ein getrenntes WLAN-Netz um z.B. Haustechnik oder Solaranlagen anzuschliessen. Wie man das Ganze so einrichtet, dass Besucher nicht plötzlich im internen Netz landen – in diesem Artikel.

 

Gästenetzwerk vs. Sicheres Gästenetzwerk

Ein unsicheres Gästenetzwerk aufzubauen ist einfach – viele WLAN-Router haben diese Funktion heute bereits eingebaut.
Der Haken daran: Es ist nicht sicher und ermöglicht „Gästen“ praktisch auf das gesamte interne Netzwerk zuzugreifen. Die Ursache liegt aber weniger an der Software sondern vielmehr  an der „Standardverkabelung“.

Die Problematik; Hersteller vs. Provider

Aktuelle WLAN-Router haben meist auch einen WAN – Anschluss, d.h. sie sind darauf ausgelegt direkt ans „Internet“ angeschlossen zu werden. Vom Provider erhält man heute zu 99,9 % aber ebenfalls einen Router (eine Modem / Router Kombination…)

Man hat damit also folgende zwei Anschlussmöglichkeiten:

 

Variante 1: Der Router des Providers (z.B. von Swisscom) wird komplett aus der Installation entfernt und durch den WLAN-Router ersetzt. Der WLAN-Router stellt sowohl das Interne WLAN wie auch das Gästenetzwerk.

WAN / WLAN Direkt

Abb. 1: Vom Hersteller vorgesehene Konfiguration („Theorie“…)

 

Variante 2: Ein zusätzlicher WLAN-Router wird an das bestehend bleibende Modem/Router des Providers angeschlossen. Der WLAN-Router stellt ebenfalls sowohl Internes WLAN wie auch das Gästenetzwerk.

WAN / WLAN Indirekt

Abb. 2: Häufiger anzutreffende Konfiguration („Praxis“…)

 

Bei beiden Varianten wird „der Internetzugang“ funktionieren – denn der/die Router machen was sie sollen und vermitteln „jeden mit jedem“. Dementsprechend hat aber bspw. auch ein Gast vollständigen Zugriff auf sämtliche Komponenten des Netzwerks. Das ist nicht im Sinne des Erfinders, oder?

 

Eine saubere Lösung mit DD-WRT

Um das Gästenetzwerk wirklich sauber einzurichten braucht man wesentlich mehr Kontrolle über den WLAN-Router, als standardmässig vorgegeben. Gerade für kleinere Netzwerke empfiehlt sich deswegen die alternative Routerfirmware DD-WRT.

DD-WRT ersetzt dabei die beschränkte Standardfirmware des Herstellers und ermöglicht wesentlich mehr Features und Feineinstellungen (mehr Infos zu geeigneten Routern bzw. die Installation von DD-WRT findet man hier)

Das endgültige Ergebnis sieht dann in etwa so aus:

Sicheres Gästenetzwerk mit DD-WRT

Abb.3: Sicheres Gästenetzwerk mit DD-WRT

 

Anders als bei den vorhergehenden Beispielen (Abb. 1 und 2) erfolgt hier eine vollständige Trennung von Internem und Gästenetzwerk – und zwar bereits auf demWLAN- Router. Gleichzeitig wird hier auch ein direkter Zugriff vom Gästenetz auf alle Router unterbunden – einzig und allein ein „kontrollierter Internetzugang“ wird erlaubt.

Schritt 1: Virtuelles Gästenetz erstellen

Virtuelles Interface erstellen

Virtuelles Interface erstellen (in DD-WRT)

Zuerst wird in DD-WRT ein neues, virtuelles Interface für den WLAN – Zugang erstellt. Dieses wird ausschliesslich für den Gästenzugang genutzt (z.B. WLAN_Gast).

Vorgehen: Unter Wireless >> Basic Settings den Button „Add“ klicken

 


 

Schritt 2: WLAN verschlüsseln / mit Passwort schützen

WLAN absichern

WLAN Intern/Gästenetz absichern

Anschliessend sollte man die grundlegenden Sicherheitseinstellungen für beide WLAN-Zugänge konfigurieren. Das Gästenetzwerk offen (d.h. ohne Verschlüsselung) zu lassen, empfiehlt sich in den meisten Fällen nicht.

Vorgehen: Unter Wireless >> Wireless Security die Verschlüsselung für beide Interfaces konfigurieren.


 

Schritt 3: Bridge erstellen

Neue Bridge erstellen

Neue Bridge br1 für das virtuelle Interface erstellen

Nun muss eine Bridge für das in Schritt 1 erstellte virtuelle Interface erstellt werden. Wichtig! Die bereits bestehende Bridge br0 nicht ändern, löschen oder überschreiben!

Vorgehen: Unter Setup >> Networking >> Create Bridge „Add“ klicken und die IP-Einstellungen für das Gästennetzwerk definieren. Anschliessend unter dem Punkt „Assign to Bridge“ das virtuelle Interface der neu erstellten Bridge zuweisen.


 

Schritt 4: Neue DHCP Instanz erstellen

 

Neue DHCP Instanz erstellen

Der Bridge br1 eine neue DHCP Instanz zuweisen

Da Gäste automatisch eine IP-Adresse zugewiesen bekommen sollen, muss eine neue DHCP – Instanz erstellt werden.

Vorgehen: Unter Setup >> Networking >> Multiple DHCP Server mittels des Buttons „Add“ der neu erstellten Bridge eine DHCP – Instanz zuweisen.


Schritt 5: Zusätzliche DNSMasq Optionen konfigurieren

Zusätzliche DNSMasq Optionen

Zusätzliche DNSMasq Optionen setzen

Damit DHCP schlussendlich funktioniert müssen noch folgende Optionen unter „Additional DNSMasq Settings“ ergänzt werden.

 


 

Schritt 6:  IPTables konfigurieren

IPTables Konfiguration DD-WRT

IPTables Konfiguration einfügen und „Save Firewall“ klicken

Zu guter Letzt müssen noch die Firewallregeln des Routers konfiguriert werden. Bis zu diesem Punkt hat das Gastnetzwerk auch noch keinen Internetzugang (das eigentliche Ziel dieser Übung…)

Firewallregeln kann man in DD-WRT mithilfe von IPTables konfigurieren. Man findet die entsprechende Eingabemaske unter Administration >> Commands.  Dort sollen folgende Konfigurationseinstellungen eingefügt und mittels „Save Firewall“ gespeichert werden:

 



Schritt 7: DD-WRT in Netzwerk einbinden

DD-WRT einbinden

DD-WRT ins bestehende Netzwerk einbinden

Zum Schluss muss der Router mit DD-WRT noch ins bestehende Netzwerk eingebunden werden. Da die Internetverbindung in dieser Konfiguration durch einen anderen Router / Modem (vergl. Abb. 3) hergestellt wird, brauchen wir das WAN nicht. Es sollte deshalb deaktiviert werden (unter „Setup“). Anschliessend sollte man dem Router noch eine plausible IP-Adresse vergeben (z.B. 192.168.1.2), sowie die Subnetmask und den DNS-Server ergänzen.

Den DHCP Server sollte man auf „Disable“ stellen – fürs interne Netzwerk brauchen wir ihn nicht und fürs Gästenetzwerk haben wir ihn bereits manuell konfiguriert.

Erst nachdem diese Einstellungen ergänzt wurden auf „Apply Settings“ klicken.

 

Um die Konfiguration abzuschliessen sollte man den Router anschliessend neu starten.

NTP korrekt konfigurieren

- - IT, Tutorials

Zeit ist relativ – dem einen kann es nicht schnell genug gehen, der andere möchte sie anhalten. Für IT – Systeme hingegen sollte man sich darauf verlassen können, dass die Zeit stimmt und überall gleich ist – sonst können unangenehme Überaschungen passieren…

NTP – klein aber fein

Das Network Time Protocol ( NTP) ist ein Standard um die Zeit auf verschiedenen IT-Systemen zu synchronsieren. Computer, Server, Router, SAN, NAS – alles kann via NTP auf die gleiche Zeit abgestimmt werden.  NTP funktioniert über das Protokoll UDP und ist damit universell einsetzbar.

Wieso braucht es eine Zeitsynchronisierung?

Auf den ersten Blick mag es unerheblich scheinen, dass beispielsweise ein Router, PC oder Server kleine Zeitdifferenzen aufweisen. Und was sollen Unterschiede von 1-2 Minuten denn schon gross ausmachen…oder?

Je nach System sind es aber gerade diese Differenzen, die für kleinere Timeouts bis zum kompletten Versagen führen. Ein Hauptgrund für die Wichtigkeit der Zeit in IT – Systemen ist schlichtweg, dass praktisch alles darauf basiert. Einige Beispiele:

  • Backup (zeitgesteuert)
  • Verschlüsselung
  • DHCP (bis wann ist eine Adresse gültig?)
  • Updates
  • Sicherheitsfunktionen (z.B. zweistufige Authentifizierung)

Insbesondere der Bereich Netzwerk setzt eine Zeitsynchronität voraus – falls diese nicht  gegeben ist, wird sich das früher oder später bemerkbar machen.

NTP Server

Ein NTP Server macht nichts anderes, als dass er „die Zeit verteilt“. Er bringt verbundene Geräte auf den korrekte Zeitstand. Dabei spielt es grundsätzlich keine Rolle ob die Zeit, die er verteilt auch korrekt ist. Solange sie im System synchron (d.h. alle gleich) ist, sollte alles funktionieren. Natürlich ist es aber ein Unsinn, falsche Werte zu  synchronisieren.  Deswegen bezieht ein NTP Server die Zeit meistens von einem „Master“ NTP Server (siehe www.pool.ntp.org)

InternetzeiteinstellungenBei einzelnen Arbeitsstationen die direkt am Internet hängen, wird die Zeit standardmässig direkt mit einem Internetzeitserver konfiguriert. Dazu einfach in die Einstellungen für „Datum und Uhrzeit“ gehen und nach einem Punkt „Internetzeit“  suchen.

 

Bei Domänennetzwerken wird die Sache schon interessanter. Generell wird hier die Zeit vom ersten Domänencontroller einer Gesamtstruktur übernommen. Dieser wiederum bezieht seine Zeit von der BIOS – Systemuhr. Um nun aber die Zeit mit einem exakten, externen Zeitserver zu synchronisieren reichen einige Zeilen Powershell.  Für Server 2012 lauten diese z.B:

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL
Stop-Service w32time
Start-Service w32time

Im ersten Schritt wird dem DC mitgeteilt woher er seine Zeit beziehen soll (in diesem Fall von pool.ntp.org). Danach wird der Service mittels Stop / Start neu gestartet.

Hinweis: In einer virtualisierten Umgebung sollte man vorher unbedingt die Zeitsychronisierung mit dem Host deaktivieren.

Nun muss die korrekt Zeit noch mit den einzelnen Domänenclients synchronisiert werden. Dazu eignet sich bspw. DHCP.

Zeit per DHCP verteilen

Unter Server 2012 findet sich die Funktion bei „DHCP“ > „IPv4“ und/oder „IPv6“ > „Serveroptionen“. Dort den Haken bei „004 Zeitserver“ setzten und den entsprechenden NTP Server (in diesem Beispiel der DC)  angeben.

Damit wird die korrekte Zeit automatisch synchronsiert – d.h. sämtliche Geräte die per DHCP ihre IP-Adresse beziehen und in die Domäne eingebunden sind, beziehen die Zeit per sofort vom DC.

SQL Server does not support the language of the OS

- - IT, Snippets

Wenn man SQL Express 2012 oder die entsprechenden Vorgängen installieren möchte, und die Meldung „This SQL Server setup media does not support the language of the OS…“ ist die Lösung bereits im Error enthalten. Die Sprache passt nicht – oder doch?

SQL Server not support anguageWichtig ist vor allem, dass man die zum System passende SQL Express Version installiert, d.h. Deutsche Sprache = Deutsche Installationsdatei, Englische Sprache = Englische Installationsdatei. Doch was wenn die Meldung immer noch erscheint – wie in diesem Fall hier?

 

Die Lösung ist zum Glück recht einfach. Es braucht weder das Ändern eines Registryeintrages noch das manuelle Anpassen des Installationsfiles (was einige anscheinend versuchen…) sondern lediglich einen temporären Workaround.

 

Workaround

SQL Server not support language solution

In den Systemeinstellungen die Standardsprache Deutsch (Schweiz) auf Deutsch (Deutschland) setzten, SQL Express ohne Fehler installieren und die Sprache dann wieder zurückstellen. So sollten keine weiteren Komplikationen auftreten.

Wichtig! Es reicht nicht, nur die Anzeigesprache auf Deutsch (Deutschland) zu setzen! Sowohl Anzeige- als auch Tastatursprache – evtl. sogar die Region müssen auf Deutsch (Deutschland) eingestellt werden.

Powershell

Anstelle die Standardsprache über die grafische Oberfläche umzustellen, gibt es auch die Variante mit Powershell (insbesondere unter den Server Core Varianten…).

Dazu einfach eine Powershellkonsole öffnen und folgenden Befehl eingeben:

Set-WinUserLanguageList -LanguageList DE-DE

Nach erfolgter Installation kann dann z.B. mit

Set-WinUserLanguageList -LanguageList DE-CH

wieder der Originalzustand hergestellt werden.