Support Learning
- DNS + Nameserver
- Linux
- Mail-Dienste
- SSL Zertifikate
- Netzwerk
- Informationsspeicherung
- Datenbanken
- Apache Webserver
DNS + Nameserver
DNS (Domain Name System)
Was ist ein DNS?
DNS oder auch "Domain Name System" ist wie das Telefonbuch des Internets. Jedes Gerät, dass mit dem Internet verbunden ist, hat eine eindeutige IP-Adresse. (z. B. 10.12.15.257)
Web-Browser benutzen die IP-Adressen zur Interaktion. Damit man die IP-Adressen nicht jedes mal eingeben muss, um auf eine Website zu gelangen, übersetzt DNS die Domain-Namen um, damit die Ressourcen im Browser geladen werden können.
Wie funktioniert DNS?
Um eine DNS aufzulösen, benötigt man einen Hostnamen (z. B. alexandergreub.ch) damit der Computer die Domain in eine verständliche IP-Adresse umwandeln kann.
Jedes Gerät, dass sich mit dem Internet verbindet, erhält eine IP-Adresse, damit das Gerät gefunden werden kann, wie z. B. eine Postanschrift bei einem Haus.
Es gibt 2 Verschieden Arten von IP-Adressen:
- IPv4 Adressen: Diese Adressen sind die zurzeit gängigsten und bekanntesten IP-Adressen. Sie teilen sich in 4 Dezimalzahlen und haben eine Range von 1 - 255. Leider kommen IPv4 Adressen immer mehr an eine Grenze, da es nur eine begrenzte Anzahl gibt. Bei IPv4 Adressen gibt es nur 4 Milliarden mögliche Kombinationen, deswegen wird immer mehr auf IPv6 umgestellt.
- IPv6 Adressen: Diese Adressen werden in Zukunft immer mehr vorkommen, da sie das Hexadezimal-System verwenden. Das heisst sie bestehen aus Zahlen und Buchstaben. IPv6 werden aber nicht so gern verwendet, da sie sehr lang und kompliziert werden können. (z. B. 2001:0db8:85a3:08d3:1319:8a2e:0370:7344)
Hilfreiche Ressourcen:
https://www.cloudflare.com/de-de/learning/dns/what-is-dns/
Die 3 Server zum Laden einer Webseite
Damit eine Webseite geladen werden kann, braucht es noch 3 Schritte.
- Der rekursive DNS Resolver - Der DNS Resolver ist ein Server, der die Anfragen der Clients, die z. B. eine Domain im Browser eintippen empfängt und sendet die Anfrage weiter an die nächsten zuständigen Sever. Falls eine Webseite schon einmal aufgerufen wurde, wird sie im sogenannten Cache gespeichert, damit die Domain z. B. erscheint, wenn man nur ein paar Buchstaben eintippt.
Diese Server sind auch beliebte Angriffsziele für Hacker, da der Traffic sehr hoch sein kann. - Der DNS Nameserver - Bei Webland gibt es 4 Nameserver. NS1 und NS2 sind die Hauptnameserver und NS3 sowie NS4 sind Backup Server. Bei den Nameservern sind die Domaininformationen einer Webseite hinterlegt.
- Der DNS Root Nameserver - Es gib insgesamt 8 Root-Server. Die Root-Zone beinhaltet die Informationen aller Top-Level-Domains (TLD). Jeder Rechner der mit dem Internet verbunden ist, ist bei einem Root-Server zugewiesen.
- Der TLD Nameserver - Diese Server sind Länderspezifisch und werden vom Root-Server angefragt und werden
Ablauf einer DNS-Anfrage
Zur Repetition beschreibe ich kurz die einzelnen Schritte einer DNS-Abfrage für www.alexandergreub.ch, um darauf aufbauen zu können:
- Der Client durchsucht zuerst seine Host-Datei und anschliessend seinen DNS-Cache, ob dort alexandergreub.ch mit der dazugehörigen IP-Adresse hinterlegt ist.
- Falls nicht, leitet der Client die DNS-Anfrage an seinen DNS-Resolver weiter. Wenn der DNS-Resolver die IP-Adresse zu alexandergreub.ch nicht in seinem Cache hat, kontaktiert er als nächstes einen Root-Nameserver. Der Root-Nameserver sendet die IP-Adressen der «.ch»-Zone-Nameserver an den DNS-Resolver zurück.
- Nun sendet der DNS-Resolver die DNS-Anfrage an einen der «.ch»-Zone-Nameserver (z.B. nic.ch). Dieser wiederum sendet die IP-Adresse der autoritativen Nameserver für tec-bite.ch zurück.
- Als nächster Schritt sendet der DNS-Resolver die DNS-Anfrage an den autoritativen Nameserver von alexandergreub.ch. Dieser antwortet anschliessend mit der IP-Adresse welche für alexandergreub.ch hinterlegt ist.
- Der DNS-Resolver sendet die erhaltene Antwort an den Client.
DNS-Zone
Erklärung der DNS-Zoneneinträge
A |
IPv4 Adresse |
AAAA |
IPv6 Adresse |
MX |
Mail-Server |
SRV |
Gibt einen Host und einen Port für bestimmte Dienste an (z.B. Instant Messaging, Kalender, VoIP) |
NS |
Autoritative Nameserver |
TXT |
Texteintrag (z. B. zur Unterbindung von Spam) |
CNAME |
Kanonischer Name (z. B. Verweis von einer Domain, wenn ein Alias besteht) |
Zonen-File im System Configurator
Zonen-Editor im WLCM
DNSSEC
DNSSEC steht für "Domain Name System Security Extension" die das DNS mit verschiedenen Sicherheitsmöglichkeiten erweitert.
Bei der DNS Abfrage wird der ein gesamter Durchlauf durchgeführt, d.h. Der Länder-Nameserver, der Root Server und der Autoritative Nameserver wird angesprochen. Bei allen Server müssen die DNSSEC Daten vorhanden sein, damit die Abfrage erfolgreich ist.
Auflistung der DNSSEC Abfrage: DNSSEC
Einträge
RRSIG |
Enthält eine kryptographische Signatur |
DNSKEY |
Enthält einen Public Key |
DS |
Enthält den Hash eines DNSKEY Eintrags |
NSEC und NSEC3 |
Für die explizite Anerkennung eines Nicht-Existenten DNS Eintrags |
CDNSKEY und CDS |
Für die untergeordnete Zone zur Anfrage von Aktualisierungen eines DNS Eintrags in der Übergeordneten Zone |
Definition eines RRset
Beim RRset werden Einträge mit dem gleichen Namen und Typ gebündelt.
ZSK (Zone Signing Key)
Definition des RRSIG Eintrags
Im RRSIG Eintrag befinden sich die Daten des Private Key und werden beim Zonenbetreiber im Nameserver hinterlegt.
Schema des ZSK
KSK (Key Signing Key)
Der KSK siginert zusätzlich den öffentlichen ZSK, der im DNSKEY Eintrag gespeichert ist und erstellt einen neuen RRSIG für den DNSKEY.
Schema des KSK
Ablauf einer DNSSEC Abfrage
- Wenn ein Client die www.agreub.ch eintippt, wird die Anfrage zum autoritativen Nameserver geschickt. Wenn der Nameserver nun DNSSEC aktiviert hat, kann die Abfrage weiter erfolgen, ansonsten wird die Abfrage nicht weitergeführt.
- Der Nameserver hat DNSSEC aktiviert und sendet als Antwort den A-Record und eine verschlüsselte Signatur zurück.
- Der Resolver benötigt diese kryptographischen Signaturen und holt beim Nameserver den Public und den Private Key.
- Der Nameserver sendet die Keys und die Signaturen an den Resolver, damit die Verifizierung erfolgreich durchgeführt werden kann.
- Der Resolver fragt den TLD Nameserver an, ob dort die benötigten Daten hinterlegt sind.
- Die zu verifizierenden Informationen werden vom TLD Nameserver an den Resolver weitergeleitet.
Wenn die Informationen übereinstimmen, ist die Domain validiert. - Eigentlich wäre der Prozess hier beendet, jedoch ist hier ein Angriff immer noch möglich und deshalb wird der Root-Nameserver von .ch angefragt.
Der Resolver fragt den TLD Nameserver nach den kryptographischen Keys, um die Informationen zu verifizieren. - Der TLD Nameserver erhält die gewünschten Informationen (Keys und Signaturen).
- Der Resolver fragt den Root-Server für die zu verifizierenden Informationen, die beim TLD Nameserver hinterlegt sind.
- Der Root-Server sendet die zu verifizierenden Informationen zurück und der Resolver verifiziert die Informationen des TLD Nameservers.
- Der Resolver fragt den Root-Server nach den Kryptographischen Keys um die Informationen vom Resolver zu verifizieren.
- Der Root-Server sendet die Keys, damit die Informationen vom TLD Nameserver verifiziert werden können.
Die Kette des Vertrauens
Wie kann man sicherstellen, das der Root-Nameserver sicher ist? Jeder Verifizierende Resolver hat nur einer Entität zu vertrauen und zwar dem Root-Server.
Der Resolver hat bereits die benötigten Schlüssel des Root-Server im Verzeichnis. Das heisst, nach Punkt 12 wird verglichen ob die Informationen des Resolvers und des Root-Server übereinstimmen. Man kann somit der TLD .ch und der Domain vertrauen.
Linux
Linux Befehle
Rechtesystem unter Linux
Typ | User (u) | Group (g) | Other (o) |
Die Vergaben gelten nur als Beispiel. Man kann z. B. für alle Typen die gleichen Rechte vergeben! | read = 4
write = 2 |
read = 4
write = 2 |
ex = 1 |
Standardrechte (Nummerisch)
644 | Wird verwendet bei Dateien |
755 | Wird verwendet bei Verzeichnissen |
007 | Nicht zu empfehlen!!! |
777 | Wird für Debugging verwendet |
Benutzerrechte erstellen
Befehl | Bedeutung |
chmod |
Dateirechte verändern |
chown |
Besitzer wechseln |
chgroup |
Gruppe wechseln |
w |
Schreibberechtigung |
r |
Leseberechtigung |
x |
Ausführungsberechtigung |
+ |
Berechtigung erteilen |
- |
Berechtigung entziehen |
Weitere Linux Befehle
Befehl | Bedeutung |
ls |
Verzeichnis anzeigen |
cd |
Verzeichnis öffnen |
mv |
Datei oder Verzeichnis verschieben oder umbenennen |
cp |
Datei oder Verzeichnis in ein anderes Verzeichnis kopieren |
rm |
Datei löschen |
rmdir |
Verzeichnis löschen |
mkdir |
Verzeichnis erstellen |
grep |
Suche innerhalb einer Datei |
find |
Suche innerhalb eines Verzeichnis |
echo |
Gibt einen nachfolgenden Text aus |
wc |
Wortzähler |
Spezielle Zeichen
Befehl | Bedeutung |
> |
Dieses Zeichen nennt man Pipe und überschreibt eine Ausgabe von z. B. ls in eine Datei |
>> |
Hier wird die Ausgabe in einer Datei angehängt |
<<ENDE |
In Kombination mit grep kann man hier Verschiedene Begriffe auflisten und spezifisch gesucht werden |
* |
Platzhalter für 0.1 bis unendlich Zeichen |
? |
Platzhalter für genau 1 Zeichen |
! |
Ein Ausrufezeichen in Klammern bedeutet, dass alle Zeichen ausser das definierte zulässig sind. (z. B. [!Aa] ) |
[] |
Innerhalbe der Klammern werden Buchstaben, Zeichen und Zahlen definiert, um Bereiche zu definieren. (z. B. [a-z] ) |
| |
|
; |
Das Semikolon wird verwendet, um mehrere Befehle hintereinander zu verketten. (Nachteil: Auch wenn der erste Befehl fehlschlägt, wird der nächste trotzdem ausgeführt) |
&& |
Logisches Und: Wenn z. B. der erste Befehl der Verkettung fehlschlägt, wird der nächste nicht Automatisch ausgeführt |
|
Linux
Im Remote Desktop Manager hat jeder Mitarbeitende eine Root-Berechtigung auf den Linux-Servern.
Linux Befehlaufbau
Befehl: grep [Optionen] Pfad [Datei]
grep -v |
Alle Zeilen heraussuchen, die das angegebene Textmuster nicht enthalten. |
grep -w |
Nur Zeilen heraussuchen, in denen das Suchmuster als ganzes Wort enthalten ist. |
grep -n |
Die Zeilennummern, in denen der Text enthalten ist, ausgeben. |
grep -H |
Den Dateinamen aller Dateien ausgeben, die den angegebenen Text enthalten. |
Mail-Dienste
Mail-Protokolle
SMTP (Simple Message Transfer Protocol) | Postausgangsserver (Das Simple Mail Transfer Protocol ist ein Protokoll der Internetprotokollfamilie, das zum Austausch von E-Mails in Computernetzen dient. Es wird dabei vorrangig zum Einspeisen und zum Weiterleiten von E-Mails verwendet.) |
IMAP (Internet Message Access Protocol) | Posteingangsserver (Mit IMAP-Konten werden Nachrichten auf einem Remoteserver gespeichert. Benutzer können sich über verschiedenen E-Mail-Clients auf Computern oder mobilen Geräten anmelden und die gleiche Nachricht lesen.) |
POP3 (Post Office Protocol) | Posteingangsserver (Mit POP3 (Post Office Protocol) holt ein E-Mail-Programm die E-Mails vollständig vom Server. Die Dateien sind danach nicht mehr am Server, sondern nur noch in Ihrem E-Mail-Programm gespeichert.) |
Unterschied zwischen IMAP und POP3
Abwehr vor Spam
SPF (Sender Policy Framework) |
Der SPF Eintrag soll das Versenden von gefälschten und nicht vertrauenswürdigen Absendern verhindern. Dieses Verfahren dient somit der Spam-Abwehr. Der SPF wird in der DNS-Zone festgelegt. |
DKIM (Domain Key Identified Mail) |
DKIM ist ein Protokoll, das eine Nachricht verifiziert, um vor unerwünschtem Spam und Pishing-Mails zu schützen. Es gibt einen Public und einen Private Key. Der Private Key befindet sich beim Benutzer und sendet Nachrichten Verschlüsselt. Der Public Key befindet sich in der DNS-Zone. |
DMARC (Domain-based Message Authentication, Reporting and Conformance) |
DMARC baut auf dem selben System auf wie SPF und DKIM. Der unterschied besteht darin, das dem DMARC Funktionen zugewiesen werden können, wie bei Situation gehandelt werden soll. z. .B können so Berichte wie LOGS an den Empfänger geschickt werden. |
SPF Verfahren
DKIM Verfahren
DMARC Verfahren
Greylisting
Beim Greylisting handelt es sich um ein Verfahren zur Abwehr vor Spam und weist E-Mails zunächst ab. Nach der Abweisung wird eine Sperre von meistens 90 Sekunden verhängt bevor man eine neue E-Mail schicken kann.
Blacklisting
Beim Blacklisting werden bestimmte Absender und Ausdrücke permanent gesperrt. Es gibt viele Anbieter, die Listen zur Verfügung stellen, in denen Bekannte Absender und Ausdrücke schon erfasst sind.
Man kann aber auch eine eigene Blacklist über verschiedene Mailprogramme erstellen.
Aufbau des DKIM Eintrags
Name | Typ | Inhalt |
[selector]._domainkey.[domain] |
TXT | v=DKIM1; p=76E629F05F709EF665853333EEC3F5ADE69A2362BECE40 |
Der DKIM Eintrag in der DNS Zone definiert den Public Key.
DKIM Header
Beispiel für einen DKIM-Header:
v=1; a=rsa-sha256; d=example.com; s=big-email; h=from:to:subject; bh=uMixy0BsCqhbru4fqPZQdeZY5Pq865sNAnOAxNgUS0s=; b=LiIvJeRyqMo0gngiCygwpiKphJjYezb5kXBKCNj8DqRVcCk7obK6OUg4o+EufEbB tRYQfQhgIkx5m70IqA6dP+DBZUcsJyS9C+vm2xRK7qyHi2hUFpYS5pkeiNVoQk/Wk4w ZG4tu/g+OA49mS7VX+64FXr79MPwOMRRmJ3lNwJU=
Eintrag | Beschreibung |
v=1 |
Version des DKIM |
d=example.com |
Domainname des Absenders |
s=big-email |
Selector des Absenders |
h=from:to:subject |
Auflistung der Header-Felder die zur Erstellung der digitalen Signatur benötigt werden. |
bh=uMixy0BsCqhbru4fqPZQdeZY5Pq865sNAnOAxNgUS0s=; |
Hash des E-Mail Text. Dies ist eine Mathematische Funktion, die für die Berechnung der digitalen Signatur für den Empfangenden Mail-Server |
b=LiIvJeRyqMo0gngiCygwpiKphJjYezb5kXBKCNj8DqRVcCk7obK6OUg4o+EufEbB tRYQfQhgIkx5m70IqA6dP+DBZUcsJyS9C+vm2xRK7qyHi2hUFpYS5pkeiNVoQk/Wk4w ZG4tu/g+OA49mS7VX+64FXr79MPwOMRRmJ3lNwJU= |
Digitale Signatur, die aus h und bh erzeugt und mit dem privaten Schlüssel signiert wurde. |
Nützliche Links:
SSL Zertifikate
Typen
Single - Domains (kostenpflichtig)
Single - Domain DV | Domain-Validation: Hier wird nur die Identität über die Domain Validiert. Geeignet für Private |
Single - Domain OV | Organisations-Validation: Hier wird zusätzlich der Antragsteller und die Organisation geprüft. Geeignet für Organisationen und KMU. |
Single - Domain EV | Extended-Validation: Dies ist noch eine Erweiterung der OV. Hier wird der Antragssteller und die Organisation sehr genau geprüft. Sieht man oft bei Banken oder Regierungen. |
Für Unternehmen die zusätzlich verschiedene Sub-Domains besitzen, können auch sogenannte "Wildcards" kaufen, bei denen auch alle Sub-Domains zertifiziert werden.
Beispiel kostenpflichtiges Zertifikat
Kostenlose SSL-Zertifikate
Bei kostenlosen Zertifikaten (z. B. Let`s Encrypt) wird nur die Domain validiert.
Beispiel kostenloses Zertifikat
Netzwerk
Ports
Die wichtigsten Ports
Port | TCP | UDP | Beschreibung |
20 | + | - | FTP-Datenübertragung |
21 | + | + | FTP-Verbindungsaufbau und Steuerung |
22 | + | + | Secure Shell (SSH) für die verschlüsselte Dateiübertragung und für getunnelte Portweiterleitung (scp und sftp) |
25 | + | - | SMTP (Simple Mail Transfer Protokoll) Übertragung |
587 | + | SMTP E-Mail Message Submission (Webland Standard) (unverschlüsselt) | |
118 | + | + | SQL (Structured Query Language) Dienste |
443 | + | - | HTTPS (Secure Hypertext Transfer Protokoll) SSL |
443 | - | + | Kommt auch in HTTP/3 vor |
993 | + | - | IMAPS über TLS/SSL |
143 | + | + | IMAP (Internet Message Access Protokoll) (unverschlüsselt) |
995 | + | - | POP3 über TLS/SSL |
110 | POP3 (unverschlüsselt) | ||
465 | SMTP (Verschlüsselt) |
Hier sind alle standardisierten Ports aufgelistet: Standard Ports
HTTP-Statuscodes
Die wichtigsten Statuscodes
Code | Nachricht | Bedeutung |
400 | Bad Request | Die Anfrage war fehlerhaft |
401 | Unauthorized | Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden. |
403 | Forbidden | Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt, bspw. weil der authentifizierte Benutzer nicht berechtigt ist oder ein als HTTPS konfigurierter URL nur mit HTTP aufgerufen wurde. |
404 | Not Found | Die Website wurde nicht gefunden. |
500 | Internal Server Error | Dies ist ein „Sammel-Statuscode“ für unerwartete Serverfehler. |
Statusbereich des Codes
Bereich | Bedeutung |
1xx | Informationen |
2xx | Erfolgreiche Operationen |
3xx | Umleitung |
4xx | Client-Fehler |
5xx | Server-Fehler |
9xx | Proprietäre Fehler (Softwarespezifische Fehler) |
Alle HTTP Statuscodes: Statuscodes und Bereiche
Informationsspeicherung
Bits und Bytes
ASCII und Unicode
Datenbanken
Arten von Datenbanken
Einzeltabelledatenbanken |
Dienen zur einfachen Verwaltung von Informationen eines bestimmten Typs (z. B. Anschriften) |
Relationelle Datenbanken | Man kann mehrere Einzeltabellen miteinander verknüpfen um die Daten konsistent zu halten |
Objektorientierte Datenbanken | Grundlage von Klassen und Objekten, die komplexe und Nicht Lineare Beziehungen zulassen |