Thomas Wölfers Baustatik-Blog

Thomas Wölfers Baustatik Blog

“Lustige” Dinge mit denen man sich rumschlagen muss


Das hier sieht vermutlich für den ein oder anderen bekannt aus:

image

Wenn man da aber ein paar Stellen etwas genauer anschaut, dann wohl eher nicht mehr…

image

image

image

Bin gerade dabei etwas dagegen zu unternehmen, aber im Web sind die Sachen ja immer gleich so kompliziert. Natürlich hosten diese Menschen, das nicht selbst, sondern verstecken sich hinter Cloudflare – und Cloudflare sagt einem natürlich nicht so ohne weiteres, wer sich hinter dem von ihnen transportierten Angebot befindet. (Es gibt da auch ein “Abuse” Formular. Habe ich schon 2x ausgefüllt. Bin gespannt, ob das 2. mal mehr bringt als das erste.)

Die TLD “ga” wird – natürlich – von einem Gabonesischen nationalen Institut verwaltet. Der Registrar dafür sitzt in Holland – und ist zur Zeit meine Hoffnung, in der Sache weiterzukommen. So wie deren Webseite funktioniert habe ich aber noch nicht besonders viel Hoffnung….


Änderung unserer Download-URL


Wenn Sie ein Update, ein Demo oder eine Hochschulversion von uns herunterladen – oder wenn der Baustatik-Update-Dienst das für Sie automatisch tut – dann wurden die Daten bisher von einem Server namens “downloads.die.de” heruntergeladen. Das ist ab sofort anders. Der neue Name lautet “diesoftware.blob.core.windows.net”.

Warum ist das so, und wieso der komische Name?

Die Sache ist etwas kompliziert, und darum muss ich für die Erklärung auch ein bisschen ausschweifen. Als Internet Infrastruktur verwenden wir Microsoft Azure. Dort betreiben wir zum Beispiel den Webserver der unsere normale Webseite ausliefert und auch den zweiten für die Blogs: Von dem haben Sie den Text erhalten, den Sie gerade lesen.

Eine weitere Komponente die wir von Azure nutzen ist der “Blob” Storage – dort liegen alle sonstigen Dateien, die Sie von uns herunterladen können. Also zum Beispiel die aktuelle Version des Baustatik Installationsprogramms, die Updates für die Baustatik, das Archiv aller alten Baustatik Versionen und diverse weitere Programme, die Sie von uns herunterladen können.

Der echte Name dieses Blob-Servers lautet “diesoftware.blob.core.windows.net”. Über einen DNS-Eintrag machen wir diesen Server unter dem Name “downloads.die.de” verfügbar – einfach darum, damit wir unseren Domänen-Namen “die.de” im Server-Namen verwenden können.

Nun ist es so, das uns die Sicherheit unserer Kunden am Herzen liegt, und darum verwenden wir bei jeglicher Kommunikation im Web SSL. (Was das genau bedeutet hatte ich hier schon mal beschrieben.). Seitens Azure ist das auch kein Problem bei “normalen” Webservern wie www.die.de – darum sehen Sie in der Adressleiste auch immer ein https vor dem www.die.de, oder aber ein vom Browser eingeblendetes Schloss. Bei den Blob-Storage Servern geht das aber leider nicht – zumindest nicht im Zusammenhang mit sogenannten “Custom domains”. Das bedeutet: Man kann zwar SSL verwenden, aber nur dann, wenn man den “echten” Server-Namen verwendet, aber eben nicht, wenn man den “eigenen” Namen will. Microsoft sagt schon seit geraumer Zeit, das das mal möglich sein soll – aber auch nach mehreren Jahren gibt es da noch immer keinen konkrete Zeitplan.

Wir wollten nun aber nicht länger auf SSL verzichten – und darum ist es notwendig, das wir ab sofort den “echten” Servernamen verwenden.

Mit anderen Worten: Wir haben uns entschieden in Zukunft auf den “schönen” Namen zu verzichten und lieber den “sicheren” zu verwenden.


Die SPAM-Menge wird langsam lächerlich


Wir verwenden als eMail Server das Programm MDaemon von alr-n und ich bin damit auch sehr zufrieden. Einer der Gründe dafür ist die Qualität der SPAM-Abwehr: Ein einmal im Monat eine SPAM-Email durchkommt bin ich so verwundert, dass ich eigentlich immer erstmal einen Blick auf die Server-Konfiguration werfe – denn eigentlich kommt nie eine durch.

Aus völlig anderen Gründen habe ich heute ebenfalls auf den Server geschaut und bin dabei darüber gestolpert:

image

Etwa 94% aller eingehenden eMail heute wurden durch den “Dynamic Screen” Mechanismus als SPAM blockiert. Wir haben noch ein paar andere Mechanismus – und zusammen ergab das dann folgendes: Über 97% aller eMails, die man heute an uns zustellen wollte waren unerwünschte Reklame. Neues Rekordhoch, wie ich vermute. Eine SPAM-Nachricht ca. alle 45 Sekunden – ich drücke allen die Daumen, die eine etwas schlechtere SPAM-Abwehr haben.


SSL–warum “sichere” Webseiten


Unser Webauftritt ist schon seit Jahre per SSL "gesichert" - aber was soll das eigentlich? Der Inhalt unserer Webseite ist ja nicht gerade geheim.

Kurze Antwort: Das ganze dient dem Schutz der Besucher – Es ist eigentlich unverantwortlich, Webseiten ohne SSL zu veröffentlichen.

Etwas längere Antwort: Wenn eine Website per SSL geschützt ist, dann hat das für den Besucher keine besonderen Auswirkungen: Der Browser zeigt in der Adresszeile zwar ein spezielles zusätzliches Symbol an, aber sonst ändert sich nichts. (Das Symbol sieht in jedem Browser blöderweise anders aus.)

image

Im Hintergrund passieren aber spannenden Dinge, und die haben damit zu tun, wie die Daten vom Server an den Browser (und auch vom Browser an den Server) übertragen werden: Die werden auf eine spezielle Art verschlüsselt.

Nun wird man sich fragen: Wieso eigentlich? Immerhin handelt es sich um Daten einer Webseite, und die ist ohnehin öffentlich verfüg- und einsehbar. Warum also sollte man deren Daten verschlüsseln – und dann auch nur im Transit, also während die Daten vom Server zum Browser unterwegs sind?

Die Antwort darauf verblüfft: Das passiert, damit niemand diese Daten ändern kann. Klingt nicht besonders überzeugend – denn wie sollte irgendwer diese Daten ändern, und ehrlich gesagt: Warum sollte irgendwer ein Interesse daran haben, dem Besucher unserer Webseite andere Daten zu liefern als die, die wir eigentlich liefern wollen. Klar – man könnte dann die Text ändern die der Browser anzeigt, nur: Warum?

Zunächst mal: Wie könnte man die Daten ändern? Das ist dankbarerweise einfach erklärt: Die vom Webserver gelieferten Daten durchlaufen multiple Computer, bis sie beim Browser des Besuchers angekommen sind. Dazu gehören die Router, die direkt vor dem Server stehen, die Rechner des Internetproviders des Besuchers und zuletzt der Router und der eigentliche Computer des Besuchers. Auf all diesen Systemen läuft Software die die Daten transportiert – und diese Software kann diese Daten tendenziell auch verändern. Soweit ist das ganze einleuchtend: Jeder, der die Daten zwischenzeitlich im Besitz hat, kann die auch verändern.

Stelle sich die Frage nach dem Warum. In der Theorie könnte sich ein Witzbold den Spaß machen, und einfach alle „a���s durch „b“s ersetzen – nur darum geht es nicht. Denn leider sind Witzbolde in den betrachteten Situationen nicht unterwegs – Kriminelle aber schon. Und die verändern keine Buchstaben, sondern fügen den Transportierten Daten gerne Schadsoftware hinzu: So enthält dann eine harmlos wirkende Webseite von einem Hersteller dem man vertraut plötzlich ein Programm das den eigenen Rechner angreift. Und zwar nicht, weil der vertraute Hersteller dieses Programm von seinem Server tatsächlich ausliefert, sondern weil das vom Angreifer „unterwegs“ in die Daten reingeschmuggelt wird.

Klingt nach Science Fiction oder James Bond? Passiert aber tatsächlich – und zwar täglich. Von Angreifern übernommene Router sind keine theoretischen Gedankenspiele, sondern ganz normale Praxis.

Und genau da setzt SSL an: Weil die Daten verschlüsselt sind können Sie auch von Außenstehenden nicht verändert werden – und darum können diese Angreifer auch keinen Schadcode hinzufügen, denn auch das Hinzufügen von Daten ist natürlich eine Änderung.

Lange Rede kurzer Sinn: SSL verschlüsselte Webseiten schützen den Besucher davor, willkürlichen Angriffen ausgesetzt zu werden. Dass die transportierten Daten dabei von Dritten nicht lesbar sind, ist nur ein netter Nebeneffekt.

Mein Rat: Nicht SSL-verschlüsselte Webseiten grundsätzlich meiden.


IoT–was ist das ?


In letzter Zeit taucht immer wieder die Abkürzung „IoT“ auf – die steht für „Internet of Things“, also das „Internet der Dinge“.

Dabei geht es im Wesentlichen darum, das immer mehr Geräte mit Kleinstcomputern ausgestattet werden, die dann per Internet miteinander sowie zugehörigen Servern kommunizieren um ihre Dienste durchzuführen.

Ein seit 15 Jahren immer wieder angeführtes Beispiel ist der Kühlschrank mit IP-Adresse (Gibt’s tatsächlich) - aber auch Geräte wie Telefone, Stereoanlagen, Heizkörperthermostate und Glühbirnen gibt es in vernetzten Varianten.

Diese Geräte sind hilfreich und schön – ich will das gar nicht verteufeln: Habe selbst Sonos, Tado und ähnliches. Trotzdem ist natürlich eine vernünftige Menge an Misstrauen angebracht. Immerhin sammeln diese Geräte alle fröhlich Daten und senden die an ihre Meister. Und ob dabei verschlüsselt wird und wie diese Daten dann weiter verwendet werden ist natürlich immer so eine Sache.

Immer wenn man sich so ein Gerät anschafft, muss man sich an den einen wichtigen Satz erinnern:

Das „S“ in „IoT“ steht für „Sicherheit“


Windows XP, Windows Vista: Umsteigen!


Wer noch immer eine alte Version von Windows einsetzt – und das sind eigentlich nicht nur XP und Vista, sondern eigentlich auch schon Windows 7 – der sollte sich jetzt dringend an den Umstieg machen.

Ganz besonders dringend ist das natürlich bei Windows XP: Das System wird von Microsoft selbst schon lange nicht mehr unterstützt, und auch die Baustatik wird für XP nicht länger gewartet: Seit geraumer Zeit erhalten Anwender mit XP keinerlei Updates mehr für die Baustatik. Was aber noch viel dramatischer ist: Sie erhalten auch keine Sicherheitsupdates mehr von Microsoft – und das schon seit Jahren. Es ist wirklich dringend notwendig, XP-Installationen los zu werden!

Die gleiche Situation tritt demnächst auch für Vista-Benutzer in Kraft: Das System verliert seitens Microsoft seinen Support im April dieses Jahres. Spätestens dann sollte man auf eine modernere und sicherere Variante umsteigen. (Auch der Support der Baustatik für Vista wird nicht mehr lange weiterlaufen. Natürlich kann man dann noch mit einer alten Version der Baustatik weiterarbeiten, aber Updates wird es dann nicht mehr geben.)

In allen Fällen empfehle ich den Umstieg auf Windows 10: Mit weitem Abstand das sicherste System, das Microsoft je gebaut hat – und auch das System, das von uns aus am besten unterstützt wird.


Betriebssystem-Update wäre jetzt notwendig


Die allermeisten der Baustatik-Anwender verwenden ein “aktuelles” Betriebssystem: Etwa 75% verwenden Windows 7 mit aktuellem Service-Pack, 24% verwenden Windows 81 und Windows 10, und nur 1% verwenden Windows XP oder Windows 8. (Und irgendwo gibt es auch mindestens einen Windows-Vista User…)

Das Windows XP schon seit langem von Microsoft nicht mehr unterstützt wird, darauf habe ich schon mehrfach hingewiesen: Wer noch immer XP benutzt, sitzt eigentlich auf einem einzigen großen Sicherheitsleck, denn es gibt seit langer Zeit keine Sicherheitsupdates mehr für XP, und es wird auch in Zukunft keine geben. Man sollte wirklich updaten.

Seit gestern ist aber auch der Support für Windows 8 ausgelaufen, und wer noch 8 verwendet, sollte schleunigst – mindesten auf 8.1 updaten. Das Update ist kostenlos und über den Windows-Store erhältlich. Mit 8.1 bekommt man dann auch wieder einen langjährigen Support von Microsoft: 8.1 wird bis 2023 unterstützt. Alternativ kann man auch kostenlos auf Windows 10 umsteigen – das gilt übrigens auch für die Windows Vista und Windows 7 Nutzer – in dem Fall gibt es Support bis ins Jahr 2025.

Ich empfehle:

  • Wenn Sie XP verwenden: Ein Update auf Windows 10 durchführen. (Vermutlich ist der Rechner dann auch schon recht alt – es könnte nicht schaden in dem Fall auch mal über neue Hardware nachzudenken.) Unabhängig davon: Sie erhalten bei XP auch keine Updates mehr von uns – und die neuen Baustatik-Versionen können einige sehr interessante Dinge, die man bei XP eben einfach nicht bekommt.
  • Wenn Sie Vista verwenden: Auf Windows 10 updaten
  • Wenn Sie Windows 7 (Mit SP1) verwenden: Man muss nicht zwingend tätig werden. Allerdings gibt es das Update auf Windows 10 zur Zeit noch kostenlos, aber das wird nicht so bleiben. Der Support wird 2020 beenden, mit dem Update auf 10 gewinnt man also außerdem noch 5 Jahre.
  • Wenn Sie Windows 8 verwenden: Auf jeden Fall auf 8.1, oder besser auf 10 updaten.
  • Wenn Sie Windows 8.1 verwenden: Es ist nicht dringend notwendig, etwas zu unternehmen. Es gilt aber auch, das man eben jetzt noch ein kostenloses Update auf 10 bekommt. Außerdem kann man mit 10 definitiv besser arbeiten, als mit 8.1. Ich würde daher updaten.

Details zum Support-Lebenszyklus von Windows finden Sie hier.


Blogs nun auch mit SSL


Wir haben die Umstellung unseres Web-Angebotes auf SSL nun abgeschlossen: Das letzte Problem waren unsere Blogs. Die hatten zwar schon SSL, aber es gab ein Restproblem mit der Blog-Software. Bei der erfolgt die Anzeige aller Bilder nämlich über einen Bilder-Handler. Das bedeutet im wesentlichen, das das Bild nicht direkt als Quelle im IMG-Tag angegeben wird, sondern es wird statt dessen der parametrisierte Handler aufgelistet. Und der ist – zumindest in der Version die wir verwenden- fest kodiert, und zwar mit einer HTTP-URL.

Nun habe ich damals beim einrichten der Blog-Webseite den Fehler gemacht das ganze nicht auf dem Quellcode der Blogsoftware beruhen zu lassen (was gegangen wäre), sondern ich habe die Binäre Distribution verwendet. Das war damals einfacher, macht aber heute Änderungen schwieriger. Mit der Quellcode-Variante hätte man das Programm einfach so ändern können, das es eine HTTP-UPR ausgibt, bei der binären Variante geht das aber leider nicht.

Darum produzierte das Blog weiterhin fröhlich Webseiten, die zwar per HTTPS erreichbar waren, aber ihrerseits Referenzen auf HTTP-URLs verwendete. Wegen diese Referenzen wurden die Blog-Beiträge darum von allen Browsern als nicht vollständig sicher eingestuft (zu Recht) – und die Adressleiste enthielt darum auch nicht die “grüne” Farbe bzw. das Schloss-Symbol, mit dem die sichere Verbindung gekennzeichnet wird.

Das ist aber nun geklärt- und auch die Blog-Seiten und Beiträge sind vollständig per SSL erreichbar. (Anders als auf der normalen Webseite www.die.de erzwingen wir aber zur Zeit die sichere Verbindung nicht: Wer will, kann also noch “unsicher” surfen.)

Wer sich für die technische Lösung interessiert: So haben wir es gemacht….

Das wesentliche Problem ist, das das ASP.NET Programm das HTML erzeugt, das dann, wenn alles fertig ist, an den Client geschickt wird. Am eigentlichen Prozess der HTML-Erzeugung konnten wir nichts beeinflussen. Man musste das HTML also verändern, nachdem es von der Blog-Software erzeugt wurde, und unmittelbar bevor es an den Client gesendet wurde.

Das ist aber bei ASP.NET kein Problem: Dazu muss man nur ein IHttpModule  implementieren und in web.config eintragen. Die Implementierung ist in diesem Fall trivial: Im “Init” hängt man einen Eventhandler an das PostRequestHandlerExecute Event. Dort, falls es sich beim “CurrentHandler” um die Page handelt, hängt man an den Response-Filter einen neuen Filter.

Der Filter erbt von Stream und muss die gängigen Methoden überladen, die einzig wichtige ist aber “Write”. Dort hat man den kompletten Puffer mit dem HTML, und kann dort – in diesem Fall – den Text einfach mit string.Replace() ersetzen, und dann das eigentliche Write aufrufen.


SSL für die.de Webseiten


Unsere Webseiten (auf den Servern www.die.de und blogs.die.de ) sind ab sofort (eigentlich schon ab dem 20.08) auch per HTTPS erreichbar. Wenn man also statt

https://www.die.de

https://www.die.de

eingibt, bekommt man die gleiche Seite. Für den Besucher ist der einzige Unterschied, eine leicht markierte Adresszeile. Im Edge (Der Browser von Windows 10) sieht das dann so aus:

Ohne “s”
image

Mit “s”
image

Bei anderen Browsern ist das ähnlich. So sieht das zum Beispiel im Chrome (mit https) aus:

image

Das “S” im Namen des Protokolls steht für “Secure”. HTTPS bedeutet also “Hypertext Transfer Protocol Secure”.

Nun ist es ja so, das die Inhalte auf unseren Webseiten nicht gerade geheim sind – darum stehen die Dinge ja gerade auf öffentlichen Webseiten. Das einzige was vielleicht einigermaßen schützenswert ist, ist ‘vielleicht’ das Passwort der Foren-Benutzer. Aber ehrlich gesagt: So Turbo-Wichtig ist das Passwort für unser Webforum nun auch wieder nicht.

Was soll also die Sache mit der “Sicherheit”?

Wie immer, wenn es um IT-Sicherheit geht, ist das ganze etwas kompliziert, schwierig zu erklären – und hat weit gehende Konsequenzen. Ich versuche es trotzdem mal einfach….

 

Prinzipiell ist es so, das mit den übertragenen Daten bei einer Verbindung über HTTPS 2 Dinge passieren: Zum einen werden die Daten verschlüsselt, zum anderen ist in die Verschlüsselung ein Mechanismus eingebaut, der das verändern der Daten während der Übertragung verhindert. Die Verschlüsselung ist prima für Passworte und Suchbegriffe – ein “Lauscher”, also eine Person die die Daten zwischen dem Webbrowser und dem Server mithören kann, ist dann nicht mehr in der Lage diese Passworte aus dem Datenverkehr zu extrahieren. Und es können einen ganze Menge Leute mithören:

  • Jeder, der sich im gleichen WIFI Netz befindet.
  • Jeder, der sich auch nur in der Nähe des WiFi Netzes befindet. (Völlig egal ob es sich um ein “sicheres” WiFi Netz handelt oder nicht – die “Sicherheit” von WiFi Netzen ist ausschließlich juristischer Art: Technisch gesehen sind die Dinger ohne besonders großen Aufwand zu knacken, und zwar immer, und auch von “Anfängern”.)
  • Jeder, der sich am gleichen Kabelnetz befindet. Also z.b. der Kollege im anderen Zimmer, der den gleichen Router verwendet.
  • Jeder, der in den verwendeten Router eingedrungen ist und den infiziert hat – und das werden immer mehr.
  • Jeder, dem der Router gehört. (Mal angenommen, sie sitzen mit dem Laptop in einem Kaffee, am Flughafen, im Bahnhof, oder sonst wo. Dann wollen Sie ins Internet und suchen nach einem Hotspot. Und der wird auch angeboten: Sind Sie sicher, das der auch sauber ist? Wenn ja – warum eigentlich ?)
  • Die komplette Technik aller beteiligten Internet-Anbieter. Also die, Ihres eigenen Anbieters, die des Anbieters, über den den besuchte Server angeschlossen ist, und alle, die dazwischen sind.
  • Es gibt bestimmt noch mehr, aber das Problem ist an dieser Stelle wohl grundsätzlich klar….

Im Fall von unseren Webserver sind das ja nun wie gesagt keine besonders geheimen Daten, die da übertragen werden. Man kann sich also auf den Standpunkt stellen, die Verschlüsselung wäre da nicht so wichtig. (Dieser Standpunkt wäre aus meiner Sicht zwar falsch, aber die zugehörige Diskussion ist für die weitere Betrachtung irrelevant.)

Der interessante Teil ist der, bei dem sichergestellt wird, das die Daten nicht verändert werden können. Denn jeder aus der obigen Liste der Mithörer ist auch ein Kandidat fürs verändern der gelieferten Daten: Sie rufen also zum Beispiel www.die.de auf und erwarten die Startseite unseres Server zu erhalten. Und die erhalten Sie auch – nur hat irgendwer zwischendrin irgendwas zusätzliches reingefummelt – zum Beispiel ein Script, das zunächst Ihren Browser und dann Ihre Rechner angreift. Von Ihrer lokalen Festplatte aus, denn Sie haben es ja selbst runtergeladen. Oder etwas schlimmer: Sie laden einen Download von www.die.de herunter – und der Mann in der Mitte verändert das Programm so, das er auch einen Teil von seinem Programm einschmuggelt. Das Sie dann über den ganz normalen Installer mit installieren… (Unsere Programm sind dagegen zwar mit einer digitalen Signatur geschützt, aber es ist sicherlich besser, schon beim Transport sicherzustellen, das sie nicht verändert werden können.)

Lange Rede kurzer Sinn: Das “S” beim HTTPS führt dazu, das Sie unsere Webseite besuchen können, ohne sich über derartige Probleme sorgen machen zu müssen. In dem Zusammenhang noch ein wichtiger Hinweis: Wenn Sie mit dem Laptop oder Tablett öfter mal einen öffentlichen Hotspot verwenden: Mein Rat wäre, dabei keine Seiten aufzurufen, die nicht per HTTPS erreichbar sind. (Und Sie arbeiten ja hoffentlich auch nie mit einem Admin-Konto, oder ? [Jaja – ist mir klar das Sie das doch tun: Ich hab Sie aber gewarnt Smiley ]),

 

* Dieser Beitrag wurde aufgezeichnet. Thomas ist gerade in Urlaub


Die Baustatik, das Web und die Firewall


Die Baustatik (und der BaustatikUpdateService) reden auf verschiedene Arten über das Internet mit unseren Servern. Im einfachsten Fall werden dabei einfach nur Versionsnummern übertragen – wenn die Baustatik überprüft, ob ein Update vorliegt. Aufwendiger wird es, wenn man im Programm den Befehl “Dokument versenden” benutzt: In diesem Fall wird tatsächlich eine ganze Datei an uns übermittelt. Dann gibt es noch den Fall, bei dem Fehlermeldungen übertragen werden, und den bei dem ein vorliegendes Update tatsächlich heruntergeladen wird.

In (geschätzt) 95% aller Fälle klappt das auch bei allen Kunden problemlos. Die “Probleme” tauchen nur in Einzelfälle auf und sind eigentlich immer auf Firewall-Einstellungen zurückzuführen. Für solche Fälle hier eine kurze Übersicht, welche Server und Protokolle von der Baustatik eingesetzt werden und gegebenenfalls in der Firewall freigegeben werden müssten.

Folgende unserer Programme kommunizieren über das Internet:

  • Baustatik.exe
  • BaustatikUpdateService.exe
  • XTimeWiseServer.exe
  • AutoUpdate.exe (nur beim Einsatz der alten XFEMily Programme)

Folgende Protokolle verwenden verwendet:

  • http (auf Port 80)
  • https (auf Port 443)

Mit folgenden Servern wird kommuniziert:

  • www.die.de
  • downloads.die.de
  • die.azurewebsites.net
  • services.die.de

Die Liste der Server wird sich allerdings ändern: Mittelfristig werden die Server “www.die.de” und “die.azurewebsites.net” rausfallen, weil alle Dienste im Laufe der Zeit in “services.die.de” zusammengefasst werden.