Linux - Netzwerk und Serveradminstration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
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

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

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

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

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

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


Weiteres