Linux - Netzwerk und Serveradministration - Skript

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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 123Start$ 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
  • Debian Template

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
  • 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

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

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
  • SSH-Server anpassen

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.100 bis .200 vergeben
  • Als Nameserver kann vorerst ein öffentlicher verwendent werden (z.B. 1.1.1.1 oder 8.8.8.8)
  • Für die Konfigration kann diese Seite befolgt werden

IP reservieren (optional)

  • Falls man eine IP-Adresse über DHCP reservieren will, kann man das über die MAC-Adresse machen
  • Am einfachsten ist es dabei die MAC-Adresse aus /var/lib/dhcp/dhcpd.leases zu markieren und in die /etc/dhcp/dhcpd.conf einzutragen
  • vim /etc/dhcp/dhcpd.conf
...
host dmz_client {
        hardware ethernet ff:ff:ff:ff:ff:ff;
        fixed-address 172.16.xx.50;
        option routers 172.16.xx.1;
}
...
  • systemctl restart isc-dhcp-server
  • Nach einer Zeit sollte sich der jeweilige Host die IP-Adresse ziehen

DHCP Relay

  • 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

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 Konsole
  • statische IP-Adresse nach dem Netzwerkplan setzen (/etc/network/interfaces)
  • Hostname ändern
  • SSH-Server anpassen

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
  • 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

Dynamisches DNS

  • Der DNS-Server soll nun automatisch Updates über neue Clients vom DHCP-Server bekommen
  • Dazu muss der DHCP-Server über nsupdate sich beim DNS-Server authentifizieren
  • Anschließend aktualisiert der DHCP-Server die DNS-Einträge

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

SMB 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

Netzwerkfreigabe

SFTP 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

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, ...)

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

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
  • Die Einträge zu bestimmten Systemkategorien können mit dem Befehl getent abgefragt werden
  • getent passwd # sollte lokale und LDAP-Konten anzeigen

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

Squid Proxy

  • 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

Grundlegendes Firewall-Konzept

  • Dienste sollen erreichbar bleiben
  • ungenutzte Ports sollen blockiert werden
  • etablierte Verbindungen sollen über Connection Tracking freigeschaltet werden