aufgaben:tag2_server_installation
Inhaltsverzeichnis
Übungen Tag 2: Server-Installation und SSH
Diese Übungen vertiefen die Themen von Tag 2 des Linux Expert Workshops.
Übung 2.1: Ubuntu Server Installation
Ziel: Ubuntu Server in VirtualBox installieren und konfigurieren
Aufgaben:
- Erstellen Sie eine neue VM in VirtualBox (2GB RAM, 20GB HDD)
- Installieren Sie Ubuntu Server 22.04 LTS
- Partitionierung:
- /boot: 500MB
- /: 15GB
- /home: 3GB
- swap: 1.5GB
- Hostname: webserver01
- Benutzer: admin (mit sudo-Rechten)
- Installieren Sie openssh-server während der Installation
Checkliste nach Installation:
- [ ] System bootet korrekt
- [ ] Hostname ist gesetzt
- [ ] Netzwerk funktioniert (ping google.com)
- [ ] SSH-Server läuft
- [ ] sudo funktioniert
Übung 2.2: SSH-Konfiguration
Ziel: SSH sicher konfigurieren und nutzen
Aufgaben:
- Generieren Sie ein SSH-Schlüsselpaar auf Ihrem Client:
ssh-keygen -t ed25519 -C "admin@webserver01"
- Kopieren Sie den Public Key auf den Server:
ssh-copy-id admin@SERVER_IP
- Konfigurieren Sie /etc/ssh/sshd_config:
- Deaktivieren Sie Password-Authentication
- Deaktivieren Sie Root-Login
- Ändern Sie den Port auf 2222
- Testen Sie die Verbindung
SSH-Hardening-Checklist:
# /etc/ssh/sshd_config Port 2222 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes X11Forwarding no AllowUsers admin # Testen und neu starten sudo sshd -t sudo systemctl restart sshd
Übung 2.3: SSH-Tunneling
Ziel: Port-Forwarding und SSH-Tunnel nutzen
Aufgaben:
- Installieren Sie einen Webserver auf dem Server:
sudo apt install nginx
- Erstellen Sie einen SSH-Tunnel von Ihrem Client:
ssh -L 8080:localhost:80 admin@SERVER_IP -p 2222
- Öffnen Sie http://localhost:8080 im Browser
- Erstellen Sie einen SOCKS-Proxy:
ssh -D 1080 admin@SERVER_IP -p 2222
Erweitert:
- Richten Sie einen Reverse-Tunnel ein
- Nutzen Sie ProxyJump für Multi-Hop-SSH
Übung 2.4: Netzwerk-Konfiguration
Ziel: Statische IP mit netplan konfigurieren
Aufgaben:
- Erstellen Sie /etc/netplan/01-static.yaml:
network: version: 2 ethernets: enp0s3: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
- Wenden Sie die Konfiguration an:
sudo netplan try sudo netplan apply
- Testen Sie die Netzwerkverbindung:
ip addr show ping -c 4 8.8.8.8 ping -c 4 google.com
Übung 2.5: Firewall mit ufw
Ziel: Basis-Firewall konfigurieren
Aufgaben:
- Installieren und aktivieren Sie ufw:
sudo apt install ufw sudo ufw default deny incoming sudo ufw default allow outgoing
- Erlauben Sie SSH (Port 2222):
sudo ufw allow 2222/tcp
- Erlauben Sie HTTP/HTTPS:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
- Aktivieren Sie die Firewall:
sudo ufw enable sudo ufw status verbose
Erweitert:
- Limitieren Sie SSH-Verbindungen (gegen Brute-Force):
sudo ufw limit 2222/tcp
- Erlauben Sie nur von bestimmter IP:
sudo ufw allow from 192.168.1.50 to any port 2222
Zusatz-Challenge: Kompletter Server-Setup
Erstellen Sie ein Deployment-Skript, das:
- System updated
- SSH härtet
- Firewall konfiguriert
- Fail2ban installiert und konfiguriert
- Automatische Updates einrichtet
#!/bin/bash # Server Hardening Script set -e # Bei Fehler abbrechen echo "=== Server Hardening Script ===" # Update System echo "Updating system..." sudo apt update && sudo apt upgrade -y # SSH Hardening echo "Hardening SSH..." sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config sudo sshd -t && sudo systemctl restart sshd # Firewall echo "Configuring firewall..." sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 2222/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw --force enable # Fail2ban echo "Installing fail2ban..." sudo apt install fail2ban -y sudo systemctl enable fail2ban sudo systemctl start fail2ban # Automatic Updates echo "Configuring automatic updates..." sudo apt install unattended-upgrades -y echo 'APT::Periodic::Update-Package-Lists "1";' | sudo tee -a /etc/apt/apt.conf.d/20auto-upgrades echo 'APT::Periodic::Unattended-Upgrade "1";' | sudo tee -a /etc/apt/apt.conf.d/20auto-upgrades echo "=== Server hardening completed! ===" echo "Remember to:" echo " 1. Test SSH connection on port 2222" echo " 2. Configure fail2ban jails" echo " 3. Review firewall rules"
</hidden>
Siehe auch
aufgaben/tag2_server_installation.txt · Zuletzt geändert: von 127.0.0.1
