Computer Archive - DD3AH https://dd3ah.de/category/computer/ Das Blog mit dem A-Ha Effekt Tue, 09 Jun 2026 13:15:44 +0000 de hourly 1 https://wordpress.org/?v=7.0 https://dd3ah.de/uploads/2019/01/yagi.jpg Computer Archive - DD3AH https://dd3ah.de/category/computer/ 32 32 Fluch der Dimensionalität https://dd3ah.de/fluch-der-dimensionalitaet/ Sun, 30 Nov 2025 17:02:01 +0000 https://dd3ah.de/?p=8012 Viel hilft viel stimmt bei Datenmengen nur dann, wenn man genau weiß, was man tut.

Der Beitrag Fluch der Dimensionalität erschien zuerst auf DD3AH.

]]>

Der Praktiker sagt gern: “Wer viel misst, misst viel Mist”. Betrachten wir hier das zu Grunde liegende Problem etwas theoretischer.

Bringen viele Daten auch viel Erkenntnis? Das hängt davon ab, wie man mit diesen Daten umgeht. Stellen wir uns vor, die unabhängigen Arten von Daten, die wir haben, sind jeweils auf einer Skala. Man kann dann auch sagen, sie stellen eine Dimension dar. Viel Information bedeutet dann, man hat viele Dimensionen. Wenn wir dies versuchen, zusammen darzustellen, erhalten wir einen multidimensionalen Würfel oder einen Hyperkubus. Man kann bei n Dimensionen auch n-dimensionaler Raum sagen.

Um die Informationen nun „als Ganzes“ betrachten zu können, stellt man sich vor, dass wir ausgehend von einem Punkt in diesem Raum die Entfernungen und die Richtungen betrachten. Wir gehen hier davon aus, dass die Auswertung der Daten darauf beruht, dass wir die Datenpunkte auf ähnliche Koordinaten hin untersuchen; genau das ist ihre Entfernung bzw. ihr Abstand zueinander.

Eine typische Art der Datenanalyse ist das Clustering. Dabei wird untersucht, welche Daten im multidimensionalen Datenraum sich “ballen”. In den Ausbreitungsbedingungen der Funktechnik könnte das beispielsweise auf einen Zusammenhang zwischen Sonnenaktivitäten und Bandöffnungen hinweisen.

Das ergibt aber nur Sinn, wenn wir zu allen Richtungen auch den gleichen Umfang an Entfernungen betrachten können. Stellen wir uns auch das geometrisch vor, erhalten wir eine multidimensionale Kugel in unserem multidimensionalen Würfel.

Das Traurige daran ist, dass dabei die Ecken des Würfels keine sinnvoll nutzbaren Daten enthalten, weil sie Abstände haben, die nicht in allen Richtungen vom Startpunkt aus in der Hyperkugel liegen. Wenn wir  uns das konkret in zwei Dimensionen anschauen, dann ist unser 2-dimensionaler Hyperkubus ein Quadrat und die 2-dimensionale Hyperkugel ist ein Kreis. Die beiden haben als Flächeninhalt $ \pi r^2 $ und $ 4 r^2 $. Das Verhältnis von gesammelter und nutzbarer Information ist also $ \pi / 4 \approx 79 \% $. Betrachten wir drei Dimensionen, also eine Kugel und einen Würfel, so erhalten wir nur noch ungefähr 52 % an Nutzbarkeit der gesamten Information. Und dieser Anteil der nutzbaren Information wird mit höheren Dimensionen immer schlechter.

Genauer gesagt liegen die Datenpunkte in einem Histogramm der Entfernungen immer enger gedrängt. Die Unterscheidung, ob sich Datenpunkte wirklich ähnlich sind oder nur aufgrund ihrer „Drängung“ nah beieinanderliegen, geht im Rauschen unter. In der Grafik links sind qualitativ die Verteilungen der normierten Abstände bei 5 Dimensionen gegen die Abstände bei 50 Dimensionen dargestellt. In der Praxis kommen Datenmodelle mit Hunderten oder gar Tausenden von Dimensionen vor. Die Grafiken sind einem umfangreicheren Vortrag von DD1AH über dieses Themengebiet entnommen.

Wie unterscheiden sich Dimensionen von Datenpunkten bzw. Datensätzen? Die Anzahl der Datenpunkte ist im Sinne der Dimensionalität kein Problem. Es sollten in einer Dimension nicht zu wenige sein, so dass eine sinnvolle Statistik damit gemacht werden kann. Dass man also beispielsweise für eine Funkprognose die Anzahl der Sonnenflecken über viele Tage hinweg betrachtet, ist sinnvoll und kein Problem im hier betrachteten Sinne. Wenn man dagegen neben der Anzahl der Sonnenflecken noch viele andere Aspekte betrachtet, dann sollte die hier betrachtete Dimensionalität besonders betrachtet werden, so dass die Auswertung am Ende sinnvolle Ergebnisse liefert.

Diese „zunehmende Nutzlosigkeit“ hoher Dimensionen wurde vom amerikanischen Mathematiker Richard Ernest BellmanFluch der Dimensionalität“ genannt. In der Praxis des Machine Learning hat man genau dieses Problem. Die Lösung davon ist, die Dimensionen mit geeigneten Algorithmen nach Art einer Projektion zu reduzieren. Dies ist gerade ein aktuelles Thema der Forschung. In der englischen Wikipedia gibt es einige Visualisierungen dazu.

Was das umgekehrt für Leute bedeutet, die ohne dieses komplizierte statistische Rüstzeug versuchen, mit dem Ansatz „Viel hilft viel“ aus großen Datenmengen oder big data sinnvolle Informationen zu ziehen, kann sich jeder selbst überlegen. Vergleichbare Probleme entstehen auch beim „technischen Mikromanagement“, wenn versucht wird, mit möglichst viel Betriebsdatenerfassung ganze Unternehmen besonders feingranular zu steuern.

Der Beitrag Fluch der Dimensionalität erschien zuerst auf DD3AH.

]]>
Archiv anlegen https://dd3ah.de/archiv-anlegen/ Fri, 24 Oct 2025 06:59:47 +0000 https://dd3ah.de/?p=7863 Wie legt man ein Archiv aus alten Papierunterlagen an?

Der Beitrag Archiv anlegen erschien zuerst auf DD3AH.

]]>
Über die Jahre sammelte sich bei vielen OM einiges an losem Papier an. Teilweise sind es Sammlungen von Kopien oder eigene Aufzeichnungen. Nur wenn man die Disziplin eines Bibliothekars hat, gibt es hier jemals wieder eine Chance, eine sinnvolle Information herauszuziehen. Wie kann man nun ein Archiv dieser “toten Bäume” anlegen, welches besser durchsuchbar ist? Ich beschreibe hier einen Prozess, mit dem man am Ende PDF hat, in denen eine Suche effizient gelingt.

Der Fokus liegt hier darauf, eine Toolchain zusammenzustellen, die mit Standard-Paketen von Debian auskommt. Es gibt vielleicht Programme, die das noch bequemer lösen, aber den Aufwand, diese zu installieren und zu pflegen, sollte man auch nicht unterschätzen. Die hier benutzten Programme lassen sich alle wie gewohnt mit apt-get install installieren und werden mit dem normalen System-Update aktuell gehalten.

Als Erstes legt man sich einen Stapel-Einzugsscanner zu. Das Gerät sollte Farbe und Duplex beherrschen. Ich habe dafür einen Fujitsu ScanSnap genutzt. Dieses Gerät verarbeitet mit geringer Fehlerquote auch mehrfach gelochte Seiten oder solche aus einer Ringelbindung. Auch mit dünnem Papier und kleinen Abmessungen kommt es gut zurecht.

Es geht natürlich auch mit einem Flachbettscanner. Besonders bei sehr problematischen Vorlagen liefert der sogar bessere Ergebnisse. Aber der Aufwand ist doch erheblich und mit einem Einzugscanner tut man sich da viel leichter.

Als Software kommt xsane zum Einsatz. Links oben trägt man eine hohe Zahl ein. Die spielt eigentlich keine große Rolle, aber sie sollte größer sein als der größte Stapel, den man auf einmal verarbeiten möchte. Der richtige Modus ist “mehrseitig”. Die gewünschten Blätter werden grob vorsortiert. Dabei kann man auch die Papierqualität und die Farbigkeit gruppieren und ob doppelseitig gescannt werden soll. Von so einem Stapel wird ein Blatt eingelegt und im xsane “Vorschau” ausgewählt. Damit stellt man den Scan für diesen Stapel ein, also Helligkeit, Kontrast usw. Dazu stellt man ein, ob man doppelseitig und farbig scannen möchte. Das Blatt kommt zurück auf seinen Stapel.

xsane

Scanner Software

Falls der Stapel dicker ist, als der Scanner fassen kann, schadet es nicht, in mehreren Teilen zu arbeiten. Der Modus “Mehrseitig” fasst auch mehrere Durchgänge zusammen. Im Dialog “Mehrseitig” vergibt man einen Namen für das “Projekt” und klickt auf “erstellen”. Dann auf “scannen” und der eingelegte Stapel wird verarbeitet. Wenn alle Blätter des Stapels eingescannt sind, klickt man auf “Mehrseitige Datei speichern” und das PDF wird erstellt.

Diese Datei kann man nun in PDFarranger öffnen und bei Bedarf einzelne Seiten splitten oder drehen. Die Schrift sollte am Ende normal von links nach rechts lesbar sein. Es empfiehlt sich auch, Seiten, die zweispaltig angelegt waren, zu splitten. Das vereinfacht die spätere Weiterverarbeitung und Indexierung. Das speichert man dann ab und übergibt es an die Texterkennung per OCR mit ocrmypdf. Diese nutzt im Hintergrund tesseract. Weil das Programm gierig die gesamten CPU-Kerne belegt, was auch sinnvoll ist, sollte man das mit nice starten, sodass der Rechner bedienbar bleibt. Ein typischer Aufruf sieht so aus:

nice ocrmypdf -d -l deu eingabe.pdf ausgabe.pdf

Das OCR vollbringt natürlich keine Wunder. Besonders bei “Kopien von Kopien von Kopien” ist mit einer Fehlerquote zu rechnen. Handgeschriebene Texte funktionieren praktisch gar nicht. Aber bei vielen Dateien erhält man eine Version im PDF, die mit der Textsuche benutzbar ist.

Nachdem die Dateien an einem sinnvollen Ort im Dateisystem abgelegt sind, kann man eine Indexierung machen. Ich habe dafür Recoll genutzt. Mit den Paketen pdftotext können damit die PDF indexiert werden. Für LATEX wird untex benötigt. Office-Dokumente werden ebenfalls beherrscht. Das Indizieren braucht einige Minuten. Nun hat man eine schöne digitale Bibliothek, die einfach und effizient durchsuchbar ist.

Der Beitrag Archiv anlegen erschien zuerst auf DD3AH.

]]>
Cyber-Mythen https://dd3ah.de/cyber-mythen/ Tue, 17 Jun 2025 14:39:41 +0000 https://dd3ah.de/?p=7465 Was ist (nicht) sinnvoll, um sich im Netz zu schützen?

Der Beitrag Cyber-Mythen erschien zuerst auf DD3AH.

]]>
Worin genau besteht das Gefahrenpotenzial in der digitalen Welt? Wie schützt man sich dagegen? Über das Backup habe ich schon mal etwas geschrieben, ebenso über Spam. Mythen gibt es in der IT viele. Ob man in die Cloud muss, welche Social-Media-Plattformen ok sind oder wo man einkaufen sollte, will ich hier nicht behandeln. Hier geht es um die Einschätzung der IT-Sicherheit und wie man sich selbst dazu verhalten sollte.

Passwort dauernd ändern

Das führt nur dazu, dass ein zu einfaches Passwort gewählt wird. Pro System ein richtig gutes und langes Passwort, eine Passphrase, wenn möglich, ist die bessere Wahl. Und dazu MFA benutzen, wenn möglich.

Ausnahme: Es besteht der Verdacht, dass der Zugang kompromittiert wurde. Dann sollte das Passwort so schnell wie möglich geändert werden.

Links nicht anklicken

Das Anklicken ist nicht das Problem. Die Warnungen danach ignorieren oder gedankenlos Daten eintippen dagegen schon. „Böse Links“ könnten überall sein. So verbaut man sich nur den Nutzwert des ganzen Internets. Aber wenn der Browser sagt „Wollen Sie das wirklich?“, sollte man auf ihn hören. Und Daten gibt man nur demjenigen, von dem man sicher ist, dass sie ihn auch etwas angehen.

Ausnahme: Der Link passt offensichtlich gar nicht zum Rest. Wenn mir meine Bank schreibt, sie wollen irgend etwas von mir, aber der Link geht zu vladimirconsulting.ru … *hust* Das sollte man besonders bei Links in Emails beachten. Mehr dazu in Spam Erkennen.

QR-Codes sind gefährlich

QR-Codes an sich sind sehr praktische Hilfsmittel, um unsere physikalische Welt, insbesondere die des Drucks mit der digitalen zu verknüpfen. Ähnlich wie schon bei den Links gesagt, ist nicht der QR-Code das Problem. Der Code enthält typischerweise eine URL. Das Problem entsteht, wenn man dem Link blind vertraut, weil man den Code von einer vermeintlich vertrauenswürdigen Quelle hat.

Angreifer nutzen dabei auch aus, dass die herkömmlichen Schutzmechanismen typischerweise textbasiert arbeiten und ein Bild erst mal nicht als “Angriffsvektor” erkennen.

Wer will schon etwas von mir?

Gezielte Attacken sind die Ausnahme. Die meisten Angriffe gehen in die breite Masse. Nur weil man ein “kleines Licht” ist, ist man also nicht vor Angriffen und Schaden geschützt.

Wenn der wirklich hereinwill, schafft der das ohnehin

Eben weil die meisten Angriffe in die breite Masse gehen, sind die normalen Sicherheitsstandards meist ausreichend. Angreifer halten sich typischerweise nicht lange gezielt mit einem System auf.

Das Update kann warten

Wenn es ein Update gibt, ist auch der Fehler bekannt, den es behebt. Genau solche bekannte Fehler werden in der breiten Masse ausgenutzt.

Dagegen ist man doch versichert

Versicherungen ersetzen den finanziellen Schaden. Den Aufwand, den Schaden zu beheben, hat man trotzdem. Dazu zahlen Versicherungen typischerweise nur, wenn man die Sicherheitsstandards eingehalten hat.

Dafür habe ich doch meinen Scanner

Malware-Scanner schützen vor Bedrohungen, die sie kennen. Viele Angriffe beruhen heute auf menschlichen Schwächen (“social engineering”). Und sie können dank moderner Technik sehr schnell variiert werden. Die sogenannte menschliche Firewall ist das, was hier zählt, also der gesunde Menschenverstand.

Ich mache doch schon XYZ, da kommt keiner drauf

An der Verbesserung der Sicherheitsmaßnahmen haben viele Leute, die da richtig professionell drin sind und das auch beruflich machen, über eine lange Zeit gearbeitet. Und diese Maßnahmen sind sorgfältig geprüft worden. Dass eine im stillen Kämmerlein erfundene Maßnahme das ersetzen kann, ist, gelinde gesagt, unwahrscheinlich.

Wenn es kompliziert ist, ist es sicher

Einige Systeme haben eine Vielzahl von Mechanismen, die angeblich die Sicherheit verbessern. Die Wahrheit ist oft das Gegenteil: Je geradliniger ein System zu bedienen ist, desto eher fallen “Ungereimtheiten” auf. Wer sich wie ein “dressierter Affe” durch unzählige Sicherheitsabfragen klicken muss, der ermüdet und wird bald überall blind auf “ok” drücken. Für solche Fälle sollte man sich wieder am guten alten “KISS-Prinzip” orientieren. “Keep it simple, stupid” bedeutet, dass nur dumme Leute hinter mehr Aufwand auch mehr Nutzen vermuten.

Die Kunst ist dabei, die Waage zu halten. Ein Passwort mit einem zweiten Faktor ist Stand der Technik und sollte für jeden zumutbar sein. Das Passwort alle 10 Minuten neu eingeben zu müssen und dabei nicht die Zwischenablage benutzen zu dürfen ist dagegen sinnlos und hilft nur dem Angreifer.

Weitere Aspekte und Ausblick

Immer wieder entsteht ein neuer Mythos. Es dauert oft eine Weile, bis sich die Experten darüber einig sind, wie das zu bewerten ist. Die Cybersicherheit oder Cybersecurity ist ein schnelllebiges Geschäft. Dinge, die heute noch als Stand der Technik gelten und Unternehmen wie Privatpersonen ausreichend schützen, können morgen schon überholt und unzureichend sein. Hacker oder Cyberkriminelle entwickeln ihre Methoden natürlich auch weiter, und so bleibt es ein ewiger Wettlauf, die Ziele vor Angriffen zu schützen. Das beginnt schon damit, zu erkennen, was überhaupt ein Ziel sein kann und welche Sicherheitsmaßnahmen effizient sind, auch vor dem Aspekt, dass die Systeme natürlich auch benutzbar bleiben müssen. Wichtig ist auch, richtig zu handeln, wenn man doch ein Opfer eines Angriffs geworden ist. Beispielsweise sollten nicht leichtfertig Backups eingespielt werden, so lange nicht sicher geklärt ist, ob das System bereinigt ist.

Weitere Informationen

Der Beitrag Cyber-Mythen erschien zuerst auf DD3AH.

]]>
Mathematica https://dd3ah.de/mathematica/ Sun, 17 Mar 2024 15:29:36 +0000 https://dd3ah.de/?p=5941 Beim Raspbian des Raspberry Pi ist Mathematica dabei. Hier eine kleine Einführung.

Der Beitrag Mathematica erschien zuerst auf DD3AH.

]]>
Beim Raspbian des Raspberry Pi ist Wolfram Mathematica dabei. Das ist ein leistungsstarkes Tool zum symbolischen Rechnen.

Gestartet wird es einfach mit seinem Namen an der Konsole

$ mathematica

Befehle und Funktionen werden Groß geschrieben. Die Argumente kommen in eckige Klammern. Gruppen von Argumenten nennt man Tupel. Diese kommen in geschweifte Klammern. Die verschiedenen Argumente werden mit Komma getrennt. Um also den Sinus von x im Bereich von 0 bis $2 \pi$ zu zeichnen gibt man folgendes ein:

Plot[Sin[x], {x, 0, 2 Pi}]

Die Eingabe wird mit Shift-Enter abgeschlossen und man erhält eine grafische Darstellung des Sinus.

Wenn keine grafische Ausgabe gewünscht oder möglich ist, kann Mathematica mit wolfram auch direkt an der Textkonsole genutzt werden.

$ wolfram
Mathematica 13.3.1 Kernel for Linux ARM (64-bit)
Copyright 1988-2023 Wolfram Research, Inc.

In[1]:= Integrate[Sin[x],x]

Out[1]= -Cos[x]

Ergebnisse, denen man fast schon ansieht, dass sie (zu) kompliziert dargestellt sind, kann man mit Simplify oft vereinfachen. Der Grund warum Mathematica das nicht gleich selbst macht ist, dass der Fokus darauf liegt ein formal korrektes Ergebnis zu liefern. Die Vereinfachung der Darstellung ist dagegen oft zum einen Geschmackssache, zum anderen erfordert sie auch eine andere Art der Optimierung.

Das Simplify kann man oft noch mit der Angabe von Assumptions unterstützen. Das ist nützlich, wenn sich die Vereinfachung unter bestimmten Annahmen ergibt, beispielsweise wenn eine Variable ganzzahlig ist.

Simplify[Sin [Pi x], Assumptions -> Element[x, Integers]]

Ergebnis nach Shift-Enter:

Out[5]= 0

Eine für den technischen Praktiker oft nützliche Funktion ist das unscheinbare N. Dieses liefert den numerischen Wert des Ergebnisses.

N[Sin[Pi / 7]]

Out[8]= 0.433884

Zur weiteren Einführung sollte ein Tutorial durchgearbeitet werden.

Der Beitrag Mathematica erschien zuerst auf DD3AH.

]]>
Hamming Code https://dd3ah.de/hamming-code/ Fri, 23 Feb 2024 14:25:48 +0000 https://dd3ah.de/?p=5647 Der Hamming-Code ermöglicht mit Hilfe von Redundanz einen Übertragungsfehler vorausschauend korrigierbar zu machen.

Der Beitrag Hamming Code erschien zuerst auf DD3AH.

]]>
Wie findet man Fehler in Daten? Kann man sie auch korrigieren? Eine einfache Parität zur Erkennung eines Fehlers ist ein Anfang. Aber da ist mehr möglich:

Richard Wesley Hamming hatte eine Idee, wie man eine Prüfung von binären Daten durch eine Parität noch verbessern kann, sodass damit nicht nur ein Fehler festgestellt, sondern sogar korrigiert werden kann. Es handelt sich hier um eine Vorwärtsfehlerkorrektur oder englisch forward error correction FEC. Der Absender wartet dabei nicht auf Fehler, sondern sorgt schon vorher für die Möglichkeit einer Behandlung eines potenziellen Fehlers beim Empfänger. Das bedeutet, dass die Daten selbst schon die zur Korrektur eines Fehlers notwendigen Informationen enthalten. Dies wird durch eine sogenannte Redundanz erreicht. Hamming hatte auch eine Idee, wie man diese Redundanz messen kann:

Das ist heute als Hamming-Distanz bekannt. Diese Distanz beschreibt, wie sehr sich unterschiedliche Informationen unterscheiden. Ist die Distanz oder der Abstand klein, sind sich unterschiedliche Informationen sehr ähnlich. Es gibt wenig Redundanz und Fehler können nur schlecht erkannt und korrigiert werden. Wenn der Abstand dagegen groß ist, können Fehler leicht erkannt werden und bei geeigneter Definition der Kodierung auch korrigiert.

Wenn beispielsweise beim Wort Haus der erste Buchstabe fehlerhaft erkannt wurde, ist am Wort selber nicht mehr festzustellen ob nicht vielleicht Maus gemeint war. Die Hamming-Distanz ist also klein.

Schauen wir uns nun also den Hamming-Code am Beispiel eines Datenwortes mit 8 Bit an und zusätzlichen 4 Bit an Redundanz. Das resultierende Datenwort hat also 12 Bit, die wir von 1 bis 12 durchnummerieren. Jedes Bit, welches eine binäre Darstellung seiner Nummer mit nur einer 1 hat, wird als Paritätsbit benutzt, das sind also die 1, die 2, die 4 und die 8. Anders gesagt: Das sind genau die Zweierpotenzen. Die restlichen Bits werden vom Datenwort genutzt. Nun werden auch die Nummern der restlichen Bits binär dargestellt und den Paritätsbits zugeordnet. Das erste Bit, was vom Datenwort genutzt wird, ist Nummer 3. Die drei zerlegt sich binär in 1 und 2, das nächste ist die 5, welche sich in 1 und 4 zerlegt. So geht das weiter bis zum Bit mit der Nummer 12, welches sich in 4 und 8 zerlegt.

Hier ist von Summe von Bits die Rede. Der Übertrag wird dabei ignoriert, sodass bei einem Bit gilt: 1+1=0. In Boole-Logik ist das ein Exklusives Oder XOR.
In anderer Literatur wird das auch so beschrieben, dass an der Summe beurteilt wird, ob sie gerade oder ungerade ist. Mathematisch ist es dasselbe, in der technischen Realisierung wird es üblicherweise so gemacht, wie es hier beschrieben wird.

Nun nimmt man den Wert des Datenwortes und addiert jeweils die passenden Bits auf und setzt schließlich das eine darin enthaltene Paritätsbit, sodass die Summe immer gleich ist. Dieser Teil ist Konvention. Im Prinzip ist es beliebig, ob das Paritätsbit die Summe der Bits zu 0 oder zu 1 ergänzt. Aber es muss klar definiert sein. Man spricht von gerader oder ungerader Parität. So kodiert kann das Datenwort übertragen werden.

Das ist genau der interessante oder geniale Teil an dieser Kodierung, dass auf diese Weise 4 binäre Summen gebildet werden, die jeweils genau eines der Paritätsbits enthalten. Und auf der anderen Seite sind alle Datenbits 2 bis 3 Mal an Paritätsbits beteiligt.

Meist wird die gerade Parität bevorzugt. Das Paritätsbit ist dann genau die binäre Summe der entsprechenden Datenbits und auf der Empfangsseite ist die binäre Summe im Erfolgsfall Null, was meistens einfach zu prüfen ist. Der Aufwand auf der Prozessorebene ist also minimiert.

In dieser Tabelle steht links in Grün der Wert des Paritätbits, welcher auch gleichzeitig seine Nummer im vollständigen Datenwort ist. Oben in Blau steht die Nummer des Bits. Die x geben an, ob das Bit des Datenworts bei der Erzeugung des Bits der Parität berücksichtigt wird. Und unten in Gelb und Orange steht, ob es sich um ein Paritätsbit oder ein Datenbit handelt. Die lilafarbenen x werden also jeweils passend zum Ergebnis der Summe der anderen x in der Zeile gefüllt.

1 2 3 4 5 6 7 8 9 10 11 12 Nummer des Bit
1 x x x x x x
2 x x x x x x
4 x x x x x
8 x x x x x
P P D P D D D P D D D D Typ des Bit

Beim Empfänger kommt das Datenwort an und er prüft die Bits ähnlich wie bei der Erzeugung. Er kann sich die Arbeit aber einfacher machen: Er bildet einfach die Summe einschliesslich des Paritätbits. Wenn alles gemäß der Konvention passt, war die Übertragung erfolgreich und die Arbeit erledigt. Wenn Paritätsbits falsch sind, lässt sich kombinieren, welches Bit den Fehler verursacht hat. Man schaut sich dazu an, welches Bit genau an den „falschen“ Paritätsbits beteiligt ist. Wenn mehrere Bits falsch waren, funktioniert die Ermittlung nicht zuverlässig. Dafür reicht die Hamming-Distanz in dieser Kodierung nicht aus.

Wenn beispielsweise das Bit 6 falsch übertragen wurde, werden Paritätsbit 2 und 4 falsch angezeigt. Umgekehrt sieht der Empfänger in der Tabelle, dass nur Bit 6 genau an diesen beiden Paritätsbits beteiligt ist und daraus den Schluss ziehen, dass er Bit 6 umkehren muss, um die richtigen Daten zu rekonstruieren. Ist die Übertragung dagegen so schlecht, dass Bit 6 und 7 falsch übertragen werden, werden die Paritätsbits 2 und 4 doppelt falsch und damit scheinbar wieder richtig ankommen und der Empfänger sieht nur Paritätsbit 1 als falsch. Daraus kann er nur den Schluss ziehen, dass nur das Paritätsbit 1 selbst falsch übertragen wurde. Das wird er einfach ignorieren und die Daten fälschlicherweise als korrekt annehmen. Wir haben also mit 2 fehlerhaften Bits die Möglichkeiten dieser Fehlerkorrektur überschritten.

Wenn es möglich ist, wird der Empfänger im Fehlerfall eine Rückwärts-Korrektur anfordern. Das heißt, die übertragenen Daten werden für ungültig erklärt und eine erneute Übertragung angefordert. Das geht natürlich nicht in allen Fällen. Daher ist die Vorwärtskorrektur in solchen Fällen besonders wichtig. Beispiele sind gespeicherte Daten oder Einweg-Übertragungen wie Rundfunk. Oder auch hohe Latenzzeiten, wie bei der Kommunikation durch die Weiten des Weltraums. Latenz ist auch beim Streaming wichtig. Da die Audio- und Videodaten zu einem bestimmten Zeitpunkt gehören, wäre eine spätere Korrektur sinnlos. Auch WSPR benutzt so eine Vorwärtskorrektur.

Dieses Beispiel für einen einfachen Hamming-Code ist natürlich nicht das Ende der Fahnenstange. Die Entwicklung ging weiter und heute gibt es eine Vielzahl von FEC-Systemen für unterschiedlichste Anforderungen.

Der Beitrag Hamming Code erschien zuerst auf DD3AH.

]]>
Charlieplexing https://dd3ah.de/charlieplexing/ Sun, 09 Jul 2023 12:49:50 +0000 https://dd3ah.de/?p=4294 Charlieplexing senkt die Anzahl der benötigten Ausgänge zur Ansteuerung von LEDs deutlich

Der Beitrag Charlieplexing erschien zuerst auf DD3AH.

]]>
Wie steuert man LEDs mit den IO-Ausgängen eines Mikrocontrollers an? Im einfachsten Fall schließt man eine LED einfach an einen Ausgang an. Viele digitale Ausgänge haben gegen Low eine höhere Treiberleistung als gegen High. Daher wird man meist eine inverse Logik nutzen. Die LED hängt konstant an positiver Versorgungsspannung, typischerweise über einen passenden Vorwiderstand und wird vom Ausgang gegen Masse geschaltet. Aber das ist nur ein schaltungstechnisches Detail. Wichtiger ist hier, dass man so für jede LED einen Ausgang benötigt. Das wird also bei mehreren LEDs schnell recht „teuer“ im Sinne der Anzahl der benötigten Ausgänge.

Besser ist es, einige Leitungen als „Zeilen“ zu nutzen und andere als „Spalten“, wie bei einer Tabelle. An jede Kreuzung können nun zwei LED antiparallel geschaltet werden. Wenn man also beispielsweise sechs Ausgänge hat, kann man bei der zuerst erklärten direkten Ansteuerung 6 LED betreiben. Mit dem hier erklärten Multiplexing hat man 3 Zeilen und 3 Spalten und kann mit der gleichen Anzahl an Leitungen 2x3x3=18 LED betreiben. Jede LED wird hier in der Grafik als ein Kreis symbolisiert.
Damit Multiplexing generell funktioniert, müssen zwei Bedingungen erfüllt sein:

  1. Es müssen sogenannte Tri-State-Ausgänge sein, die nicht nur High und Low kennen, sondern auch hochohmig, also auf Z, geschaltet werden können. Das ist heute üblich.
  2. Die LEDs müssen ihre eigene Betriebsspannung oder besser noch die der digitalen Ausgänge auch als Sperrspannung vertragen. Auch das ist heute üblich.

Um eine LED zum Leuchten zu bringen, schaltet man also die Ausgänge, zwischen denen sie hängt, passend auf High und Low. Die anderen Ausgänge sind auf Z. Umgekehrt wird damit klar, dass immer nur eine LED gleichzeitig leuchten kann. Um nun den Eindruck mehrerer leuchtender LEDs zu erzeugen, wird man sie schnell hintereinander schalten und nutzt dazu die Trägheit unserer Augen aus.

Zur Sache

Charles M. Allen, ein Ingenieur der Firma Maxim, hatte 2001 eine Idee, wie man mit den sechs Leitungen insgesamt 6×5=30 LED ansteuern kann. Er hob die Trennung zwischen Zeile und Spalte auf und schaltete zwischen je zwei verschiedene Leitungen zwei LEDs antiparallel. Ihm zu Ehren wird dieses Verfahren Charlieplexing genannt. In der Grafik rechts sind die beiden LEDs dieser antiparallelen Paare in der dreieckigen Gruppe links unten und rechts oben. Auf der Diagonale sind die Zeilen und Spalten miteinander verbunden. Hier kann natürlich keine LED sitzen. Daher kommt das -1 in der Tabelle unten.

Allgemein gilt also bei N Ausgängen für die maximale Anzahl an ansteuerbaren LEDs:

Direkte Ansteuerung N
Klassisches Multiplexing 2(N/2)2
Charlieplexing N(N-1)

Betrachtet man diese Formeln für kleine Zahlen, so sieht man gleich, dass an einer Leitung naheliegenderweise kein Multiplexing gemacht werden kann. Bei zwei Leitungen bringt es auch noch keinen Vorteil. Aber ab drei Leitungen sieht man, dass klassisches Multiplexing noch nicht viel bringt, Charlieplexing jedoch schon Platz für sechs LEDs bietet. Wenn also die etwas kompliziertere Programmierlogik für die Ansteuerung nicht stört, kann man mit Charlieplexing viele Ausgänge einsparen und hat so Platz für andere Komponenten oder kann einen einfacheren Controller einsetzen.

Für die Vorwiderstände der LED lohnt es sich genauer ins Datenblatt des Controllers zu schauen. Viele Ausgänge sind kurzschlussfest und liefern nur wenige mA. Hier kann man sich den Vorwiderstand ganz sparen. Sollten doch welche benötigt werden, halbiert man den benötigten Wert und schaltet an jeden Ausgang den halben Wert.

Noch mehr?

Wenn man den Strombedarf der LED und die Treiberleistung der Ausgänge genau abstimmt, kann man mit einem etwas verrückten Trick noch mal mehr LEDs ansteuern. Man hängt zusätzlich zu den LEDs in der Matrix noch von jedem Ausgang je zwei LEDs in Serie gegen die Versorgungsspannung und gegen Masse. Diese LED werden dann nur leuchten, wenn nur ein Ausgang auf High oder Low liegt. Wegen des höheren Spannungsabfalls von zwei LEDs in Serie können sie nicht leuchten, wenn eine LED aus der Matrix leuchtet. Das zu justieren ist aber ziemlich fummelig und ich empfehle diesen Trick nur anzuwenden, wenn man keine Ausgänge mehr übrig hat und unbedingt noch ein paar LEDs mehr benötigt.

Aufmerksamen Lesern wird auffallen, dass einiges davon voraussetzt, dass die Ausgänge vergleichbar gut gegen High wie gegen Low treiben können. Tatsächlich ist das heute der Fall. Wenn der Ausgang also auch Tri-State, also Z, beherrscht, dann funktioniert der letzte Trick natürlich auch ohne Multiplexing. Und damit können bei direkter Ansteuerung also 2N LED angesteuert werden.

Mehrere gleichzeitig

Bei allen Multiplex-Verfahren stellt sich nun die Frage, wie man mehrere LEDs gleichzeitig zum Leuchten bringt. Das ist meist ein recht normaler Anwendungsfall. Dazu nutzt man die Trägheit des menschlichen Auges aus und steuert die eigentlich gleichzeitig leuchtend gewünschten LED immer nur kurz und immer rundherum an.

Dabei sollte man einen Stroboskop-Effekt vermeiden, besonders wenn sich der Betrachter oder die Anzeige bewegt. Die Frequenz darf also nicht zu niedrig sein. Zum anderen ist dieses zeitliche Multiplexing auf der elektrischen Ebene ein Rechtecksignal, hat also viele Oberwellen, die Störungen verursachen können. Die Leitungen sollten also so geführt werden, dass sie nicht als Antennen wirken.

 

 

Der Beitrag Charlieplexing erschien zuerst auf DD3AH.

]]>
Datenformate https://dd3ah.de/datenformate/ Mon, 30 May 2022 05:25:32 +0000 https://dd3ah.de/?p=3012 Daten geordnet ablegen ist eine hohe Kunst. Hier werden ein paar Grundbegriffe erläutert. Dazu gibt es eine Anleitung wie man einfache unbekannte Bildformate lesbar macht.

Der Beitrag Datenformate erschien zuerst auf DD3AH.

]]>

Daten sind das neue Gold, sagt man heute gern. Es wird von Datenobjekten geredet oder vom digitalen Zwilling (digital twin). Es wird unterschieden zwischen Stammdaten, Bestandsdaten und Bewegungsdaten. Um diese Betrachtungen soll es hier erst mal nicht gehen. Hier betrachten wir die Daten an sich, so wie sie technisch abgelegt werden, sodass man gut damit arbeiten kann. Daten sind ungeheuer wichtig. Viele betrachten primär die Programme und reden hier von Optimierungen und Benutzererfahrungen. Aber die Daten mit denen die Programme arbeiten, sind mindestens ebenso wichtig; vielleicht sogar wichtiger. Betrachten wir also einige Aspekte davon.

Eine ungeordnete Ansammlung von Daten nennt man einen Sumpf. So etwas ist natürlich sehr unpraktisch. Das Mindeste, was man damit machen sollte, ist ein Inhaltsverzeichnis anzulegen. Eine einigermaßen geordnete Ablage von unstrukturierten Daten wird See genannt. Diese zusätzlichen Daten, die den Sumpf zum See „veredeln“ werden Meta-Daten genannt.

Für manche Zwecke gibt es hier nicht mehr sehr viel zu tun; oft schon, weil die schiere Datenmenge keine sinnvolle weitere Strukturierung erlaubt. Ein Beispiel dafür sind eingescannte Archive von Zeitschriften. Eine optische Zeichenerkennung OCR ist hier noch sinnvoll, um in dem Text automatisch suchen zu können.

Neu erzeugte Daten wird man besser gleich strukturiert ablegen. Gut geeignet dafür ist oft eine Tabelle. Früher nutzte man dafür gern den Pseudostandard der Komma-separierten Werte CSV. Einerseits ist das für einfache Daten gut umzusetzen, aber man stößt rasch auf Schwierigkeiten, weil der Standard eben nicht wohldefiniert ist. Es werden viele verschiedene Trennzeichen benutzt und auch die Behandlung von Sonderfällen wird nicht einheitlich gehandhabt, wie z.B. Werte behandelt werden, die selbst die Trennzeichen enthalten.

Eine modernere Möglichkeit ist die Extensible Markup Language XML. Sie erlaubt praktisch beliebige Daten ordentlich strukturiert abzulegen. Sonderzeichen werden einheitlich als sogenannte Entität abgelegt. Die genaue Struktur eines XML kann selbst wieder in einem speziellen XML-Format beschrieben werden, einer XML Schema Definition XSD. Auf diese Weise kann ein XML automatisch geschrieben, gelesen und auf Gültigkeit geprüft werden. Anders gesagt, das XML erklärt und definiert sich gewissermaßen selbst. Viele Office-Dateiformate sind davon abgeleitet. Auch das Vektor-Grafik-Format Scalable Vector Graphics SVG beruht auf XML.

Besonders auf interaktiven Webseiten müssen häufig je nach Benutzereingabe Daten vom Server nachgeladen werden. Traditionell war es dafür nötig, die Webseite komplett neu zu laden. Heute werden diese Daten dynamisch per Asynchronous JavaScript and XML AJAX nachgeladen. Entgegen der Aussage der Abkürzung erfolgt das heute meist nicht mehr in XML, sondern im Datenformat der Programmiersprache der Webbrowser, also Javascript. Dieses Datenformat wird JavaScript Object Notation JSON genannt.

JSON ist recht beliebt für den Datenaustausch und wird auch gern von Webservices genutzt. Theoretisch könnte man JSON direkt wie eine Sammlung von Variablen in JavaScript einlesen. Dafür müsste man aber die exec-Funktion nutzen. Dieses Feature steht prinzipiell in jeder Skriptsprache zur Verfügung, wird aber aus Sicherheitsgründen kaum noch genutzt. Exec würde auch Befehle ausführen, könnte also einfach zum Einschleusen von Schadcode missbraucht werden. Daher nutzt man spezielle Funktionen zum Kodieren und Dekodieren von JSON, die heute in vielen Programmiersprachen zur Verfügung stehen.

Möchte man große Datenmengen geordnet ablegen und verarbeiten, wird man das gewöhnlich in einer Datenbank tun. Es lohnt sich beim Design einer Datenbank einige Gedanken über die sogenannte Normalisierung der Daten zu machen. Die wichtigsten Grundregeln sind zum einen, dass die abgelegten Daten für die Verarbeitung nicht mehr weiter zerlegt werden sollen. Sie werden in sogenannten Atomen abgelegt und später zu größeren Ergebnissen zusammengefasst. Zum anderen werden Daten immer eindeutig abgelegt. So wird man z.B. die Information, dass zum Call DL1KLM der Name des OMs Hans ist nur ein Mal in der Datenbank anlegen und nicht bei jedem einzelnen QSO. Der Sinn ist, dass so Redundanzen, die zu Inkonsistenzen führen können, vermieden werden.

Damit das funktioniert, müssen die Daten auch wieder verknüpft werden können. In einer Tabelle werden die QSOs mit Call abgelegt und in einer anderen Tabelle stehen die Namen und weitere Informationen zum Call. Die Verknüpfung zwischen den beiden Tabellen erfolgt über Entity Relations. Dazu wird das Rufzeichen in der Tabelle mit den weiteren Daten zum Primärschlüssel ernannt. Dieser Schlüssel ist eindeutig und stellt so sicher, dass die Daten zum Call eindeutig sind. In der Tabelle der QSO ist das Rufzeichen ein Fremdschlüssel. Das stellt sicher, dass es das Rufzeichen in der anderen Tabelle auch gibt. In der zur Datenbank zugehörigen Applikation wird man das dann so umsetzen, dass der Eintrag eines neuen Rufzeichens ggf. automatisch erzeugt wird, wenn ein QSO eine Erstverbindung ist.

Es gibt viele Arten, Daten abzulegen. Und es gibt viele Dinge dabei zu beachten. Historisch wurden viele Dinge ausprobiert. Ein bekanntes Beispiel sind Zeichensätze. Heute wird man meist Varianten von Unicode nutzen, wie UTF-8 oder UCS-2. Zum Umwandeln von anderen Zeichensätzen kann man automatische Konverter benutzen. Eine andere früher weit verbreite Art Daten abzulegen, waren Dateien mit festen Feldlängen. In perfekt definierten Datensätzen kann das funktionieren, aber es kommt leicht zu Problemen, wenn die beteiligten Programme nicht gut mit dem Überschreiten der Feldlänge umgehen konnten. Das ist besonders tückisch, wenn abgeschnittene Daten keinen Sinn mehr ergeben, wie z.B. oben erwähnte HTML-Entitys oder sonst kodierte Daten.

Bildformate

Die üblichen Bildformate wie JPEG und PNG und auch die alten wie GIF und BMP können mit normalen Programmen zur Bildverarbeitung wie GIMP geöffnet, bearbeitet und konvertiert werden. Gelegentlich kommt man aber an proprietäre Formate, die nicht automatisch erkannt werden; wie z.B. die in Funkgeräten abgelegten Bilder für den Splash-Screen beim Booten oder für den Hintergrund. Das sind oft „rohe“ Datenformate, die 1:1 die Pixel auf dem Display repräsentieren. Hier hilft es, wenn ein paar Metadaten bekannt sind, wie z.B. die Auflösung des Displays oder wenigstens das Seitenverhältnis. Dazu kennen wir die Größe der Datei in Byte.

Nehmen wir als Beispiel hier die .bin-Datei vom Boot-Image eines Anytone 878. Sie hat 40960 Bytes. Den Bildschirm messen wir zu 35mm x 28mm und erhalten so ein Seitenverhältnis von 4:5. Die lange Seite x berechnet sich in Pixel zu:

$$ x * 4/5 \, * x = 40960  $$

$$ x = \sqrt{5/4 * 40960} = 226{,}3 $$

Das geht also so nicht auf. Da wir hier gewissermaßen Reverse-Engineering betreiben, müssen wir ein paar Dinge raten. Eine plausible Annahme ist hier, dass ein Pixel in mehreren Bytes abgelegt wird. Probieren wir also 2 Byte/Pixel und rechnen mit 40960 Bytes / 2 Byte/Pixel = 20480 Pixel:

$$ x * 4/5 \, x = 20480 $$

$$ x = \sqrt{5/4 * 20480} = 160 $$

Und die kurze Seite ist dann 160 * 4/5 = 128. Das sind also nun plausible Werte. Mit diesem Wissen können wir die Daten z.B. „roh“ in Gimp einlesen. Dazu gehen wir in den normalen Öffnen-Dialog und nutzen nicht das üblicherweise gesetzte Feature „Dateityp automatisch bestimmen“ , sondern scrollen hier runter bis „Rohdaten des Bildes“. Dazu muss noch der Haken bei „Alle Dateien anzeigen“ gesetzt werden, um die .bin-Datei zum Laden auswählen zu können.

Geben wir nun als Breite 160 und als Höhe 128 ein. Und dazu wählen wir einen Bildtyp mit 16 Bit, wie z.B. RGB565 Big-Endian. Hier werden für Rot, Grün und Blau 5, 6 und 5 Bit pro Pixel genutzt, in Summe als 16 Bit oder 2 Byte, so wie oben von uns ermittelt.

Bei der Auswahl des richtigen Bildtyps kann es nützlich sein, das Bild vom Display des Geräts zu kennen. Zumindest die Farben des Bildes sollten nun passen. Aber das Bild bleibt verwürfelt. Es gibt noch einen Freiheitsgrad, den wir ausprobieren müssen: Die „technische Anordnung“ der Pixel muss nicht unbedingt der normalen Betrachtungsrichtung des Displays entsprechen.

Es gibt Displays bei denen die Pixel nicht quadratisch sind. Hier ist es sehr schwer, die Auflösung zu erraten. In solchen fällen muss man mit dem Schieberegler für die Breite langsam und gefühlvoll ein paar Werte ausprobieren. Mit ein bisschen Geschick findet man so auch die passenden Zahlenwerte.

Wir probieren also eine Breite von 128 und eine Höhe von 160 aus. Jetzt können wir das Bild schon erkennen und wir laden es so. Wir nutzen im Menü Bild von Gimp noch die Transformation um 90° drehen und Horizontal spiegeln.

Jetzt haben wir das Bild so wie es im Gerät angezeigt wird und können es in einem normalen Bildformat wie PNG speichern.

Diskussion

Der Beitrag Datenformate erschien zuerst auf DD3AH.

]]>
Spam filtern https://dd3ah.de/spam-filtern/ Mon, 13 Jul 2020 05:23:58 +0000 https://dd3ah.de/?p=3008 Der Computer kann helfen, lästigen Spam automatisch zu erkennen.

Der Beitrag Spam filtern erschien zuerst auf DD3AH.

]]>
Nach dem Artikel über das Erkennen von Spam finden wir hier einige technische Möglichkeiten, um E-Mails zu filtern, die man vermutlich nicht lesen möchte. Neben dem Komfort hilft das auch sogenannte Phische leichter zu erkennen. Als Phishing bezeichnet man allgemein gesagt die Methode, einen seriösen Inhalt vorzutäuschen, um eine solche Reaktion beim Empfänger auszulösen; im harmlosesten Fall einen Werbe-Spam ernstzunehmen; im schlimmsten Fall die Zugangsdaten zu seinem Online-Banking preiszugeben.

Einfache Methoden

Im E-Mail-Programm die automatische Erkennung einschalten. Ohne weitere Maßnahmen ist diese Methode sehr ungenau, weil man sich gewissermaßen „blind“ auf die Erkenntnisse und Einschätzungen anderer verlässt. Sowohl false positives, also die Spam-Markierung gewünschter Nachrichten („Ham“) sind häufig, also auch false negatives, also eine fehlende Markierung von Spam.

Die Begriffe Ham (Schinken) und Spam (Dosenfleisch) haben sich hier so eingebürgert, obwohl beide Fleischprodukte in hoher und niedriger Qualität angeboten werden. Auch hat das Ham hier nichts mit der umgangssprachlichen Bezeichnung für Funkamateure zu tun.

Die automatische Erkennung zu trainieren, verbessert die erste Methode deutlich. Das bedeutet, man sagt dem E-Mail-Programm, was Spam und was Ham ist. Dadurch „lernt“ es und wird im Laufe der Zeit immer besser.

Bei manchen Dienstleistern kann man eine Markierung von Spam schon auf dem Server aktivieren. Da diese meist mehr Erfahrung haben und auch ein größeres E-Mail-Aufkommen, ist die Markierung recht zuverlässig. Ein Training ist hier nicht üblich, weil sich diese Dienstleister nicht gern auf die Einschätzung ihrer Kunden verlassen möchten. Auch diese Methode ist wie jede andere nicht 100 % zuverlässig. Man sollte also gelegentlich prüfen, ob kein Ham versehentlich aussortiert wurde.

Fortgeschrittene Methoden

Auf einem eigenen Server lässt sich Spam mithilfe ausgereifter Tools wie SpamAssassin ausgezeichnet markieren. Hier können viele weitere Filter und externe Dienstleister eingebunden werden. Die Bewertung erfolgt hier nicht „schwarz/weiß“ anhand von „harten Regeln“, sondern jede Teilmethode trägt einen Teil zu einer Gesamt-Bewertung bei. Das ist viel genauer und zuverlässiger als simple Filter. Wenn die Bewertung hinreichend eindeutig ist, lernt dieser Filter sogar automatisch.

SpamAssassin kann um weitere externe Filter erweitert werden. Man kann SpamAssassin auch beibringen, dass das Benutzen einer für einen selbst ungebräuchlichen Sprache einen Spam-Verdacht darstellt.

Noch besser wird diese Methode, wenn Server auch noch manuell trainiert wird. Dazu kann man IMAP-Verzeichnisse anlegen, aus denen der sogenannte Bayes-Filter im SpamAssassin trainiert wird. Das geht auf Linux-Systemen z. B. mithilfe von Path-Units im systemd. E-Mails, die man zum Trainieren benutzen möchte, kopiert man dann einfach in seinem E-Mail-Programm in diese IMAP-Verzeichnisse. Besonders für Spam unterstützen diese Methode viele Programme. Falls man auch Ham trainieren möchte, muss man sich überlegen, was nach dem Training mit der E-Mail in diesem Verzeichnis geschieht.

Dem verschickenden oder anliefernden Server kann man vorgaukeln, dass der eigene Server gerade nicht empfangen kann. Es soll dann nach 5 Minuten erneut versucht werden. Beim zweiten Versuch funktioniert es dann. Das bewirkt zweierlei: Zum einen sind viele Spamserver dazu nicht in der Lage; sie vergessen die erneute Zustellung. Zum anderen kommt Spam oft in „Wellen“. Diese 5 Minuten geben den anderen Methoden mehr Zeit, zu lernen. Für dieses sogenannte „Greylisting“ sollte man ein ausgereiftes Tool benutzen, denn man benötigt eine Liste von „guten“ Servern, die wegen Lastverteilung nicht gut wiedererkannt werden können. Sie würden sonst jedes Mal erneut abgewiesen werden. Nachteil dieser Methode ist, dass die E-Mails eben mindestens 5 Minuten verspätet ankommen. Das wird etwas gemildert, da sich das Greylisting bekannte Absender merkt und diese direkt durchlässt. Zum anderen kann man auch einzelne Absender und Empfangs-Adressen manuell auf eine Whitelist setzen, sodass sie nicht verzögert werden.

Anliefernde Server, die ein Mal als Spammer erkannt wurden, kann man in eine eigene Blacklist eintragen. Das erfolgt meist DNS-basiert. Diese Blacklist wird direkt im Mailserver eingetragen. Dieser weist erneute Zustellversuche dann direkt ab. Das ist sehr wichtig. Eine Blacklist darf nicht erst nach der erfolgten Zustellung aktiv werden, da sonst keine Chance mehr besteht, false positives zu erkennen, die es wie schon erwähnt immer geben kann.

Eine gute Ergänzung zum Spamfilter ist auch ein Virenscanner. Das ist zwar nicht ganz das Gleiche, aber als Resultat bei den unerwünschten E-Mails schon. Da auch Viren häufig in Wellen verschickt werden, sind häufig unzählige Identische gleichzeitig unterwegs. Besonders dank Greylisting ist die Wahrscheinlichkeit hoch, dass schon jemand anders den Virus erkannt hat. Hier hilft dann eine Datenbank wie VirusTotal, um bekannte Viren anhand einer simplen Prüfziffern-Signatur zu erkennen. Um VirusTotal in den Server zu integrieren, kann ein kleines Python-Script in ProcMail benutzt werden. Wichtig ist dabei, dass man nicht den zu prüfenden Anhang an VirusTotal schickt, sondern nur die Prüfziffer. Denn man möchte sicher nicht jeden (möglicherweise vertraulichen) Anhang auf einen „fremden“ Server hochladen.

Computer-Viren mutieren genau wie biologische auch. D. h. es gibt auch eine hohe Wahrscheinlichkeit, dass ein empfangener Virus eben noch von keinem anderen markiert wurde. Hier hilft ein Virenscanner wie ClamAV direkt auf dem eigenen Server. Die Virendatenbank von ClamAV selbst ist nicht sehr groß, aber man kann die sogenannten „unofficial“ Pakete dazu laden, die erheblich umfangreicher sind und einen besseren Schutz bieten. Aus Performance-Gründen sollte man sich mit der Server-Client-Version von ClamAV beschäftigen. Genau wie VirusTotal kann man ClamAV über ProcMail einbinden.

Hat man mehrere Mailserver zur Verfügung, so kann man diese über mehrere MX-Einträge im DNS zum Empfang nutzen. Dazu müssen diese natürlich auch zum Empfang aller E-Mail-Domains eingerichtet werden. Normalerweise nutzt man das, um den temporären Ausfall des primären Mailservers aufzufangen. Oft sind diese sekundären Mailserver nicht vollständig in das Filterkonzept gegen Spam und Viren eingebunden. Einige Spammer nutzen das aus und gehen bevorzugt über diese sekundären Mailserver. Wir können das nun wieder ausnutzen und markieren jeden, der über den sekundären Mailserver hereinkommt, im SpamAssassin als Spam. Das darf natürlich keine sehr „scharfe“ Regel sein, denn zum einen kann der primäre wirklich mal ausfallen; zum anderen ist es ja zulässig, den sekundären zu nutzen.

Hinweise

Wie schon erwähnt, darf ein Abweisen eines Zustellversuchs nur direkt während des laufenden Zustellversuchs erfolgen. Erst annehmen und dann verwerfen verbietet sich, weil false positives nicht erkannt werden. Das ist auch juristisch relevant, weil der Absender davon ausgehen muss, dass seine E-Mail empfangen wurde.

Abgesehen vom direkten Ablehnen der Zustellung wird der Absender niemals automatisch vom Spamfilter kontaktiert. Nach der Beendigung der Zustellung erfolgt keine Kontaktaufnahme mehr. Zum einen will man den Spammer gar nicht über seine Erkenntnisse informieren. Zum anderen ist es nahezu unmöglich, den wahren Absender einer E-Mail zu ermitteln. Man würde mit hoher Wahrscheinlichkeit Unbeteiligte behelligen. Besonders Server hinter übertriebenen Firewalls wie z. B. die meisten in China machen das oft falsch, mit der „Ausrede“, dass der eigentliche Mailserver gar keine Chance habe, die Verbindung abzulehnen.

Besonders in der ersten Zeit nach der Einführung eines neuen Spamfilters sollte man den Spamordner regelmäßig prüfen. False positives können sehr ärgerlich sein, wenn dadurch wichtige Informationen verloren gehen. Aus dem gleichen Grund sollte Spam auch niemals automatisch endgültig gelöscht werden.

Der Beitrag Spam filtern erschien zuerst auf DD3AH.

]]>
Spam erkennen https://dd3ah.de/spam-erkennen/ Sun, 29 Sep 2019 05:22:42 +0000 https://dd3ah.de/?p=3005 Spam zu erkennen kann auch helfen den Umgang mit dem Computer sicherer zu machen.

Der Beitrag Spam erkennen erschien zuerst auf DD3AH.

]]>
Oft bekommt man an seine E-Mail-Adresse unerwünschte Nachrichten („unsolicited mail“). Das kann einfach nur Werbung sein, aber auch sogenannte „Malware“, also Viren und Trojaner. Es gibt auch Nachrichten, die Informationen ausspähen wollen, sogenanntes „Phishing“, also das „Angeln“ von Daten. Und es wird auch mit Erpressung gearbeitet.

Generell ist es eine Standard-Taktik, solche Nachrichten einfach zu ignorieren. Viele Mailprogramme bieten an, solche Nachrichten automatisch zu markieren. Eine manuelle Markierung hilft dem System, besser zu lernen, was Spam ist. Wichtig ist dabei wirklich nur „echten“ Spam zu markieren. Ein einmal bestellter Newsletter, der einen nun nicht mehr interessiert, sollte man nicht als Spam markieren, sondern einfach abbestellen.

Ebenso sollten Nachrichten von bekannten Personen, mit denen man aber nicht reden will, auch nicht als Spam markiert werden. Das automatische System würde daraus die falschen Schlüsse ziehen und wir hätten später viele andere fälschlich als Spam markierte Nachrichten, die sogenannten „false positives“.

Hier einige Beispiele für „echten“ Spam:

Daten überprüfen, neue Geschäftsbedingungen

Prüfen Sie Ihre Daten jetzt … Es gibt neue Vertragsbedingungen … Sie müssen zustimmen, sonst verlieren Sie Ihren Zugang … Das kann schon mal vorkommen. Aber bitte immer die bekannten URLs aus den Lesezeichen und nicht den Link aus der E-Mail benutzen. Ach, da steht gar nichts von neuen Bedingungen? Dann wollte wohl jemand die Zugangsdaten mit dieser Phishing-Methode ausspähen. Die Webseiten sind oft täuschend echt nachgemacht. Oft kann man sie jedoch an unplausiblen URLs oder Absendern erkennen. Niemals Zugangsdaten in unbekannte Webseiten eingeben!

Die Erbschaft, der Lottogewinn

Eine ungeheuer große Geldmenge steht für Dich bereit. Du musst sie nur abrufen. Dafür benötige ich Deine Adresse, Deine Kontonummer usw… Hier haben wir Phishing. Dieser Spam dient dazu, der Adresse weitere Daten zuzuordnen, um ein solches Profil zu erstellen. Solche Profile sind unter Spammern mehr wert als bloße E-Mail-Adressen. Es ist auch schon vorgekommen, dass Leute doch noch mal kontaktiert wurden, nachdem die Daten preisgegeben wurden. Meist kommt dann die Aufforderung, eine Gebühr zu bezahlen, die nötig ist, um das Geld überweisen zu können. Sollte man so dumm sein, die Gebühr zu bezahlen, kommt natürlich kein Geld.

Eine Variante davon ist die Hilfe bei so einer Erbschaft, oft von reichen Industriellen in Nigeria oder von todkranken Leuten, die ihr Erbe außer Landes schaffen wollen. Der Ablauf ist der gleiche, nur dass einem nicht die ganze Summe versprochen wird, sondern ein guter Anteil davon.

Das tolle Medikament, das beste Gerät

Irgendein Mittelchen oder ein Werkzeug wie man es sonst nirgends kaufen kann. Und wenn Sie gleich bestellen, gibt es auch noch Rabatt … Das ist der klassische Spam, also Werbung. Mehrheitlich sind die angebotenen Waren gar nichts Besonderes oder sogar minderwertig. Die verlinkten Webseiten sollte man nicht aufrufen. Sie enthalten oft Trojaner.

Die wichtige Information

Ihnen entgeht ein wichtiges Geschäft … Ihnen wird etwas vorgeworfen, reagieren Sie schnell … Ihr Kollege hat Ihnen das zur Freigabe geschickt … Der Chef sagt, dass Sie das sofort bearbeiten müssen … Hier wird meist eine Datei geschickt oder per Link zum Download angeboten. Die Datei enthält dann einen Trojaner, also ein schädliches Programm. Das wird dann zum Ausspähen von Daten genutzt, oder zur Beschädigung der Daten … und dann zur Erpressung. Falls Zweifel bestehen, ob es nicht doch „echt“ sein könnte: Einfach beim Absender nachfragen, z. B. per Telefon. Auch, oder gerade, wenn in der Mail davon abgeraten wird. Würde der Kollege oder ein Anwalt wirklich davon abraten, ihn anzurufen? Würde jemand eine so wichtige Angelegenheit starten und dann in den Urlaub verschwinden, ohne einen Stellvertreter zu haben? Wohl kaum.

Eine gefährliche Variante davon ist, dass bösartige Hacker inzwischen so viele Daten gesammelt haben, dass sie daraus vertrauenerweckende oder glaubhafte Nachrichten generieren können. Diese Mails enthalten den Namen eines echten Kollegen als Absender und einen plausiblen Gesprächs-Kontext.

Die private Situation

Ich habe Sie in einer sehr persönlichen Situation gefilmt. Sie haben nichts gemerkt, weil ich der weltbeste Hacker bin. Schicken Sie mir sofort Geld … Die simple Erpressung. Oft wird als Beweis ein Passwort mitgeschickt. Falls das Passwort wirklich noch benutzt wird, gleich ändern. Das Passwort stammt meist aus einem gehackten Webshop oder einem Internet-Forum. Der Erpresser baut darauf, dass viele Leute ihre Passwörter mehrfach benutzen. Das sollte man generell nicht tun. Fast jeder Webshop, jedes Forum und jede Social-Media-Plattform wurde in letzter Zeit mal gehackt. Es gibt riesige Datenbanken, aus denen sich Erpresser bedienen können. Es ist viel einfacher, die Leute zu erpressen, ohne ihnen wirklich etwas Böses zu tun. Die Wahrscheinlichkeit, dass es wirklich ein Erpresservideo gibt, ist gleich null.

Antrag genehmigt, Lieferung steht bereit

Ihr Kredit steht bereit, Ihre Lieferung wartet auf Sie … Irgendetwas Wertvolles ist zum Greifen nah. Das ist wie damals bei Monopoly „Bankirrtum zu Ihren Gunsten“. Letztlich läuft das wieder auf Phishing hinaus; oder es steckt ein Trojaner dahinter. Also auch hier einfach „Finger weg“.

Der Vertragsablauf

Ihr Vertrag ist abgelaufen, ergänzen Sie hier fehlende Daten und antworten Sie schnell … Wurde dieser Vertrag wirklich früher mal abgeschlossen? In Wirklichkeit ist dann am Ende gar keine Verlängerung eines Vertrags, sondern der Neuabschluss. Oft geht es um Einträge in irgendwelche Webindexe. Gern wird auch suggeriert, dass sonst ein Zugang zu einem E-Mail-Postfach abläuft oder eine DNS-Domäne verfällt.

Die Geschäftsidee

Leiten Sie einfach nur Geld weiter und kassieren Sie Ihren Anteil. Empfangen Sie Postsendungen, die sie einfach weiterschicken und verdienen Sie so einfach Geld … Mal ehrlich: Für welche seriöse Geschäftsabwicklung soll so etwas nötig sein. Im harmlosesten Fall geht es um Import-Geschäfte. Man hat einen Haufen Arbeit damit, man ist rechtlich der Importeur, mit allen Konsequenzen z. B. beim Zoll und man ist geschäftsmäßig tätig, ist also z. B. steuerpflichtig. Es wird sich also kaum lohnen. Und das nur unter der Annahme, dass es um legale Geschäfte geht … Also auch hier: Nicht drauf reagieren.

Die Wiederholung

Wie ich schon das letzte Mal sagte. Hatten Sie schon Zeit, meine frühere Nachricht zu lesen? Warum reagieren Sie nicht? … Hier soll Druck aufgebaut werden; oder ein schlechtes Gewissen: Habe ich wirklich etwas Wichtiges übersehen, ein Update, oder eine Zahlung? Gleich mal nachschauen, was das ist *klick* *oops* Wenn die E-Mail zu einer schnellen Handlung auffordert, erst mal besonnen zurücklehnen und nachdenken, ob es sich wirklich um die Kontaktaufnahme eines „alten Bekannten“ handelt. Die zum Anklicken angebotenen Links leiten oft auf Phishing-Seiten weiter, und die angehängten Dokumente enthalten Schädlinge.

Die Antwort

Auf Ihre Anfrage kann ich Ihnen sagen … Wann habe ich dem denn geschrieben? … und was? *klick* *oops* Die vermeintliche Antwort ist eine Variante der Wiederholung. Die Verwirrung, dass man sich auf die Kontaktaufnahme gar nicht erinnern kann, wird ausgenutzt, um zum Klicken und Ausfüllen eines Formulars zu verleiten. Auch wieder: Erst mal in den eigenen Unterlagen prüfen, ob es sich wirklich um eine Antwort handelt.

Der Bekannte im CC:

Diese relativ neue Masche beruht darauf, dass es inzwischen große Datenbanken mit Geschäftsbeziehungen gibt, aus denen sich Spammer bedienen können. Dadurch, dass bekannte Namen in Kopie angesprochen werden, soll suggeriert werden, dass es sich hier um eine vertrauenswürdige Konversation handelt. Dass der Absender dabei unbekannt ist, kommt einem nicht mehr so verdächtig vor. Sollte also das Vertrauen nur darauf beruhen, dass scheinbar ein Bekannter beteiligt ist, sollte man bei diesem rückfragen, was er zu der Angelegenheit sagen kann. Ach, der weiß gar nichts davon? Dann war das wohl wieder mal ein Phisch.

Weitere Informationen

Was macht man nun, wenn man sich mal nicht so sicher ist? Zuerst kann man die Nachricht mal selbst auf Plausibilität prüfen:

  • Würde diese Person mich wirklich so anreden?
  • Würde sie so viele Schreibfehler machen?
  • Würde sie diese Sprache benutzen?
  • Stimmen die E-Mail-Adressen im Header?
  • Passt der Betreff zum Inhalt?
  • Passen die Grußformel und die Schlusszeilen?

Einfach gesagt: Man sollte den gesunden Menschenverstand benutzen. Manche Leute glauben, im Internet läuft alles anders als in der „richtigen Welt“. Aber so anders ist es gar nicht. Und genau wie „draußen“ gibt es halt auch Gauner. Hier zum Abschluss noch ein paar Dinge, die man konkret tun kann:

Man kann übertragene Dateianhänge und verlinkte URLs dann z. B. auch hier prüfen. Virustotal ist ein „Ableger“ von Google, bei dem Dateien gegen viele Antivirenprogramme auf ein Mal geprüft werden können. Für die gelegentliche Nutzung ist es kostenlos:

VirusTotal

Anhänge aus unbekannten Quellen sind generell immer verdächtig. Dateiendungen ausführbarer Programme wie .EXE .COM .BAT .PIF usw. sind generell ein Zeichen für Schadsoftware. Besonders wenn in der Nachricht nur von einem Dokument zum Lesen die Rede ist, sogar ein sicheres Zeichen. Auch, wenn der Dateiname künstlich in die Länge gezogen ist, um die Dateiendung zu verstecken, ist immer Vorsicht angebracht. Gepackte Archive sollte man auch sehr misstrauisch betrachten. Eine entsprechende Warnung vom System sollte man sehr ernst nehmen.

Wie schon erwähnt, kann man auch einfach noch mal beim Absender rückfragen.

Schließlich kann man den Kontext, also die erwähnten Personen, Firmen, Produkte, Dienstleistungen usw. der Nachricht im Internet recherchieren.

Nur E-Mail? Nein!

Spam und Phishing gibt es nicht nur in E-Mails. In Social Media wie Facebook und X (“Twitter”) werden bekannte Firmen und Marken gefälscht; teilweise sogar mit kompletten Websites. So werden komplette Shops nachgeahmt, um überwiesenes Geld zu stehlen, oder Support-Anfragen werden für Phishing genutzt.

Es gab sogar Fälle, in denen echte Menschen und Fahrzeuge involviert waren, um eine andere Firma täuschend echt nachzuahmen. Damit wurde dann vorgegaukelt, ein defektes Gerät zur Reparatur besonders kundenfreundlich direkt abzuholen. Man sollte immer gut überlegen, wo man im Internet seine Adresse zusammen mit Spuren über wertvolle Geräte hinterlässt, besonders auch im Schadensfall.

Der Beitrag Spam erkennen erschien zuerst auf DD3AH.

]]>
Linux-PC installieren https://dd3ah.de/linux-pc-installieren/ Sat, 28 Sep 2019 12:07:10 +0000 https://dd3ah.de/?p=2990 Wie kommt Linux auf einen PC?

Der Beitrag Linux-PC installieren erschien zuerst auf DD3AH.

]]>
Wir installieren uns einen Rechner mit Linux.

Voraussetzung:

  • Etwas zu tun nebenher 🙂 Der zu installierende Rechner sollte im Blick sein, damit man sieht wenn er eine Eingabe erwartet. Aber zwischendurch gibt es längere Zeiträume in denen das System automatisch arbeitet und keine Interaktion benötigt. Das ist auch einer der Gründe warum es sich empfiehlt keine zu alten (langsamen) Geräte zu benutzen. Das gilt auch für die verwendeten Installationsmedien.
  • Netzanbindung mit DHCP. Das erfüllt jedes haushaltsübliche LAN mit einem DSL-Router.
  • Einen lauffähigen Linux-PC. Hier haben wir ein Henne/Ei-Problem. Prinzipiell geht das auch an einem Windows-PC, was hier für den Moment nicht behandelt wird, da ich hier keinen habe zum Testen
  • Einen zu installierenden PC. Falls die Platte dieses PC schon mal benutzt wurde, sicherstellen, dass die Daten gesichert wurden. Die Platte wird im Laufe der Installation unwiederbringlich überschrieben!
  • Ein für den zu installierenden Rechner geeignetes Installationsmedium, welches der lauffähige beschreiben kann. Z.B. ein USB-Stick oder eine SD-Karte. Für ältere Rechner vielleicht eine CD.

Auf dem fertigen Linux-PC

Lade Ubuntu Desktop 18.04 LTS Netinstall; hier die Version für alte PCs (i386), vorzugsweise sollte aber eigentlich die amd64 genutzt werden, wenn der PC das kann, er also 64-Bit-fähig ist. Die Version Long Term Service LTS stellt sicher, dass wir über einige Jahre hinweg Updates für das System erhalten. Für einen Arbeitsplatzrechner, der ständig die neuesten Tools haben sollte, würden wir vielleicht die normale Version 19.04 bevorzugen.

Netinstall hat den Vorteil dass ein kleiner Datenträger ausreicht und das Erstellen des Image schnell geht. Später werden dann wirklich nur die benötigten Pakete aus dem Internet geladen, so dass dann auch schneller geht. Die vollständigen Images sollte man nur nutzen, wenn der Rechner später gar kein Internet haben wird; oder aber wenn mehrere PCs installiert werden sollen.

wget 'http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-i386/current/images/netboot/mini.iso'

Kopiere auf geeigneten Datenträger zur Installation, je nach PC z.B. CD/DVD, USB-Stick oder SD-Karte. Darauf achten dass wirklich das Image auf den Datenträger geschrieben wird und NICHT das Image als Datei kopiert! Darauf achten, dass das Gerät hinter of= wirklich der zu beschreibende Datenträger ist. dd würde auch die Festplatte beschreiben und damit das Betriebsssystm mit allen Daten zerstören!

“Das gute an Linux ist, dass so viel damit möglich ist… Das schlechte an Linux ist, dass so viel damit möglich ist.” 😉

Um zu erkennen, welches der eingelegte Datenträger ist, kann man den Befehl lsblk benutzen. Ein Mal vor dem Einlegen und ein Mal danach aufrufen und der hinzugekommene Gerätename ist der vom frisch eingelegten. Ziffern am Ende werden dabei ignoriert. Diese bezeichnen die Partitionen auf dem Datenträger, die wir gleich sowieso überschreiben werden.

$ lsblk

sdd 8:48 1 28,9G 0 disk

├─sdd1 8:49 1 59M 0 part

└─sdd2 8:50 1 6M 0 part

Das Gerät hier ist also /dev/sdd

Zum Verständnis: Das so genannte Image in der ISO-Datei ist eine exakte Byte-weise Kopie eines fertigen Datenträgers. Es darf daher nicht mit dem Befehl zum Kopieren auf den Datenträger abgelegt werden, sondern muss mit einem speziellen Befehl wieder Byte für Byte auf dem Datenträger abgelegt werden. Auch dieser Datenträger sollte ggf. vorher gesichert werden. Auch er wird unwiederbringlich überschrieben!

Hier der Befehl für eine SD-Karte die als Gerät /dev/sdd geladen ist.

dd if=mini.iso of=/dev/sdd bs=4M

Das kann je nach Geschwindigkeit der SD-Karte einige Minuten dauern.

Datenträger aushängen und entnehmen.

Auf dem zu installierenden PC

Datenträger in den zu installierenden PC einlegen und davon booten.

Im Ubuntu-Menü “Install” auswählen

Sprache auswählen, vorzugsweise “german – deutsch”

Ggf Warnung über unvollständige Übersetzung bestätigen, einige Dialoge können dann englisch sein

Land: Deutschland

Detect Keyboard-Laout durchführen

Geeignetes Netzwerk-Gerät auswählen, bevorzugt kabelgebundenes Ethernet

Aussagefähigen eindeutigen Rechnernamen vergeben, zur Not durchnummerieren, den PC damit zu beschriften ist eine gute Idee

Spiegelserver in Deutschland wählen

normalerweise sollte kein Proxy notwendig sein

Benutzername vergeben und merken

Passwort vergeben und merken

Zeitzone bestätigen (Europa/Berlin)

gesamte Platte mit LVM “geführt” partitionieren. Wir wollen kein zweites System auf dem PC. Partitionen waren früher üblich, heute sind sie eher hinderlich. Falls wir unsere Meinung mal ändern sollten, hilft uns der Logical Volume Manager LVM. Keine Verschlüsselung auswählen. Das wäre sinnvoll für einen Arbeitsplatzrechner mit vertraulichen Daten. Für einen reinen Afu-PC ist es aber eher hinderlich.

Schreiben der Partition bestätigen, die erste

Gesamte Platte nutzen

Schreiben der Partition bestätigen, die zweite

Nun dauert es eine Weile bis das System vorbereitet ist… Kaffeepause

Eigentlich sollte ein System automatisch aktualisiert werden. Da das aber im AREDNmesh oder Hamnet nicht so einfach geht, schalten wir die automatische Aktualisierung aus. Es sollte gelegentlich manuell im Internet durchgeführt werden.

Selektiere Pakete:

  • LAMP; spart uns später Arbeit und bereitet das System für Nextcloud vor
  • Xubuntu Desktop; sparsame XFCE-Oberfläche auch für langsame und ältere PCs
  • Openssh Server; für Zugriff von außen für die Fernwartung an der Konsole

Und wieder Kaffeepause

Bootloader in den Master Boot Record MBR schreiben lassen

Systemzeit auf UTC

Installationsmedium entnehmen

System neu starten lassen

Nun haben wir einen PC unter Ubuntu

Wer mag kann nun noch Nextcloud installieren. Das ist ein sehr mächtiges System was neben der Cloud-artigen Ablage von Dateien auch eine Kontaktverwaltung und einen Kalender beinhaltet, die mittels moderner Webdav-Protokolle z.B. vom Smartphone aus genutzt werden können.

Automatisches Installationsscript für Nextcloud. Einfach entpacken, ausführbar machen und mit sudo starten. Äh, ich meine natürlich: Traue nie einer ausführbaren Datei aus dem Internet. Also das Programm lesen, verstehen und dann auf eigene Verantwortung starten 😜.

Wichtiger Hinweis

Dies ist nun ein sehr simpel installierter Rechner. Wegen der nicht verschlüsselten Festplatte sollte er nicht für vertrauliche Daten genutzt werden. Und der Webserver ohne TLS “verbietet” einen Einsatz im Internet.

Der Beitrag Linux-PC installieren erschien zuerst auf DD3AH.

]]>