IT-Projekte
Hier finden sie kurze Einführungen
in einige IT-Projekte, mit denen ich mich beschäftigt habe. Da zu
den meisten dieser Projekte bereites detaillierte Informationen
verfügbar sind, werden sie nicht im Detail, sondern eher allgemein
angerissen.
Homepage auf dem eigenen Rechner
erstellen
Um die eigene Homepage in das Internet
zu bringen, gibt es mehrere Möglichkeiten:
- die Homepage auf einem vom Provider zur Verfügung gestellten
Server einrichten
- die Homepage auf einem gemieteten Server eines Hosters
einrichten
- die Homepage auf dem eigenen Rechner einrichten
Die ersten beiden Möglichjeiten
haben den Vorteil, dass sie nach dem Erstellen der Homepage alles
andere dem Betreiber des Servers überlassen können, so ist er für
die Sicherheit des Rechners verantwortlich und auch dafür, dass
ihre Homepage jederzeit erreichbar ist. Allerdings liegen ihre
Daten dann auf einem Server, auf den sie nur eingeschränkt Zugriff
haben.
Dies ist bei der Erstellung der
Homepage auf dem eigenen Rechner nicht der Fall. Allerdings gibt
es hier einen Stolperstein : die IP-Adresse ihres Rechners. Diese
wird in der Regel von ihrem Provider dynamisch zugewiesen und
ändert sich daher täglich. Zusätzlich sollte ihr Rechner permanent
laufen - allein aufgrund der entstehenden Stromkosten ist hier ein
Einplatinenrechner (zum Bespiel ein Raspberry Pi) erste Wahl.
Damit eine Webseite im Internet
erreichbar ist, wird ihr eine IP-Adresse zugeordnet. Diese
Zuordnung IP-Adresse zu Internetseite wird von einem Domain Name
Service (DNS) durchgeführt, wobei den Webseiten statische
IP-Adressen zugewiesen werden. Da jedoch ihre IP-Adresse (oder
genauer die IP-Adresse ihres Routers, denn nur darüber sind sie
mit dem Internet verbunden) dynamisch ist, muss sie von einem
dynamischen DNS ihrer Website zugewiesen werden. Dabei wird die
(Internet-) IP-Adresse ihres Routers permanent mit der im DNS
hinterlegten IP-Adresse verglichen und diese gegebenenfalls
geändert. Dieser DynDNS genannte Dienst wird teilweise
kostenlos von einigen Anbietern zur Verfügung gestellt:
- SecurePoint DynDNS
- DynDNS Service
- ClickIP
Nach der Registrierung bei einem
dieser Anbieter werden einem (meistens mehrere) mögliche
Seitennamen zur Verfügung gestellt, die dann dynamisch der
IP-Adresse des Routers zugewiesen werden. Diese Zuweisung
geschieht unter Linux mit Hilfe eines sogenannten 'daemons', der
auf dem lokalen Rechner läuft und in festen Zeitabständen dem
DynDNS die IP Adresse ihres Routers im Internet mitteilt.
Eigenen Rechner absichern (ssh,
Antivirus-Software, IDS, Firewall)
Wozu den eigenen Rechner absichern?
Ich rufe ja gar keine Webseite auf...
Auch wenn sie nicht im Internet
surfen, so meldet sich ihr Rechner mit dem Einschalten über die
Netzwerkkarte im Internet und hinterlässt dort Spuren. Sollten sie
zudem noch ihre Homepage auf dem eigenen Rechner betreiben, so ist
er grundsätzlich über die der Webseite zugewiesene IP-Adresse
erreichbar.
Um nun zu verhindern, dass ihr Rechner
das Opfer von Computerviren oder Trojanern wird oder sich ein
Hacker an ihm zu schaffen macht, sollten zunächst einige einfache
Grundregeln befolgt werden:
- niemals auf dem Rechner als Administrator (Windows) oder
root (Linux) anmelden. In diesem Fall hätte ein Hacker
unbegrenzten Zugriff auf ihren Rechner. Diese Benutzer sollten
daher nur temporär zur Durchführung administrativer Aufgaben
verwendet werden
- Benutzerlogin immer über ein Passwort absichern, welches nicht
einfach zu erraten ist (es sollten z. Bsp. keine Namen verwendet
werden)
- Remote -Zugriff auf ihren Rechner nur über ssh zulassen
Bei der Verwendung von ssh
sollte zudem ein root-Login unterdrückt werden. Des weiteren kann
(für die ssh-Anmeldung über Passwort) die Anzahl der möglichen
Login-Versuche begrenzt werden, da es unwahrscheinlich ist, dass
sie mehrmals ein falsches Passwort benutzen. Noch einfacher (und
sicherer) ist es, eine Anmeldung über Pre-Shared Keys
durchzuführen, in diesem Fall wird einmal ein Schlüssselpaar
(Public Key und Private Key) erzeugt, und der Public Key wird nun
verteilt, um bei der Anmeldung auf dem Rechner mit dem
entsprechenden Private Key verglichen zu werden.
Trotz der Absicherung des
Rechnerzugangs über ssh besteht die Gefahr, dass Sie unbemerkt
einen Virus auf Ihrem Rechner installiert haben (durch einen
falschen Klick auf einer Website, durch Öffnen von Mailanhängen
etc.). Eine Übersicht über Viren (oder besser über Schadsoftware)
finden sie unter
Wenn Sie sich nicht sicher sind, ob
sie einen Virus auf Ihrem Rechner installiert haben (oder sich der
Rechner 'auffällig' verhält, zum Beispiel langsamer ist als sonst
etc.), sollten Sie die Datenträger Ihres Rechners mit einem
Antivirenprogramm überprüfen, welches die Dateien Ihres Rechners
auf markante Zeichenketten bekannter Viren untersucht, welche
einer Library entnommen werden. Wie Sie sehen, hat dieses
Verfahren zur Überprüfung der Datenintegrität Ihres Rechners
jedoch zwei Schwachstellen:
- der Virus muss bereits
bekannt sein
- die verwendete Library muss
möglichst aktuell sein
Wenn sich also ein bisher
unbekannter Virus auf ihrem Rechner befindet, kann er mit einem
solchen Antivirenprogramm nicht gefunden werden - oder erst dann,
wenn eine dem Virus entsprechende Signatur in die Library
übernommen wurde.
Ein Virus installiert neue
(Schad-)Software auf Ihrem Rechner, oder er ersetzt ausführbare
Systemdateien (sogenannte Binaries), welche dann neben der
eigentlichen Funktion im Hintergrund zusätzliche ungewollte
Aufgaben ausführen. Da es quasi unmöglich ist, die Integrität
aller Systemdateien täglich zu überprüfen, gibt es sogenannte HIDS
- SW (Host Intrusion Detection System) wie z. Bsp. für Linux tripwire.
Dieses HIDS legt Prüfsummen der Systemdateien in einer Datenbank
ab und verifiziert die Integrität der Dateien durch Vergleichen
der Prüfsummen. Durch einen Eintrag in crontab (ermöglicht die
zeitgesteuerte automatische Ausführung von Programmen) kann dann
zum Beispiel die Systemintegrität wöchentlich, täglich oder auch
alle x Stunden verifiziert werden.
Bei einem Systemupdate (Ersetzen
installierter SW durch aktuelle Versionen) muß man die Datenbank
allerdings neu erstellen.
Das private Netzwerk im Internet -
Aufbau eines VPNs
VPN? Was ist das? Nun, die Abkürzung
steht für Virtuelles Privates Netzwerk.
Aha, werden Sie jetzt sagen. Und wofür braucht man das?
Angenommen, Sie möchten Ihre
Urlaubsbilder einem Bekannten zeigen. Sie könnten die Bilder zu
diesem Zweck auf Ihrer Homepage veröffentlichen (wo sie dann. wenn
der Zugriff nicht über ein Passwort geschützt ist, jeder sehen
kann) oder sie auf einem Webserver speichern, von dem der Bekannte
die Bilder dann herunterladen kann.
Die andere Möglichkeit wäre, dem
Bekannten die Bilder zu senden. Allerdings ist das Versenden von
Digitalbildern als Mailanhang meistens mit dem Problem verbunden,
dass der Mailanhang eine bestimmte Grösse nicht überschreiten
darf.
Am einfachsten wäre es doch, wenn
der Bekannte die Bilder direkt von ihrem Rechner auf seinen
eigenen Rechner kopieren könnte. Und genau hier kommt das VPN ins
Spiel. Durch dieses private Netzwerk werden Ihre Rechner so
verbunden, dass das möglich ist. Hinzu kommt, dass die
Datenubertragung verschlüsselt erfolgt. Auch bei der Arbeit im
Home Office zum Beispiel müssen sie ja gelegentlich auf Daten
zurückgreifen, die sich nicht auf Ihrem Laptop befinden. Auch
dieses geschieht über ein VPN.
Für die Erstellung eines VPNs gibt
es mehrere Software-Lösungen (OpenVPN, SoftEther VPN, tinc,
Wireguard), oder sie können auch einen kommerziellen VPN-Anbieter
auswählen.
Eine gute Bescheibung zur Errichtung
eines VPNs auf Basis von tinc finden Sie unter
heise
- Dezentrales VPN mit tinc
Steganographie
Unter Steganographie versteht man die
versteckte Übermittlung von Informationen. In der IT kann zum
Beispiel eine Textnachricht versteckt übertragen werden, indem sie
in einem Bild oder Video eingebettet wird.
Dieses kann durch einfaches Anhängen
der Textdatei an eine Bilddatei geschehen ...
$ ls bild.jpg
bild.jpg
$ cat
geheim.txt
Diese
Textnachricht wird versteckt übertragen.
$ cat
bild.jpg geheim.txt > bild1.jpg
Die so erzeugte Bilddatei kann nun zum
Beispiel als Mailanhang verschickt werden. Der Empfänger der Mail
kann aus dem Anhang der zugesandten Mail die Textnachricht unter
Linux z. Bsp. mit dem Kommando strings wieder extrahieren:
$ strings bild1.jpg
JFIF
....
Diese
Textnachricht wird versteckt übertragen
Die Textdatei kann jedoch auch durch
Command Line Tools wie steghide oder outguess so in die Bilddatei
eingefügt werden, dass ein Extrahieren der Textdatei wesentlich
schwieriger ist:
$ steghide embed -ef geheim.txt -cf bild.jpg -p
PassWort -sf bild2.jpg
Bette
"geheim.txt" in "bild.jpg" ein... fertig
Schreibe
Stegodatei "bild2.jpg"... fertig
In diesem Fall benötigt der Empfänger
der Mail zumindest das Passwort, um die Textdatei auszulesen:
$ steghide extract -sf bild2.jpg -p PassWort
-xf textnachricht.txt
Extrahierte Daten wurden nach "textnachricht.txt" geschrieben.
$ cat
textnachricht.txt
Diese
Textnachricht wird versteckt übertragen.
Aufsetzen eines Domain Name Servers
Netzwerkmonitoring
Wireshark