Linux - Netzwerk und Serveradminstration: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 5: | Zeile 5: | ||
*[[Linux - Netzwerk und Serveradminstration Themen]] | *[[Linux - Netzwerk und Serveradminstration Themen]] | ||
*[[Linux Cheatsheet]] | *[[Linux Cheatsheet]] | ||
= Lehrgangsziele = | |||
* Planung, Dokumentation und Aufbau einer IT-Infrastruktur mit Linux Servern | |||
* Kennenlernen von Netzwerkdebugging-Verfahren und -Tools | |||
* Remotemanagement mit SSH | |||
* Automatische Netzwerkkonfiguration mit DHCP | |||
* Konfiguration von Netzwerkdiensten: DNS, LDAP, SMB, NTP, SFTP | |||
* Einrichten einer einfachen Firewall | |||
= Netzwerkpläne = | |||
* Das Schulungsnetzwerk wird also Pseudo-Internet verwendet, d.h. wir behandeln das Netzwerk 192.168.''HS''.0/24 wie ein öffentliches. | |||
* Darin baut jeder sein eigenes LAN-, DMZ-, und Server-Netzwerk auf. | |||
* Am Ende sollen die individuellen Netzwerke miteinander kommunizieren dürfen. | |||
== physisch == | |||
{{#drawio:5102-physisch}} | |||
== logisch == | |||
{{#drawio:5102-logisch}} | |||
= Servervorlage = | |||
* Für VMs als Server empfiehlt es sich eine Vorlage zu erstellen, die schon minimal konfiguriert ist | |||
* Der Nutzer ''root'' soll das Passwort ''radler'' haben | |||
* Ein Benutzer ''kit'' mit dem Passwort ''kit'' soll angelegt werden | |||
* die Vorlage soll '''keine''' graphische Oberfläche haben (Bei der Installation abwählen) | |||
* Ein [[:Kategorie:SSH|SSH]]-Server soll aber für die Remoteverwaltung installiert werden | |||
==Umsetzung== | |||
* [[Debian Template]] | |||
* [[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
= Firewall = | |||
{{#drawio:5102-firewall-01}} | |||
* Die Firewall wird ist zugleich der Router in das Übungsnetzwerk | |||
* Hardwareanpassungen: | |||
** 4 GB RAM | |||
** 4 CPUs | |||
** 4 Netzwerkkarten | |||
* Für den Anfang müssen wir das [[Debian Netzwerkkonfiguration|Netzwerk konfigurieren]] | |||
= Fernzugriff per [[:Kategorie:SSH|SSH]] = | |||
* Jeder Host soll über das [[SSH-Protokoll]] administrierbar sein | |||
* hinterlegen Sie den öffentlichen Schlüssel für die Nutzer ''kit'' und ''root'' auf der Firewall | |||
* Der SSH-Server sollte nach Sicherstellung des Zugriffs über autorisierte SSH-Schlüssel keine Passwort-Authentifizierung mehr zulassen: [[SSH-Server Hardening]] | |||
* Am Ende sollte jeder Host über '''ssh ''user''@''ip.oder.host.name'' ''' erreichbar sein | |||
= Client Konfiguration = | |||
* [[Client Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
= Routing und Masquerading = | |||
{{#drawio:5102-masquerade}} | |||
* Damit die Firewall als Internet-Router fungieren kann, muss die Quell-IP der Pakete umgeschrieben werden | |||
* Dazu müssen Firewall-Regeln unter [[iptables]] oder [[nftables Masquerade|nftables]] erstellt werden | |||
==Firewall Umsetzung== | |||
*[[Firewall-Nat-Linux - Netzwerk und Serveradministration]] | |||
*[[Firewall-NAT-Linux-nftables - Netzwerk und Serveradminsitration]] | |||
*[[Firewall-ssh-key Dozent - Netzwerk und Serveradministration]] | |||
*[[Firewall skript autostart]] | |||
= eigener DNS Server = | |||
{{#drawio:5102-dns}} | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''DMZ''-Netzwerk liegen | |||
* IP-Adresse herausfinden über das DHCP-Log oder die Konsol | |||
* statische IP-Adresse nach dem Netzwerkplan setzen (''/etc/network/interfaces'') | |||
* Hostname ändern zu ''ns'' | |||
* SSH-Server anpassen | |||
* SSH-Schlüssel des Kit Hosts für User ''kit'' hinterlegen | |||
===Daten=== | |||
*NET: DMZ | |||
*IP 10.88.1XX.21/24 | |||
*GW 10.88.1XX.1 | |||
*NS 192.168.6.88 Vorläufig | |||
*NA ns.it1XX.int | |||
*Zu installieren apt install bind9 - Es könnte nun auch named | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration DNS]] | |||
== interne Namensauflösung == | |||
* Durch das [[DNS|Domain Name System]] können wir Namen an IP-Adressen zuweisen und diese auflösen | |||
* Diese sollten einfacher zu merken sein, als IPv4- oder IPv6-Adressen | |||
* Jedes Labor soll eine eigene Domäne mit dem Schema '''netz''xx''.lab''' verwalten | |||
* Erstellen Sie hierzu auch die jeweilige Reverse-Lookup-Zone '''0.''xx''.10.in-addr.arpa''' | |||
* Der DHCP-Server muss auch angepasst werden, damit Clients den internen DNS-Server bekommen | |||
* Für die Kommunikation zwischen den DNS-Servern müssen entweder die entsprechenden [[ip route|Routen]] gesetzt werden oder über [[DNAT|Firewall-Regeln]] Portforwarding aktiviert werden | |||
==DNS Umsetzung== | |||
*[[DNS Linux - Netzwerk und Serveradministration - Skript]] | |||
==DNS Aufgabe Reverse Lookup Zone LAN & SERVERS== | |||
*[[DNS Linux - Netzwerk und Serveradministration - Reverse Aufgabe]] | |||
=Pseudo Top-Level-Domain= | |||
{{#drawio:Pseudo Top-Level-Domain}} | |||
= Pseudo-Top-Level Domäne = | |||
* Um die Domänen der anderen Labore aufzulösen ist ein Forwarder nötig | |||
* Dieser zeigt auf den entsprechenden DNS-Server der Domäne, sodass die Zonen nur einmal definiert werden müssen | |||
= [[:Kategorie:DHCP|DHCP]] - Automatische Netzwerkkonfiguration = | |||
{{#drawio:5102-01}} | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''LAN''-Netzwerk liegen | |||
* statische IP-Adresse nach dem Netzwerkplan setzen (''/etc/network/interfaces'') | |||
* Hostname ändern zu ''dhcp'' | |||
* SSH-Zugriff kann durch Benutzung der Firewall als Jump-Host ermöglicht werden | |||
===Daten=== | |||
*NET: LAN | |||
*IP 172.16.1XX.2/24 | |||
*GW 172.16.1XX.1 | |||
*NS 10.88.1XX.21 | |||
*NA dhcp.it1XX.int | |||
*Zu installieren apt install isc-dhcp-server | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
== automatische Netzwerkkonfiguration == | |||
* Damit wir nicht das Netzwerk bei jedem Rechner manuell konfigurieren müssen setzen wir einen [[DHCP Grundlagen|DHCP]] Server auf. | |||
* Dieser beantwortet Anfragen von Clients in seiner Broadcast-Domäne. | |||
* Der DHCP-Server soll IP-Adressen im Bereich 172.16.''xx''.50 bis .100 vergeben | |||
* Als Nameserver nehmen wir unseren eigenen 10.88.1XX.2 | |||
* Und wir nehmen die eigene Search Domain it1XX.int | |||
* Für die Konfigration kann [[ISC DHCP|diese Seite]] befolgt werden | |||
* Beobachten Sie den Verkehr mit [[Wireshark]] oder [[tcpdump]] auf UDP Port 67 mit und fahren Sie ''kali'' hoch | |||
==ISC DHCP Umsetzung== | |||
*[[ISC DHCP]] | |||
*[[KEA DHCP - Netzwerk und Servreadministration]] | |||
= Wichtiger Hinweis zu ISC DHCP = | |||
* '''ISC DHCP ist End-of-Life (EOL) seit Ende 2022''' | |||
* Kea DHCP bietet selbst keinen Relay-Agent | |||
* '''Empfohlene moderne Alternative: dnsmasq als DHCP-Relay''' | |||
* dnsmasq unterstützt sowohl DHCPv4 als auch DHCPv6 Relay | |||
==Client== | |||
*Erstellt einen Client aus der Vorlage | |||
*Hängt ins LAN Netz | |||
*Gebt ihm den Namen client.it1XX.int | |||
*hostnamectl set-hostname client.it1XX.int | |||
*In der /etc/hosts den Namen von debian-template in client ändern | |||
*Und rebootet ihn noch mal | |||
= DHCP-Relay-Server = | |||
{{#drawio:5102-dhcp-relay-01}} | |||
* Der DHCP-Server beantwortet nur Anfragen innerhalb seiner Broadcast-Domäne | |||
* Damit die DHCP-Konfiguration zentral gehalten werden kann, können andere DHCP-Server als Relay für einen Master-DHCP-Server dienen | |||
* In unserem Fall soll die Firewall die DHCP-Konfiguration an die DMZ- und Server-Netze weitergeben | |||
* Von nun an können neue Server in diesen Netzwerken automatisch über die DHCP-IP erreicht werden | |||
=DHCP-Relay-Server Umsetzung= | |||
*[[DHCP-Relay-Server]] | |||
*[[KEA DHCP-Relay-Server - Netzwerk und Serveradministration]] | |||
= [[Samba|SMB]] Server = | |||
{{#drawio:5102-smb-01}} | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''Server''-Netzwerk liegen | |||
* statische IP-Adresse nach dem Netzwerkplan setzen (''/etc/network/interfaces'') | |||
* Hostname ändern zu ''smb'' | |||
* SSH-Zugriff kann durch Benutzung der Firewall als Jump-Host ermöglicht werden | |||
===Daten=== | |||
*NET: Server | |||
*IP 10.1XX.1.2/24 | |||
*GW 10.1XX.1.1 | |||
*NS 10.88.1XX.21 | |||
*NA smb.it1XX.int | |||
*Zu installieren apt install samba smbclient | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
== Netzwerkfreigaben einrichten == | |||
* Legen Sie eine Sicherheitskopie der Originalkonfigurationsdatei an | |||
* '''cp -v ''/etc/samba/smb.conf''{,.orig}''' | |||
* Diese ist wohl kommentiert und kann als Hilfe/Dokumentation dienen | |||
* Erstellen Sie folgende Arten von Shares: | |||
** [[Samba Public Share|öffentlich]] unter ''/srv/samba/pub'' namens '''public''' | |||
** Ein Share namens '''share''' zugreifbar für ''kit'' unter ''/srv/samba/kit'': [[smb.conf.minimal]] | |||
** die Heimatverzeichnisse der regulären Nutzer des SMB-Servers sollen zugreifbar sein nach einer Authentifizierung: [[smb.conf.home]] | |||
** Ein Share namens '''admins''' zugreifbar für die Benutzer in der Gruppe ''sudo'' unter: ''/srv/samba/admin'' | |||
* Testen Sie den Zugriff auf die Shares mit einem Client aus dem LAN: | |||
* '''apt install nemo''' | |||
* Das Programm kann über SSH Forwarding auf dem KIT Host geöffnet werden | |||
* '''ssh -Y ''ip.oder.hostname.client'' "dbus-run-session nemo"''' | |||
* Schneiden Sie den Austausch mit Wireshark auf TCP Port 445 mit | |||
= SFTP Server = | |||
{{#drawio:5102-sftp-01}} | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''DMZ''-Netzwerk liegen | |||
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole | |||
* statische IP-Adresse nach dem Netzwerkplan setzen | |||
* Hostname ändern | |||
* DNS-Eintrag vornehmen | |||
* SSH-Server anpassen | |||
===Daten=== | |||
*NET: DMZ | |||
*IP 10.88.1XX.3/24 | |||
*GW 10.88.1XX.1 | |||
*NS 10.88.1XX.2 | |||
*NA sftp.it1XX.int | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
== sichere Datenübertragung == | |||
* SFTP benutzt das SSH-Protokoll, um die Daten zu verschlüsseln | |||
* Daher muss nur die [[SFTP-Server|Konfiguration des SSH-Servers]] angepasst werden | |||
* andere FTP-Arten sollten nicht mehr benutzt werden (FTP, TFTP, ...) | |||
* Ein SFTP-Zugang für einen Gast-User soll unter ''/srv/sftp/gast'' angelegt werden | |||
*[[ssh jump-host]] | |||
==SFTP Umsetzung== | |||
*[[SFTP-Server|Konfiguration des SSH-Servers]] | |||
= [[:Kategorie:LDAP|LDAP]] Server = | |||
{{#drawio:5102-ldap-01}} | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''Server''-Netzwerk liegen | |||
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole | |||
* statische IP-Adresse nach dem Netzwerkplan setzen | |||
* Hostname ändern | |||
* DNS-Eintrag vornehmen | |||
* SSH-Server anpassen | |||
===Daten=== | |||
*NET: Server | |||
*IP 10.1XX.1.3/24 | |||
*GW 10.1XX.1.1 | |||
*NS 10.88.1XX.21 | |||
*NA ldap.it1XX.int | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
== zentrale Benutzerverwaltung == | |||
* Benutzer sollen sich überall mit ihren eigenen Konto anmelden können ohne, dass dieses Konto jedes mal neu angelegt werden muss | |||
* Linux kann für die Benutzerauthentifizierung verschiedene Quellen verwenden | |||
* Neben der lokalen Datei ''/etc/passwd'' soll zusätzlich eine [[:Kategorie:LDAP|LDAP]]-Datenbank für zusätzliche Benutzerkonten befragt werden | |||
*Konfiguration [[Openldap-linux-pam-nss]] | |||
* Die Einträge zu bestimmten Systemkategorien können mit dem Befehl '''getent''' abgefragt werden | |||
* '''getent passwd''' ''# sollte lokale und LDAP-Konten anzeigen'' | |||
*LDAP Server Verwaltung über [[ldapscripts]] | |||
* Der LDAP-Server der Domäne soll automatisch über [[LDAP SRV Record|SRV-Einträge]] auf dem DNS Server gefunden werden können | |||
* Alle Hosts aus dem VirtualBox-Labor sollen an den LDAP-Server gebunden werden | |||
*[[LDAP Client SSSD - Netzwerk und Serveradministration]] | |||
= [[Squid_from_the_scratch|Squid]] = | |||
{{#drawio:5102-squid-01}} | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''DMZ''-Netzwerk liegen | |||
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole | |||
* statische IP-Adresse nach dem Netzwerkplan setzen | |||
* Hostname ändern | |||
* DNS-Eintrag vornehmen | |||
* SSH-Server anpassen | |||
===Daten=== | |||
*NET: DMZ | |||
*IP 10.88.1XX.5/24 | |||
*GW 10.88.1XX.1 | |||
*NS 10.88.1XX.21 | |||
*NA squid.it1XX.int | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
==Squid Konfiguration Hilfestellung== | |||
*[[Squid_ACL_Basic]] | |||
==Squid== | |||
* Um Bandbreite zu sparen kann ein Caching Proxy wie Squid benutzt werden, um die Antworten von Webanfrangen zu speichern | |||
* Zusätzlich können durch ACLs Webzugriffe kontrollieren | |||
* Der Proxy soll auf der Firewall laufen, da dort die nötigen Hardwareressourcen sind | |||
*[[Squid Aufgabe]] | |||
*[[Squid Aufgabe2]] | |||
==Proxy PAC über DHCP== | |||
*[[KEA Proxy PAC - Netzkwerk und Serveradministration]] | |||
= [[:Kategorie:NTP|NTP]] Server = | |||
{{#drawio:5102-ntp-01}} | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''DMZ''-Netzwerk liegen | |||
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole | |||
* statische IP-Adresse nach dem Netzwerkplan setzen | |||
* Hostname ändern | |||
* DNS-Eintrag vornehmen | |||
* SSH-Server anpassen | |||
===Daten=== | |||
*NET: DMZ | |||
*IP 10.88.1XX.4/24 | |||
*GW 10.88.1XX.1 | |||
*NS 10.88.1XX.21 | |||
*NA ntp.it1XX.int | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
installieren ntp | |||
*sudo apt install ntpsec | |||
===NTP mit DHCP verteilen=== | |||
*[[KEA DHCP NTP-Konfiguration - Netzwerk und Serveradministration]] | |||
=NGINX= | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''DMZ''-Netzwerk liegen | |||
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole | |||
* statische IP-Adresse nach dem Netzwerkplan setzen | |||
* Hostname ändern | |||
* DNS-Eintrag vornehmen | |||
* SSH-Server anpassen | |||
===Daten=== | |||
*NET: DMZ | |||
*IP 10.88.1XX.10/24 | |||
*GW 10.88.1XX.1 | |||
*NS 10.88.1XX.21 | |||
*NA www.it1XX.int | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
* sudo apt install nginx | |||
==Webserver== | |||
*[[Nginx]] | |||
*[[Nginx https]] | |||
*[[phpldapadmin nginx]] | |||
=Exkrus HA Proxy= | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''DMZ''-Netzwerk liegen | |||
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole | |||
* statische IP-Adresse nach dem Netzwerkplan setzen | |||
* Hostname ändern | |||
* DNS-Eintrag vornehmen | |||
* SSH-Server anpassen | |||
===Daten HAProxy=== | |||
*NET: DMZ | |||
*IP 10.88.1XX.25/24 | |||
*GW 10.88.1XX.1 | |||
*NS 10.88.1XX.2 | |||
*NA www.it1XX.int | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
* sudo apt install haproxy | |||
===Daten Webserver=== | |||
*NET: DMZ | |||
*IP 10.88.1XX.15/24 | |||
*GW 10.88.1XX.1 | |||
*NS 10.88.1XX.2 | |||
*NA web2.it1XX.int | |||
==Webserver== | |||
*[[HAProxy]] | |||
*[[HAProxy Umsetzung Linux - Netzwerk Serveradministration]] | |||
=Exkrus checkmk= | |||
== Vorbereitungen == | |||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | |||
* Der Host soll im ''Servers''-Netzwerk liegen | |||
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole | |||
* statische IP-Adresse nach dem Netzwerkplan setzen | |||
* Hostname ändern | |||
* DNS-Eintrag vornehmen | |||
* SSH-Server anpassen | |||
===Daten checkmk=== | |||
*NET: Servers | |||
*IP 10.1XX.1.25/24 | |||
*GW 10.1XX.1.1 | |||
*NS 10.88.1XX.21 | |||
*NA checkmk.it1XX.int | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]] | |||
=== Docker === | |||
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration Docker]] | |||
= Grundlegendes Firewall-Konzept = | |||
* Dienste sollen erreichbar bleiben | |||
* ungenutzte Ports sollen blockiert werden | |||
* etablierte Verbindungen sollen über [[Connection Tracking]] freigeschaltet werden | |||
=Linux - Netzwerk und Serveradministration= | |||
*[[Linux - Netzwerk und Serveradministration Probleme]] | |||
=Weiteres= | =Weiteres= | ||
*[[Linux - Netzwerk und Serveradminstration Misc]] | *[[Linux - Netzwerk und Serveradminstration Misc]] | ||
Version vom 27. März 2026, 13:14 Uhr
Überblick
- Thomas Will
- Zeiten
- Linux - Netzwerk und Serveradministration - Skript
- Linux - Netzwerk und Serveradminstration Themen
- Linux Cheatsheet
Lehrgangsziele
- Planung, Dokumentation und Aufbau einer IT-Infrastruktur mit Linux Servern
- Kennenlernen von Netzwerkdebugging-Verfahren und -Tools
- Remotemanagement mit SSH
- Automatische Netzwerkkonfiguration mit DHCP
- Konfiguration von Netzwerkdiensten: DNS, LDAP, SMB, NTP, SFTP
- Einrichten einer einfachen Firewall
Netzwerkpläne
- Das Schulungsnetzwerk wird also Pseudo-Internet verwendet, d.h. wir behandeln das Netzwerk 192.168.HS.0/24 wie ein öffentliches.
- Darin baut jeder sein eigenes LAN-, DMZ-, und Server-Netzwerk auf.
- Am Ende sollen die individuellen Netzwerke miteinander kommunizieren dürfen.
physisch
logisch
Servervorlage
- Für VMs als Server empfiehlt es sich eine Vorlage zu erstellen, die schon minimal konfiguriert ist
- Der Nutzer root soll das Passwort radler haben
- Ein Benutzer kit mit dem Passwort kit soll angelegt werden
- die Vorlage soll keine graphische Oberfläche haben (Bei der Installation abwählen)
- Ein SSH-Server soll aber für die Remoteverwaltung installiert werden
Umsetzung
Firewall
- Die Firewall wird ist zugleich der Router in das Übungsnetzwerk
- Hardwareanpassungen:
- 4 GB RAM
- 4 CPUs
- 4 Netzwerkkarten
- Für den Anfang müssen wir das Netzwerk konfigurieren
Fernzugriff per SSH
- Jeder Host soll über das SSH-Protokoll administrierbar sein
- hinterlegen Sie den öffentlichen Schlüssel für die Nutzer kit und root auf der Firewall
- Der SSH-Server sollte nach Sicherstellung des Zugriffs über autorisierte SSH-Schlüssel keine Passwort-Authentifizierung mehr zulassen: SSH-Server Hardening
- Am Ende sollte jeder Host über ssh user@ip.oder.host.name erreichbar sein
Client Konfiguration
Routing und Masquerading
- Damit die Firewall als Internet-Router fungieren kann, muss die Quell-IP der Pakete umgeschrieben werden
- Dazu müssen Firewall-Regeln unter iptables oder nftables erstellt werden
Firewall Umsetzung
- Firewall-Nat-Linux - Netzwerk und Serveradministration
- Firewall-NAT-Linux-nftables - Netzwerk und Serveradminsitration
- Firewall-ssh-key Dozent - Netzwerk und Serveradministration
- Firewall skript autostart
eigener DNS Server
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im DMZ-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsol
- statische IP-Adresse nach dem Netzwerkplan setzen (/etc/network/interfaces)
- Hostname ändern zu ns
- SSH-Server anpassen
- SSH-Schlüssel des Kit Hosts für User kit hinterlegen
Daten
- NET: DMZ
- IP 10.88.1XX.21/24
- GW 10.88.1XX.1
- NS 192.168.6.88 Vorläufig
- NA ns.it1XX.int
- Zu installieren apt install bind9 - Es könnte nun auch named
- Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration DNS
interne Namensauflösung
- Durch das Domain Name System können wir Namen an IP-Adressen zuweisen und diese auflösen
- Diese sollten einfacher zu merken sein, als IPv4- oder IPv6-Adressen
- Jedes Labor soll eine eigene Domäne mit dem Schema netzxx.lab verwalten
- Erstellen Sie hierzu auch die jeweilige Reverse-Lookup-Zone 0.xx.10.in-addr.arpa
- Der DHCP-Server muss auch angepasst werden, damit Clients den internen DNS-Server bekommen
- Für die Kommunikation zwischen den DNS-Servern müssen entweder die entsprechenden Routen gesetzt werden oder über Firewall-Regeln Portforwarding aktiviert werden
DNS Umsetzung
DNS Aufgabe Reverse Lookup Zone LAN & SERVERS
Pseudo Top-Level-Domain
Pseudo-Top-Level Domäne
- Um die Domänen der anderen Labore aufzulösen ist ein Forwarder nötig
- Dieser zeigt auf den entsprechenden DNS-Server der Domäne, sodass die Zonen nur einmal definiert werden müssen
DHCP - Automatische Netzwerkkonfiguration
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im LAN-Netzwerk liegen
- statische IP-Adresse nach dem Netzwerkplan setzen (/etc/network/interfaces)
- Hostname ändern zu dhcp
- SSH-Zugriff kann durch Benutzung der Firewall als Jump-Host ermöglicht werden
Daten
- NET: LAN
- IP 172.16.1XX.2/24
- GW 172.16.1XX.1
- NS 10.88.1XX.21
- NA dhcp.it1XX.int
- Zu installieren apt install isc-dhcp-server
- Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration
automatische Netzwerkkonfiguration
- Damit wir nicht das Netzwerk bei jedem Rechner manuell konfigurieren müssen setzen wir einen DHCP Server auf.
- Dieser beantwortet Anfragen von Clients in seiner Broadcast-Domäne.
- Der DHCP-Server soll IP-Adressen im Bereich 172.16.xx.50 bis .100 vergeben
- Als Nameserver nehmen wir unseren eigenen 10.88.1XX.2
- Und wir nehmen die eigene Search Domain it1XX.int
- Für die Konfigration kann diese Seite befolgt werden
- Beobachten Sie den Verkehr mit Wireshark oder tcpdump auf UDP Port 67 mit und fahren Sie kali hoch
ISC DHCP Umsetzung
Wichtiger Hinweis zu ISC DHCP
- ISC DHCP ist End-of-Life (EOL) seit Ende 2022
- Kea DHCP bietet selbst keinen Relay-Agent
- Empfohlene moderne Alternative: dnsmasq als DHCP-Relay
- dnsmasq unterstützt sowohl DHCPv4 als auch DHCPv6 Relay
Client
- Erstellt einen Client aus der Vorlage
- Hängt ins LAN Netz
- Gebt ihm den Namen client.it1XX.int
- hostnamectl set-hostname client.it1XX.int
- In der /etc/hosts den Namen von debian-template in client ändern
- Und rebootet ihn noch mal
DHCP-Relay-Server
- Der DHCP-Server beantwortet nur Anfragen innerhalb seiner Broadcast-Domäne
- Damit die DHCP-Konfiguration zentral gehalten werden kann, können andere DHCP-Server als Relay für einen Master-DHCP-Server dienen
- In unserem Fall soll die Firewall die DHCP-Konfiguration an die DMZ- und Server-Netze weitergeben
- Von nun an können neue Server in diesen Netzwerken automatisch über die DHCP-IP erreicht werden
DHCP-Relay-Server Umsetzung
SMB Server
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im Server-Netzwerk liegen
- statische IP-Adresse nach dem Netzwerkplan setzen (/etc/network/interfaces)
- Hostname ändern zu smb
- SSH-Zugriff kann durch Benutzung der Firewall als Jump-Host ermöglicht werden
Daten
- NET: Server
- IP 10.1XX.1.2/24
- GW 10.1XX.1.1
- NS 10.88.1XX.21
- NA smb.it1XX.int
- Zu installieren apt install samba smbclient
- Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration
Netzwerkfreigaben einrichten
- Legen Sie eine Sicherheitskopie der Originalkonfigurationsdatei an
- cp -v /etc/samba/smb.conf{,.orig}
- Diese ist wohl kommentiert und kann als Hilfe/Dokumentation dienen
- Erstellen Sie folgende Arten von Shares:
- öffentlich unter /srv/samba/pub namens public
- Ein Share namens share zugreifbar für kit unter /srv/samba/kit: smb.conf.minimal
- die Heimatverzeichnisse der regulären Nutzer des SMB-Servers sollen zugreifbar sein nach einer Authentifizierung: smb.conf.home
- Ein Share namens admins zugreifbar für die Benutzer in der Gruppe sudo unter: /srv/samba/admin
- Testen Sie den Zugriff auf die Shares mit einem Client aus dem LAN:
- apt install nemo
- Das Programm kann über SSH Forwarding auf dem KIT Host geöffnet werden
- ssh -Y ip.oder.hostname.client "dbus-run-session nemo"
- Schneiden Sie den Austausch mit Wireshark auf TCP Port 445 mit
SFTP Server
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im DMZ-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsole
- statische IP-Adresse nach dem Netzwerkplan setzen
- Hostname ändern
- DNS-Eintrag vornehmen
- SSH-Server anpassen
Daten
- NET: DMZ
- IP 10.88.1XX.3/24
- GW 10.88.1XX.1
- NS 10.88.1XX.2
- NA sftp.it1XX.int
sichere Datenübertragung
- SFTP benutzt das SSH-Protokoll, um die Daten zu verschlüsseln
- Daher muss nur die Konfiguration des SSH-Servers angepasst werden
- andere FTP-Arten sollten nicht mehr benutzt werden (FTP, TFTP, ...)
- Ein SFTP-Zugang für einen Gast-User soll unter /srv/sftp/gast angelegt werden
- ssh jump-host
SFTP Umsetzung
LDAP Server
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im Server-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsole
- statische IP-Adresse nach dem Netzwerkplan setzen
- Hostname ändern
- DNS-Eintrag vornehmen
- SSH-Server anpassen
Daten
- NET: Server
- IP 10.1XX.1.3/24
- GW 10.1XX.1.1
- NS 10.88.1XX.21
- NA ldap.it1XX.int
zentrale Benutzerverwaltung
- Benutzer sollen sich überall mit ihren eigenen Konto anmelden können ohne, dass dieses Konto jedes mal neu angelegt werden muss
- Linux kann für die Benutzerauthentifizierung verschiedene Quellen verwenden
- Neben der lokalen Datei /etc/passwd soll zusätzlich eine LDAP-Datenbank für zusätzliche Benutzerkonten befragt werden
- Konfiguration Openldap-linux-pam-nss
- Die Einträge zu bestimmten Systemkategorien können mit dem Befehl getent abgefragt werden
- getent passwd # sollte lokale und LDAP-Konten anzeigen
- LDAP Server Verwaltung über ldapscripts
- Der LDAP-Server der Domäne soll automatisch über SRV-Einträge auf dem DNS Server gefunden werden können
- Alle Hosts aus dem VirtualBox-Labor sollen an den LDAP-Server gebunden werden
- LDAP Client SSSD - Netzwerk und Serveradministration
Squid
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im DMZ-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsole
- statische IP-Adresse nach dem Netzwerkplan setzen
- Hostname ändern
- DNS-Eintrag vornehmen
- SSH-Server anpassen
Daten
- NET: DMZ
- IP 10.88.1XX.5/24
- GW 10.88.1XX.1
- NS 10.88.1XX.21
- NA squid.it1XX.int
Squid Konfiguration Hilfestellung
Squid
- Um Bandbreite zu sparen kann ein Caching Proxy wie Squid benutzt werden, um die Antworten von Webanfrangen zu speichern
- Zusätzlich können durch ACLs Webzugriffe kontrollieren
- Der Proxy soll auf der Firewall laufen, da dort die nötigen Hardwareressourcen sind
- Squid Aufgabe
- Squid Aufgabe2
Proxy PAC über DHCP
NTP Server
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im DMZ-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsole
- statische IP-Adresse nach dem Netzwerkplan setzen
- Hostname ändern
- DNS-Eintrag vornehmen
- SSH-Server anpassen
Daten
- NET: DMZ
- IP 10.88.1XX.4/24
- GW 10.88.1XX.1
- NS 10.88.1XX.21
- NA ntp.it1XX.int
installieren ntp
- sudo apt install ntpsec
NTP mit DHCP verteilen
NGINX
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im DMZ-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsole
- statische IP-Adresse nach dem Netzwerkplan setzen
- Hostname ändern
- DNS-Eintrag vornehmen
- SSH-Server anpassen
Daten
- NET: DMZ
- IP 10.88.1XX.10/24
- GW 10.88.1XX.1
- NS 10.88.1XX.21
- NA www.it1XX.int
- sudo apt install nginx
Webserver
Exkrus HA Proxy
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im DMZ-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsole
- statische IP-Adresse nach dem Netzwerkplan setzen
- Hostname ändern
- DNS-Eintrag vornehmen
- SSH-Server anpassen
Daten HAProxy
- NET: DMZ
- IP 10.88.1XX.25/24
- GW 10.88.1XX.1
- NS 10.88.1XX.2
- NA www.it1XX.int
- sudo apt install haproxy
Daten Webserver
- NET: DMZ
- IP 10.88.1XX.15/24
- GW 10.88.1XX.1
- NS 10.88.1XX.2
- NA web2.it1XX.int
Webserver
Exkrus checkmk
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im Servers-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsole
- statische IP-Adresse nach dem Netzwerkplan setzen
- Hostname ändern
- DNS-Eintrag vornehmen
- SSH-Server anpassen
Daten checkmk
- NET: Servers
- IP 10.1XX.1.25/24
- GW 10.1XX.1.1
- NS 10.88.1XX.21
- NA checkmk.it1XX.int
Docker
Grundlegendes Firewall-Konzept
- Dienste sollen erreichbar bleiben
- ungenutzte Ports sollen blockiert werden
- etablierte Verbindungen sollen über Connection Tracking freigeschaltet werden
Linux - Netzwerk und Serveradministration












