Bundesservice Telekommunikation

Es gibt mal wieder eine kleine Recherche zu einer Behörde, die es laut Aussage vom Bundesinnenministerium gar nicht gibt und keinerlei Budget hat. Was sie macht wäre aber durchaus sehr schön.
Das Logbuch Netzpolitik hat es sehr schön zusammengefasst:

Wie Lilith Wittmann diese Behörde fand hat sie selbst zusammengefasst.
Ist einfach herrlich zu sehen wie der Streisand Effekt um sich greift wenn die Behörde versucht sich selbst zu löschen. ;)

Und Golem schreibt weiterhin dazu.

Wechsel von domainfactory zu webgo24

Seit ca. 2007 bin ich bei domainfactory treuer Kunde gewesen. Für einen fairen Zehner gab es von Anfang an immer recht gute Leistungen fürs Geld. Der Support war immer super. Zumindest war dies am Anfang noch so, als sie recht unabhängig waren. Irgendwann wurden sie übernommen und es gab es schon erste Qualitätsunterschiede. Nun sind sie vor ein paar Jahren dann auch noch von GoDaddy übernommen worden und damit war es wirklich nicht mehr so gut. Es gab zwar selten Ausfälle oder wenn nur kurzfristig. Gut Anfang 2019 als ich bei einem neuen Arbeitgeber angefangen habe, war ausgerechnet bei Domainfactory die Exchange Infrastruktur fast 2 Wochen lang gestört. Aber gut, da steckt man nicht drin. Die Ursache war am Ende echt witzig. Sie hätten die öffentlichen Ordner nicht aktivieren dürfen. :) PHP Versionen wurden auch lang genug supportet und neue Versionen gab es auch früh genug. Ja sogar ein SSH Zugang gab es um sogar mal kleinere „occ“ Befehle für Nextcloud ausführen zu können. Aber sowas wie Let’s Encrypt gibt es bis heute nicht. Gut, es gab mit der Zeit zumindest 1 kostenfreies SSL Zertifikat. Wer aber wie ich ziemlich viele Webdienste betreibt, möchte eigentlich jede Subdomain mit einem SSL Zertifikat ausstatten. Die echten kosten aber eine Menge Geld. Genau deshalb wurde ja Let’s Encrypt eingeführt. Eine Zertifikatsstelle, welche die grundsätzlichen Zertifikate kostenfrei zur Verfügung stellt. Somit hat man zwar keinen grünen Haken in der Adressleiste, aber immerhin eine kostenfreie Verschlüsselung. Damit ist das Internet deutlich sicherer geworden.

Da ich nun auch vor dem Problem stand, dass ich eine weitere Domain für mein Nebengewerbe benötige, stand mal wieder ein Providerwechsel an. Ich hatte schon letztes Jahr mal mit dem Gedanken gespielt zu manitu.de zu wechseln. Aber irgendwie hat mich dieser nicht so richtig überzeugt. Die Mail Anbindung war irgendwie zu langsam bzw. der Wechsel zu schwierig. Im November hab ich es dann bei netcup.de probiert. Hier war die Mailanbindung noch langsamer. So hab ich mal bei Webhosterwissen geschaut und bin auf webgo gestoßen. Für nen fairen 10er im Monat gibt es 100 GB Speicher und sogar 6 Domains inklusive. Außerdem kann man den Apachen deutlich besser konfigurieren. Beispielsweise die PHP Memory Grenze von 256 MB auf 512 MB erhöhen oder HSTS Strict einstellen. Und es gibt Let’s Encrypt. Die Konfiguration der Zertifikate war mitunter nervig, weil es oftmals Fehlermeldungen gab. Aber mit etwas Probieren hat es dann doch wieder gut geklappt.

Heute hab ich dann den halben Tag genutzt um meine Domain tobis-bu.de umzuziehen. Da hängt immerhin eine Mailadresse dran und auch noch meine Nextcloud und dieser Blog. Am Ende war es aber tatsächlich eher nur eine Zeitfrage. Einfach per FTP alle Daten auf den lokalen Rechner herunterladen. Nebenbei die Domain bei webgo schon voreinrichten (ohne AUTH Code) und die Subdomains einrichten. Noch ein E-Mail Postfach einrichten und in Thunderbird einrichten. Nun Ordner für Ordner manuell aus dem alten Postfach ins neue Postfach verschieben und schon ist es fertig.
Danach noch die Datenbanken ziehen und neu einrichten. Nachdem die Daten wieder per FTP an die richtigen Orte geschoben sind, müssen nur noch die Config Dateien mit den neuen Datenbank Zugangsdaten eingerichtet werden.
Wenn dann alles vorbereitet ist (Subdomains, Daten, Datenbanken und die E-Mails) kam der große Schritt. Die Domain endgültig von domainfactory zu webgo mithilfe des Auth Codes umziehen. Und das ging dann tatsächlich auch recht schnell.
Danach hab ich noch die SSL Zertifikate mit Let’s Encrypt erstellt und konnte dann relativ schnell und überraschenderweise problemlos wieder auf meine Nextcloud bzw. meinen Blog zugreifen. Das war wirklich genial.

Der Support ist soweit auch fit. Ich bin gespannt, wie es weiterläuft. Aber wenn es so bleibt, bin ich da sicher gerne langjähriger Kunde.

SQL Grundlagen – Teil 2

Natürlich kann SQL noch viel mehr als nur die Standard Selects, wie ich schon im ersten Teil gezeigt habe. Doch es gibt auch noch GROUP BY und ORDER BY.
Wie die Namen schon sagen kann man mit GROUP BY Spalten gruppieren und mit ORDER BY dann auch noch gruppieren.
Mal angenommen wir haben folgende Abfrage:
SELECT ap.Artnr, ap.Bezeichnung, sum(isnull(ap.menge,0))
FROM Auftragposition ap
GROUP BY ap.Artnr, ap.Bezeichnung

Dann wird das SQL Server Management Studio anmerken, dass ein GROUP BY fehlen würde, wenn man es weglässt. Der Grund liegt hierbei, dass wir eine Aggregatfunktion verwenden. Nämlich die Funktion sum(WERT). Damit werden bestimmte Felder summiert.
sum(isnull(ap.menge,0)) besteht in diesem Fall sogar aus zwei Funktionen. Einmal die isnull(ap.menge,0) welche prüft ob das Feld ap.menge NULL also damit leer ist und ersetzt die Menge in diesem Fall durch eine 0. Die 0 ist immerhin ein Wert und kann addiert werden. Diese Funktion ist in die sum() eingebunden.
Die Abfrage wird mir also alle Auftragspositionsmengen gruppiert nach der Artikelnummer und der Bezeichnung ausgeben. Da die Artikelnummer und die Bezeichnung in den allermeisten Fällen immer gleich ist, wird also pro Artikelnummer eine Zeile mit der summierten Menge ausgegeben werden.

Nun kann es aber natürlich auch sein, dass die Ausgabe doch etwas unsortiert herauskommt. Beispielsweise die Artikel 42, danach die 92 und dann die 23. Diese Ausgabe lässt sich natürlich auch ordnen. Dafür setzen wir einfach noch den ORDER BY Befehl drunter und die Abfrage sieht wie folgt aus:
SELECT ap.Artnr, ap.Bezeichnung, sum(isnull(ap.menge,0))
FROM Auftragposition ap
GROUP BY ap.Artnr, ap.Bezeichnung
ORDER BY ap.Artnr

Somit haben wir nun eine eine Ausgabe mit dem summierten Mengen pro Artikelnummer und werden die Ausgabe nach der Position geordnet vorfinden. Mit den Wörtern desc bzw. asc hinter dem Feld in ORDER BY kann man noch bestimmen ob absteigend oder aufsteigend sortiert werden soll.

Kommentar zu Log4j: Es funktioniert wie spezifiziert

Dieser Heise Kommentar zu Log4j ist einfach genial geschrieben. Er bestätigt allerdings auch meine ganze Vorbehalte zu Java. Das Teil hat mich jahrelang als Admin genervt. Ständig Updates der Runtime und damit es läuft muss man immer diese Runtime dabei haben. Der einzige Vorteil war aber tatsächlich, diese Runtime ist für alle gängigen Betriebssysteme verfügbar. Aber so richtig warm bin ich mit Java trotzdem nie geworden.
Dafür ist .NET mit C# sicherlich auch nicht besser. Es lief zumindest bis .NET Core ausschließlich auf Windows. Dafür aber recht zuverlässig und recht angenehm. Und wenn ich mir so den Heise Kommentar durchlese, war es definitiv keine schlechte Idee auf C# zu setzen. Das war und ist um einiges durchsichtiger welcher Code verwendet wird und welcher nicht.
Java ist eine Insel und sicherlich auch eine schöne. Aber als Programmiersprache könnte man das gerne mal ablösen. Rust soll auch sehr schön sein hab ich gehört. :D

NSO Pegasus iPhone Exploit

Der NSO Exploit für das iPhone ist tatsächlich technisch echt beeindruckend gelöst. Ich sag mal so: Ein NAND Gatter zum Ausführen von Code innerhalb eines Buffer Overflows ist wirklich hart beeindruckend. Mehr findet sich auch in diesem Heise Kommentar dazu.

Ich finde aber auch die Erklärung von Linus und Tim sehr schön auf den Punkt gebracht in der Logbuch Netzpolitik Folge. Einfach dort den Player starten und man hört direkt ab dem NSO Kapitel.

Der Xerox Vortrag ist natürlich auch weiterhin passend dazu: