Linux Server

KAPITEL 10 · ENTERPRISE IT

Linux Server

Das Rückgrat des Internets und moderner Enterprise-Infrastruktur. Von Distributionen wie Ubuntu, RHEL und Debian über Paketmanagement, Dienste und Sicherheit bis zu Virtualisierung und Containern.

Distributionen Kommandozeile Paketmanagement Sicherheit Container

Inhaltsverzeichnis

Schnellübersicht

Auf dieser Seite lernst du alles über Linux Server im Enterprise-Einsatz:

  • Was ist Linux? Definition und Geschichte
  • Warum Linux? Vorteile gegenüber Windows Server
  • Distributionen: Ubuntu, RHEL, Debian, SUSE, Rocky, Alma
  • Installation: Setup und erste Schritte
  • Wichtige Dienste: SSH, Web, Mail, DB, DNS, DHCP
  • Paketmanagement: apt, dnf, zypper im Vergleich
  • Systemd & Services: Dienste verwalten
  • Sicherheit: Firewall, SELinux, SSH-Hardening
  • Monitoring: htop, iotop, journalctl
  • Virtualisierung & Container: KVM, Docker, Podman
  • Linux vs. Windows Server: Vergleich
  • Best Practices: Sicherheit, Backup, Updates

1. Was ist Linux?

Definition

Linux ist ein freies, Open-Source-Unix-ähnliches Betriebssystem, das 1991 von Linus Torvalds entwickelt wurde. Der Linux-Kernel bildet das Herzstück – zusammen mit GNU-Tools und weiterer Software entsteht eine vollständige Distribution.

Linux läuft auf über 96% aller Server, 100% der Top-500-Supercomputer, den meisten Cloud-Infrastrukturen und ist die Basis von Android. Es ist das dominierende Betriebssystem im Enterprise-Umfeld und im Internet.

Wichtige Eigenschaften: Open Source, kostenlos (meist), extrem stabil, sicher, skalierbar, anpassbar und von einer riesigen Community unterstützt.

Warum Linux im Enterprise-Einsatz?

Die wichtigsten Vorteile von Linux Servern:

Keine Lizenzkosten

Die meisten Distributionen sind kostenlos. Selbst Enterprise-Versionen wie RHEL sind günstiger als Windows Server.

Höhere Sicherheit

Weniger Malware, strenge Rechteverwaltung, SELinux/AppArmor, regelmäßige Security-Updates.

Extreme Stabilität

Uptimes von Jahren möglich. Kernel-Patches ohne Neustart (Live Patching). Weniger Abstürze.

Bessere Performance

Weniger Overhead als Windows. Ideal für Container, Virtualisierung und hochperformante Workloads.

Maximale Flexibilität

Keine GUI nötig (Server Core). Alles per CLI automatisierbar. Custom Kernels möglich.

Große Community

Riesige Wissensbasis, Foren, Tutorials. Fast jedes Problem wurde schon gelöst.

Linux-Marktanteile (Server)

  • Web-Server: ~96% (Apache, Nginx laufen fast ausschließlich auf Linux)
  • Cloud-Infrastruktur: ~90% (AWS, Azure, GCP basieren auf Linux)
  • Supercomputer: 100% der Top 500
  • Container: ~95% (Docker, Kubernetes laufen auf Linux)
  • Enterprise IT: ~35-40% (wachsend, besonders in Hybrid-Umgebungen)

2. Linux-Distributionen im Überblick

Eine Distribution (kurz "Distro") ist eine vollständige Betriebssystem-Variante, die den Linux-Kernel mit Software, Paketmanagement und Tools kombiniert. Hier die wichtigsten für Server:

Ubuntu Server

Von Canonical · LTS alle 2 Jahre

Die beliebteste Linux-Distribution für Server. Einfach zu installieren, große Community, 5 Jahre LTS-Support.

  • LTS: 5 Jahre Support (Extended: 10 Jahre)
  • APT Paketmanager
  • Systemd
  • Ideal für Einsteiger & Cloud
  • Große Software-Auswahl
Technische Details
Basis: Debian
Aktuelle LTS: 24.04 LTS
Support bis: 2029 (2034 ESM)

RHEL

Red Hat Enterprise Linux · Kommerziell

Der Enterprise-Standard. Kommerzieller Support, Zertifizierungen, 10 Jahre Support. Basis für viele andere Distros.

  • 10 Jahre Support pro Version
  • Kommerzieller Support (Red Hat)
  • SELinux standardmäßig aktiv
  • Zertifiziert für SAP, Oracle, etc.
  • DNF Paketmanager
Technische Details
Basis: Fedora (upstream)
Aktuelle Version: RHEL 9.x
Kosten: ab ~350 €/Jahr

Debian

Die Universelle · Community-getrieben

Extrem stabil, komplett kostenlos, Basis für Ubuntu und viele andere. Ideal für Server, die Stabilität über Aktualität stellen.

  • 100% Free & Open Source
  • Extrem stabil (konservative Pakete)
  • APT Paketmanager
  • Große Paketquellen (50.000+)
  • Ideal für Production Server
Technische Details
Basis: Eigenständig
Aktuelle Version: Debian 12 (Bookworm)
Support: ~5 Jahre

SUSE / openSUSE

Enterprise & Community

Stark im SAP-Umfeld und in Europa. SUSE Linux Enterprise (SLE) ist kommerziell, openSUSE die freie Variante.

  • YaST Admin-Tool (einzigartig)
  • Zypper Paketmanager
  • Btrfs als Standard-Dateisystem
  • Stark im SAP-Umfeld
  • openSUSE Leap (stable) & Tumbleweed (rolling)
Technische Details
Basis: Eigenständig
SLE Version: SLES 15 SP6
openSUSE: Leap 15.6

Rocky Linux

RHEL-kompatibel · Community · Von CentOS-Gründer

Der Nachfolger von CentOS. 100% RHEL-kompatibel, kostenlos, von Gregory Kurtzer (CentOS-Gründer) initiiert.

  • 100% RHEL-binärkompatibel
  • Komplett kostenlos
  • 10 Jahre Support
  • Ideal als CentOS-Ersatz
  • Von der Community getragen
Technische Details
Basis: RHEL (Quellcode)
Aktuelle Version: Rocky 9.x
Kosten: Kostenlos

AlmaLinux

RHEL-kompatibel · Von CloudLinux

Alternative zu Rocky Linux. Auch RHEL-kompatibel, von CloudLinux gesponsert, stark im Webhosting-Umfeld.

  • 100% RHEL-binärkompatibel
  • Komplett kostenlos
  • 10 Jahre Support
  • Von CloudLinux unterstützt
  • Schnellere Updates als Rocky
Technische Details
Basis: RHEL (Quellcode)
Aktuelle Version: AlmaLinux 9.x
Kosten: Kostenlos

Welche Distribution für wen?

  • Einsteiger & Cloud: Ubuntu Server (einfach, viele Tutorials)
  • Enterprise & SAP: RHEL oder SUSE (kommerzieller Support, Zertifizierungen)
  • Stabilität & Server: Debian (extrem stabil, keine Überraschungen)
  • CentOS-Ersatz: Rocky Linux oder AlmaLinux (RHEL-kompatibel, kostenlos)
  • Webhosting: AlmaLinux oder CloudLinux

3. Installation & Erste Schritte

Die Installation eines Linux Servers ist meist einfacher als bei Windows. Hier die grundlegenden Schritte:

Installationsprozess

  1. ISO herunterladen: z.B. Ubuntu Server 24.04 LTS von ubuntu.com
  2. Boot-Medium erstellen: USB-Stick mit Rufus, Etcher oder dd
  3. Vom USB booten: BIOS/UEFI → Boot-Reihenfolge ändern
  4. Installation starten: Sprache, Tastatur, Netzwerk konfigurieren
  5. Festplatte partitionieren: Automatisch oder manuell (LVM empfohlen)
  6. Benutzer anlegen: Root-Passwort + normaler User mit sudo
  7. Software auswählen: SSH Server, Docker, Web-Server, etc.
  8. GRUB installieren: Bootloader auf Festplatte schreiben
  9. Reboot & Login: Erster Login per SSH oder lokal

Erste Schritte nach der Installation

BASH # System aktualisieren $ sudo apt update && sudo apt upgrade -y # Firewall aktivieren (UFW bei Ubuntu) $ sudo ufw allow OpenSSH $ sudo ufw enable # SSH-Status prüfen $ sudo systemctl status ssh # Zeitzone einstellen $ sudo timedatectl set-timezone Europe/Berlin # Hostname setzen $ sudo hostnamectl set-hostname server01 # Neustart $ sudo reboot

Wichtige Erstkonfiguration

  • SSH-Keys statt Passwort-Login (sicherer)
  • Root-Login deaktivieren: PermitRootLogin no in /etc/ssh/sshd_config
  • Fail2Ban installieren gegen Brute-Force
  • Automatische Security-Updates aktivieren
  • Backup-Strategie von Anfang an planen

4. Wichtige Server-Dienste

Linux Server bieten eine Vielzahl von Diensten. Hier die wichtigsten im Überblick:

SSH Server

Remote-Zugriff

Sichere Remote-Verwaltung per Kommandozeile. Standard auf jedem Linux Server.

Software: OpenSSH Server
Port: 22 (TCP)

Web Server

HTTP/HTTPS

Stellt Websites und Webanwendungen bereit. Apache oder Nginx sind die Standards.

Software: Apache2, Nginx, Caddy, Lighttpd
Ports: 80, 443 (TCP)

Mail Server

E-Mail Versand/Empfang

Verwaltet E-Mail-Kommunikation. Komplex einzurichten (SPF, DKIM, DMARC).

Software: Postfix, Exim, Dovecot, Mailcow
Ports: 25, 587, 993, 995

Datenbank-Server

SQL & NoSQL

Speichert strukturierte Daten. MySQL/MariaDB und PostgreSQL sind die Standards.

Software: MySQL, MariaDB, PostgreSQL, MongoDB, Redis
Ports: 3306, 5432, 27017

DNS Server

Domain-Auflösung

Übersetzt Domain-Namen in IP-Adressen. Pi-hole kann auch als Werbeblocker dienen.

Software: BIND, dnsmasq, Unbound, Pi-hole
Port: 53 (TCP/UDP)

DHCP Server

IP-Adressen verteilen

Verteilt automatisch IP-Adressen und Netzwerkkonfiguration an Clients.

Software: ISC DHCP, dnsmasq, Kea
Ports: 67, 68 (UDP)

File Server

Dateifreigaben

Zentrale Dateiablage für Netzwerke. SMB für Windows, NFS für Linux/Unix.

Software: Samba (SMB), NFS, Nextcloud
Ports: 445, 2049

Container Runtime

Docker & Co.

Container-Technologie für moderne Anwendungen. Docker ist der De-facto-Standard.

Software: Docker, Podman, containerd, CRI-O
Variabel je nach Container

Monitoring

Überwachung

Überwacht Server, Netzwerke und Anwendungen. Sendet Alerts bei Problemen.

Software: Prometheus, Grafana, Zabbix, Nagios, Netdata
Ports: 3000, 9090, 19999

5. Paketmanagement

Linux-Distributionen verwenden verschiedene Paketmanager. Hier die drei wichtigsten im Vergleich:

APT (Debian/Ubuntu)
DNF (RHEL/Fedora)
Zypper (SUSE)

APT – Advanced Package Tool

Verwendet von Debian, Ubuntu, Linux Mint, Kali und vielen anderen. Arbeitet mit .deb-Paketen.

BASH # Paketquellen aktualisieren $ sudo apt update # Alle Pakete aktualisieren $ sudo apt upgrade -y # Paket installieren $ sudo apt install nginx # Paket deinstallieren $ sudo apt remove nginx # Paket inkl. Konfiguration deinstallieren $ sudo apt purge nginx # Nach Paket suchen $ apt search nginx # Paket-Infos anzeigen $ apt show nginx # Nicht mehr benötigte Pakete entfernen $ sudo apt autoremove # Volle System-Upgrade (inkl. Kernel) $ sudo apt full-upgrade

DNF – Dandified YUM

Verwendet von RHEL, CentOS, Rocky, Alma, Fedora. Arbeitet mit .rpm-Paketen. Nachfolger von YUM.

BASH # Alle Pakete aktualisieren $ sudo dnf upgrade -y # Paket installieren $ sudo dnf install nginx # Paket deinstallieren $ sudo dnf remove nginx # Nach Paket suchen $ dnf search nginx # Paket-Infos anzeigen $ dnf info nginx # Paketquellen anzeigen $ dnf repolist # EPEL Repository hinzufügen (für extra Pakete) $ sudo dnf install epel-release # Paket-Historie anzeigen $ dnf history # Alte Kernel entfernen $ sudo dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q)

Zypper

Verwendet von SUSE Linux Enterprise, openSUSE. Arbeitet mit .rpm-Paketen. Integriert sich gut mit YaST.

BASH # Paketquellen aktualisieren $ sudo zypper refresh # Alle Pakete aktualisieren $ sudo zypper update # Paket installieren $ sudo zypper install nginx # Paket deinstallieren $ sudo zypper remove nginx # Nach Paket suchen $ zypper search nginx # Paket-Infos anzeigen $ zypper info nginx # Repositorys anzeigen $ zypper lr # Repository hinzufügen $ sudo zypper addrepo https://download.opensuse.org/repositories/... repo-name # Distribution-Upgrade (Versions-Upgrade) $ sudo zypper dup
Aufgabe APT (Debian/Ubuntu) DNF (RHEL/Fedora) Zypper (SUSE)
Paketformat .deb .rpm .rpm
Update apt update && apt upgrade dnf upgrade zypper refresh && zypper update
Installieren apt install paket dnf install paket zypper install paket
Deinstallieren apt remove paket dnf remove paket zypper remove paket
Suchen apt search paket dnf search paket zypper search paket
Info apt show paket dnf info paket zypper info paket

6. Systemd & Services verwalten

Systemd ist das moderne Init-System und Service-Manager für die meisten Linux-Distributionen. Es ersetzt das alte SysVinit und bietet viele Vorteile.

Wichtige systemctl-Befehle

BASH # Service-Status anzeigen $ systemctl status nginx # Service starten $ sudo systemctl start nginx # Service stoppen $ sudo systemctl stop nginx # Service neu starten $ sudo systemctl restart nginx # Service-Konfiguration neu laden (ohne Neustart) $ sudo systemctl reload nginx # Service beim Boot aktivieren $ sudo systemctl enable nginx # Service beim Boot deaktivieren $ sudo systemctl disable nginx # Alle aktiven Services auflisten $ systemctl list-units --type=service --state=running # Alle Services auflisten (auch inaktive) $ systemctl list-unit-files --type=service # System neu starten $ sudo systemctl reboot # System herunterfahren $ sudo systemctl poweroff

Eigene Systemd-Unit erstellen

SYSTEMD # Datei: /etc/systemd/system/meinapp.service [Unit] Description=Meine eigene Anwendung After=network.target [Service] Type=simple User=meinuser WorkingDirectory=/opt/meinapp ExecStart=/usr/bin/meinapp --config /etc/meinapp.conf Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
BASH # Nach Änderungen: Daemon neu laden $ sudo systemctl daemon-reload # Service aktivieren und starten $ sudo systemctl enable --now meinapp

7. Linux Server Sicherheit

Linux ist von Haus aus sicherer als Windows, aber richtige Konfiguration ist entscheidend:

SSH-Hardening

BASH # SSH-Config bearbeiten $ sudo nano /etc/ssh/sshd_config # Wichtige Einstellungen: PermitRootLogin no # Root-Login verbieten PasswordAuthentication no # Nur SSH-Keys PubkeyAuthentication yes # SSH-Keys erlauben Port 2222 # Anderer Port (optional) AllowUsers meinuser admin # Nur bestimmte User MaxAuthTries 3 # Max. Login-Versuche ClientAliveInterval 300 # Timeout # SSH neu starten $ sudo systemctl restart ssh

Firewall (UFW / firewalld)

BASH # UFW (Ubuntu/Debian) $ sudo ufw allow 22/tcp # SSH $ sudo ufw allow 80/tcp # HTTP $ sudo ufw allow 443/tcp # HTTPS $ sudo ufw enable $ sudo ufw status verbose # firewalld (RHEL/Fedora/SUSE) $ sudo firewall-cmd --permanent --add-service=ssh $ sudo firewall-cmd --permanent --add-service=http $ sudo firewall-cmd --permanent --add-service=https $ sudo firewall-cmd --reload $ sudo firewall-cmd --list-all

SELinux & AppArmor

BASH # SELinux Status prüfen (RHEL) $ getenforce $ sestatus # AppArmor Status prüfen (Ubuntu/Debian) $ sudo apparmor_status # SELinux boolesche Werte anzeigen $ getsebool -a | grep http # SELinux booleschen Wert setzen $ sudo setsebool -P httpd_can_network_connect on

Sicherheits-Checkliste

  • SSH-Keys statt Passwort-Login
  • Root-Login deaktivieren
  • Firewall konfigurieren (nur notwendige Ports)
  • Fail2Ban gegen Brute-Force installieren
  • Automatische Security-Updates aktivieren
  • SELinux/AppArmor aktiviert lassen
  • Regelmäßige Backups (3-2-1-Regel)
  • Logs überwachen (journalctl, logwatch)
  • Unnötige Dienste deaktivieren
  • Starke Passwörter für alle User

8. Monitoring & Troubleshooting

Linux bietet zahlreiche Tools zur Überwachung und Fehlersuche:

Wichtige Monitoring-Befehle

BASH # System-Übersicht (Echtzeit) $ htop $ top # Speicher-Usage $ free -h $ vmstat 1 # Festplatten-Usage $ df -h $ du -sh /var/log/* # I/O-Monitoring $ iotop $ iostat -x 1 # Netzwerk-Monitoring $ ss -tulpn # Offene Ports $ netstat -tulpn # Legacy $ nethogs # Traffic pro Prozess $ iftop # Traffic pro Verbindung # Logs anzeigen $ journalctl -xe # Systemd-Logs $ journalctl -u nginx # Logs eines Services $ tail -f /var/log/syslog $ dmesg | tail # Kernel-Messages # Prozesse finden $ ps aux | grep nginx $ pgrep -a nginx # System-Info $ uname -a # Kernel-Version $ lsb_release -a # Distro-Info $ lsblk # Block-Devices $ lspci # PCI-Geräte

Professionelle Monitoring-Tools

Netdata

Echtzeit-Monitoring mit Web-Interface. Einfach zu installieren, hunderte Metriken.

  • Installation: 1 Zeile
  • Web-UI auf Port 19999
  • Alarme per E-Mail, Slack
  • Ideal für einzelne Server
Prometheus + Grafana

Industrie-Standard für Monitoring. Prometheus sammelt Metriken, Grafana visualisiert.

  • Time-Series-Datenbank
  • Custom Dashboards
  • Alertmanager
  • Ideal für Cluster & Cloud
Zabbix

Enterprise-Monitoring mit Web-UI. Überwacht Netzwerke, Server, Anwendungen.

  • Agent-basiert oder agentless
  • Auto-Discovery
  • Templates für alles
  • Ideal für große Umgebungen

9. Virtualisierung & Container

Linux ist die führende Plattform für Virtualisierung und Container:

KVM – Kernel-based Virtual Machine

KVM ist der Linux-eigene Hypervisor, direkt im Kernel integriert. Zusammen mit libvirt und Tools wie virt-manager oder Cockpit entsteht eine vollständige Virtualisierungsplattform.

BASH # KVM installieren (Ubuntu) $ sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager # Prüfen, ob KVM unterstützt wird $ kvm-ok $ lsmod | grep kvm # User zur libvirt-Gruppe hinzufügen $ sudo usermod -aG libvirt,kvm $USER # VM erstellen (virt-manager GUI oder virt-install CLI) $ virt-install \ --name=webserver01 \ --ram=4096 \ --vcpus=2 \ --disk path=/var/lib/libvirt/images/webserver01.qcow2,size=40 \ --os-variant=ubuntu22.04 \ --network bridge=virbr0 \ --graphics vnc \ --cdrom=/path/to/ubuntu-22.04.iso

Docker & Container

BASH # Docker installieren (Ubuntu) $ sudo apt install docker.io docker-compose $ sudo usermod -aG docker $USER # Docker-Status prüfen $ systemctl status docker # Container starten $ docker run -d -p 8080:80 --name web nginx # Laufende Container anzeigen $ docker ps # Container-Logs $ docker logs web # In Container shell starten $ docker exec -it web /bin/bash # Docker Compose Stack starten $ docker-compose up -d # Podman (rootless Alternative zu Docker) $ podman run -d -p 8080:80 nginx

Virtualisierung vs. Container

Feature VMs (KVM) Container (Docker)
Isolation Vollständig (eigener Kernel) Prozess-Ebene (shared Kernel)
Startzeit Minuten Sekunden
Overhead Höher (GB RAM) Minimal (MB RAM)
Betriebssysteme Beliebig (Windows, Linux, etc.) Nur Linux
Einsatz Legacy, verschiedene OS Microservices, CI/CD

10. Linux vs. Windows Server

Die große Frage: Linux oder Windows Server? Hier ein detaillierter Vergleich:

Kriterium Linux Server Windows Server
Lizenzkosten Kostenlos (meist) Teuer (pro Kern + CALs)
GUI Optional (CLI bevorzugt) Vollständig
Paketmanagement Exzellent (apt, dnf, zypper) Mangelhaft (kein Standard)
Remote-Verwaltung SSH (standardisiert) RDP, PowerShell Remoting
Sicherheit SELinux, AppArmor, weniger Malware Windows Defender, häufiger Ziel
Performance Geringerer Overhead Höherer Ressourcenbedarf
Updates Oft ohne Neustart Häufige Neustarts nötig
Active Directory Samba AD DC (kompatibel) Native AD DS
Container Docker, Podman, Kubernetes Docker (eingeschränkt)
Virtualisierung KVM (kostenlos, performant) Hyper-V (in Windows inkl.)
Support Community oder kommerziell (RHEL) Microsoft Support
Lernkurve Steiler (CLI nötig) Einfacher für Windows-User
Marktanteil (Server) ~90%+ ~8%

Wann Linux, wann Windows?

  • Linux wählen bei: Web-Server, Datenbanken, Container, Cloud, hohe Performance, Budget-Bewusstsein, DevOps
  • Windows Server wählen bei: Active Directory, Exchange, SharePoint, .NET-Anwendungen, Microsoft-Stack, GUI-Pflicht
  • Hybrid: Viele Unternehmen nutzen beides – Linux für Infrastruktur, Windows für spezifische Dienste

11. Best Practices für Linux Server

SSH-Sicherheit

  • SSH-Keys statt Passwort
  • Root-Login deaktivieren
  • Anderer Port (optional)
  • AllowUsers beschränken
  • Fail2Ban installieren
  • 2FA aktivieren

Firewall

  • UFW oder firewalld nutzen
  • Nur notwendige Ports öffnen
  • Default-Deny Policy
  • Regeln dokumentieren
  • Regelmäßig prüfen
  • IDS/IPS erwägen

Updates

  • Automatische Security-Updates
  • Regelmäßige System-Updates
  • Changelogs prüfen
  • Test vor Produktion
  • Rollback-Plan
  • Kernel Live Patching (RHEL/Ubuntu)

Backup

  • 3-2-1-Regel (3 Kopien, 2 Medien, 1 extern)
  • Restic, Borg, Veeam
  • Verschlüsselte Backups
  • Regelmäßige Recovery-Tests
  • Off-Site Backups
  • Immutable Backups (Ransomware-Schutz)

Monitoring

  • Netdata oder Prometheus+Grafana
  • Alerts bei kritischen Werten
  • Logs zentral sammeln
  • Performance-Baselines erstellen
  • Capacity Planning
  • Uptime-Monitoring

Logging

  • journalctl für Systemd-Logs
  • Log-Rotation konfigurieren
  • Zentraler Log-Server (ELK/Loki)
  • Audit-Logs aktivieren
  • Log-Analyse automatisieren
  • Retention-Policy festlegen

Die 10 wichtigsten Linux-Server-Regeln

  1. Updates regelmäßig – Security-Updates sofort, andere zeitnah
  2. Backups immer – 3-2-1-Regel, Recovery testen
  3. SSH-Keys nutzen – Passwort-Login deaktivieren
  4. Firewall konfigurieren – nur notwendige Ports
  5. Logs überwachen – Alerts bei Fehlern
  6. Root-Login verbieten – sudo mit individuellem User
  7. Fail2Ban installieren – gegen Brute-Force
  8. Dokumentation pflegen – Konfiguration, Änderungen, Passwörter
  9. Monitoring einrichten – Netdata oder Prometheus
  10. SELinux/AppArmor aktiv lassen – zusätzliche Sicherheitsebene

12. Praxisaufgaben & Quiz

Übungsaufgaben

Aufgabe 1: Nenne drei Vorteile von Linux Servern gegenüber Windows Servern.
Aufgabe 2: Welche Distribution würdest du für einen Einsteiger empfehlen und warum?
Aufgabe 3: Erkläre den Unterschied zwischen apt update und apt upgrade.
Aufgabe 4: Wie sicherst du einen Linux Server per SSH ab?
Aufgabe 5: Was ist der Unterschied zwischen VMs (KVM) und Containern (Docker)?
Aufgabe 6: Erkläre die Funktion von SELinux und AppArmor.

Zusammenfassung

Die wichtigsten Punkte

  • Linux: Freies, Open-Source-Unix-ähnliches Betriebssystem, 1991 von Linus Torvalds
  • Marktanteil: ~96% der Web-Server, 100% der Top-500-Supercomputer, 90%+ der Cloud
  • Vorteile: Keine Lizenzkosten, sicher, stabil, performant, flexibel, große Community
  • Distributionen: Ubuntu (Einsteiger), RHEL (Enterprise), Debian (Stabil), SUSE (SAP), Rocky/Alma (CentOS-Ersatz)
  • Paketmanager: APT (Debian/Ubuntu), DNF (RHEL/Fedora), Zypper (SUSE)
  • Systemd: Moderner Init-System und Service-Manager
  • Wichtige Dienste: SSH, Web (Apache/Nginx), Mail, DB, DNS, DHCP, File, Container
  • Sicherheit: SSH-Keys, Firewall, SELinux/AppArmor, Fail2Ban, automatische Updates
  • Monitoring: htop, journalctl, Netdata, Prometheus+Grafana, Zabbix
  • Virtualisierung: KVM (VMs), Docker/Podman (Container)
  • Linux vs. Windows: Linux für Infrastruktur/Cloud, Windows für AD/Exchange/SharePoint
  • Best Practices: Updates, Backups, SSH-Hardening, Firewall, Monitoring, Logging

Nächste Schritte

Bereit, deinen eigenen Linux Server aufzusetzen? Hier ein empfohlener Weg:

  1. Distribution wählen: Ubuntu Server LTS für Einsteiger
  2. Hardware/VM: Alter PC, Raspberry Pi, Mini-PC oder Cloud-VM
  3. Installation: ISO herunterladen, USB-Stick erstellen, installieren
  4. Erste Schritte: SSH-Keys, Firewall, Updates
  5. Ersten Dienst aufsetzen: Pi-hole, Nextcloud, Web-Server
  6. Docker lernen: Container für einfache Verwaltung
  7. Monitoring: Netdata installieren für Echtzeit-Überwachung
  8. Backup-Strategie: Von Anfang an Backups einrichten

Weiterführende Themen

Windows Server

Windows Server im Enterprise-Einsatz – AD, Hyper-V, GPO, PowerShell.

Zu Windows Server
Linux Grundlagen

Linux-Betriebssystem im Detail – Kernel, Distributionen, Paketmanagement.

Zu Linux Grundlagen
Container-Orchestration

Docker, Kubernetes und Container-Management im Detail.

Zu Containern
Terminal-Befehle

Linux-Command-Line – wichtige Befehle, Shell-Scripting, Automatisierung.

Zu Terminal-Befehlen
Server

Server-Architekturen, Hochverfügbarkeit, Load Balancing.

Zu Servern
IT-Sicherheit

Security-Grundlagen, Kryptographie, Netzwerksicherheit.

Zur IT-Sicherheit