Ein Linux-Server bildet die Grundlage für zahlreiche IT-Dienste, von Webservern über Datenbanken bis hin zu Netzwerk- und Sicherheitsdiensten. Dieser Leitfaden richtet sich an Einsteiger sowie Administratoren und erklärt Schritt für Schritt, wie ein Linux-Server eingerichtet, konfiguriert und abgesichert wird. Der Fokus liegt auf praxisnahen Anleitungen, CLI-Befehlen und Best Practices.
Installation und Grundkonfiguration
Bevor der Server produktiv genutzt wird, muss das Betriebssystem installiert und grundlegende Einstellungen vorgenommen werden.
Schritte der Installation
- ISO-Image herunterladen (z. B. Ubuntu Server, CentOS, Rocky Linux)
- Boot-Medium erstellen (USB oder PXE-Boot)
- Basisinstallation auswählen: Minimal oder Standard
- Partitionierung definieren: /, /home, /var, /swap
- Netzwerk konfigurieren: statische IP oder DHCP
- Root-Passwort festlegen und Benutzer anlegen
Beispiel CLI für Grundkonfiguration
sudo passwd root
sudo adduser adminuser
sudo usermod -aG sudo adminuser
ip addr show
nmcli device status
Netzwerkkonfiguration
Ein korrekt konfiguriertes Netzwerk ist entscheidend für die Erreichbarkeit des Servers und den Betrieb von Diensten.
Statische IP und DNS
- Netzwerkinterface bearbeiten:
/etc/netplan/01-netcfg.yaml(Ubuntu) - IP-Adresse, Gateway und Nameserver definieren
- Netzwerkdienst neu starten
sudo nano /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
sudo netplan apply
Netzwerk testen
ping -c 4 8.8.8.8
ping -c 4 google.com
ip route show
Benutzer- und Berechtigungsmanagement
Die Sicherheit eines Linux-Servers hängt wesentlich von korrekt eingerichteten Benutzern und Berechtigungen ab.
Best Practices
- Root-Zugang nur für Notfälle erlauben
- Admin-Benutzer mit
sudoRechte anlegen - SSH-Schlüssel statt Passwort verwenden
- Gruppen für Rollen und Dienste definieren
- Minimalberechtigungen nach dem Prinzip “Least Privilege”
Beispiel CLI
sudo adduser devuser
sudo usermod -aG sudo devuser
mkdir -p /home/devuser/.ssh
chmod 700 /home/devuser/.ssh
nano /home/devuser/.ssh/authorized_keys
chmod 600 /home/devuser/.ssh/authorized_keys
chown -R devuser:devuser /home/devuser/.ssh
SSH & Remote Access absichern
SSH ist der wichtigste Zugang für Administratoren. Sichere Konfiguration verhindert unbefugte Zugriffe.
Sichere Einstellungen
- Root-Login deaktivieren:
/etc/ssh/sshd_config - Passwort-Authentifizierung deaktivieren
- Nur SSH-Schlüssel erlauben
- Port und Protokoll optional anpassen
- Fail2Ban für Brute-Force-Schutz nutzen
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
Port 2222
sudo systemctl restart sshd
sudo apt install fail2ban
sudo systemctl enable fail2ban
Firewall & Netzwerk-Security
Firewalls kontrollieren eingehenden und ausgehenden Traffic und schützen vor Angriffen.
UFW (Uncomplicated Firewall) konfigurieren
- Standardregeln setzen
- Nur benötigte Ports öffnen
- Logging aktivieren
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 enable
sudo ufw status verbose
Software-Installation & Paketmanagement
Pakete und Dienste sollten sauber verwaltet werden, um Stabilität und Security zu gewährleisten.
Grundlegende Pakete installieren
sudo apt update
sudo apt upgrade -y
sudo apt install vim git curl wget htop -y
Optional: Web- und Datenbankdienste
- Apache/Nginx
- MySQL/MariaDB oder PostgreSQL
- PHP/Python/Node.js Laufzeit
- Firewall-Ports entsprechend anpassen
Monitoring & Logging
Kontinuierliche Überwachung und Protokollierung helfen, Probleme frühzeitig zu erkennen.
Wichtige Logs
- /var/log/syslog
- /var/log/auth.log
- /var/log/kern.log
- /var/log/apt/history.log
- Optional: Journalctl für Systemd
Beispiel CLI
sudo tail -f /var/log/syslog
sudo journalctl -xe
sudo tail -f /var/log/auth.log
Backup & Wiederherstellung
Regelmäßige Backups sichern Konfigurationen und Daten gegen Ausfälle.
Backup Best Practices
- Konfigurationsdateien separat sichern
- Home-Verzeichnisse regelmäßig sichern
- Datenbanken exportieren (mysqldump, pg_dump)
- Backups versionieren und außerhalb speichern
- Test der Wiederherstellung regelmäßig durchführen
Beispiel CLI
sudo tar -czvf /backup/etc-backup-$(date +%F).tar.gz /etc
sudo rsync -avz /home/ /backup/home/
mysqldump -u root -p database_name > /backup/db_backup_$(date +%F).sql
Sicherheitshärtung
Linux-Server sollten gehärtet werden, um bekannte Angriffsvektoren zu reduzieren.
Maßnahmen
- Unnötige Dienste deaktivieren
- Systemupdates regelmäßig durchführen
- SSH und Firewall restriktiv konfigurieren
- Fail2Ban oder ähnliche Tools einsetzen
- AppArmor/SELinux aktivieren und konfigurieren
- Regelmäßige Security Audits durchführen
Automatisierung & Maintenance
Automatisierte Tasks und Skripte vereinfachen Administration und erhöhen Konsistenz.
Beispiele
- Crontab für regelmäßige Updates und Backups
- Automatisierte Log-Rotation konfigurieren
- Skripte für Health Checks und Monitoring
- Versionierung von Konfigurationsdateien mit Git
Crontab-Beispiel
sudo crontab -e
0 2 * * * /usr/bin/apt update && /usr/bin/apt upgrade -y
0 3 * * * /usr/bin/rsync -avz /home/ /backup/home/
Zusammenfassung
Ein Linux-Server erfordert sorgfältige Planung, Installation und Absicherung. Durch die Kombination von Netzwerk- und Benutzerkonfiguration, Monitoring, Backup-Strategien und Security-Härtung entsteht eine stabile und sichere Plattform. Die hier beschriebenen CLI-Befehle, Best Practices und Strukturen bilden eine solide Grundlage für Einsteiger und Administratoren im professionellen Betrieb.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











