Sichere deinen Server mit unserer einfachen Firewall-Anleitung!

von | Sep. 1, 2025 | Virtualisierung | 0 Kommentare

Schütze deinen eigenen Server mit unserer einfachen Firewall-Anleitung!

Ja, hallo zusammen! In diesem Beitrag zeigen wir dir, wie du deinen Server mit unserer simplen, one shot Script Firewall-Lösung sicherst. Keine komplizierten Befehle – unser Skript macht fast alles für dich! Du lernst, wie du die Firewall startest, konfigurierst, vertrauenswürdige IPs und Ports (für Dienste wie WireGuard oder einen Reverse Proxy) freigibst und deinen SSH-Zugriff absicherst.

Unser Tutorial basiert auf Ubuntu 24 und verwendet iptables als Firewall. Wir erklären auch die Grundlagen von iptables, damit du ein gutes Verständnis für die Sicherheit deines Servers bekommst. Es ist wichtig zu beachten, dass die Sicherheit eines Servers ein kontinuierlicher Prozess ist und regelmäßige Updates und Überprüfungen notwendig sind, um den Schutz aufrechtzuerhalten.

Good-to-Know Themen

  • Firewall-Grundlagen
  • iptables-Konfiguration
  • SSH-Zugriff absichern
  • Vertrauenswürdige IPs und Ports freigeben

YouTube Video

Best Practices

  • Regelmäßig die Firewall-Konfiguration überprüfen
  • Sicherheits-Updates für das Betriebssystem und die Firewall installieren
  • Vertrauenswürdige IPs und Ports nur dann freigeben, wenn es notwendig ist

ToDos

  • Das Skript herunterladen und ausführen:
    wget https://raw.githubusercontent.com/it-and-der-bar/YouTube/refs/heads/main/Eigener%20Server/Firewall-Config/firewall-config.sh
    chmod +x firewall-config.sh
    ./firewall-config.sh
  • Die Firewall-Konfiguration überprüfen und anpassen, wenn notwendig

Frequently Asked Questions (FAQs)

  • Wie kann ich die Firewall-Konfiguration überprüfen?
  • Warum sollte ich die Firewall regelmäßig aktualisieren?
  • Kann ich die Firewall auch manuell konfigurieren, ohne das Skript zu verwenden?
  • Welche Vorteile bietet die Verwendung von iptables als Firewall?
  • Wie kann ich sicherstellen, dass mein SSH-Zugriff abgesichert ist?

Antworten:

  • Die Firewall-Konfiguration kann mit dem Befehl iptables -n -L überprüft werden.
  • Regelmäßige Aktualisierungen der Firewall sind wichtig, um sicherzustellen, dass die neuesten Sicherheitspatches installiert sind und das System vor bekannten Schwachstellen geschützt ist.
  • Ja, es ist möglich, die Firewall manuell zu konfigurieren, aber dies erfordert ein gutes Verständnis von iptables und der Netzwerksicherheit.
  • Die Verwendung von iptables als Firewall bietet viele Vorteile, wie z.B. eine einfache Konfiguration und eine hohe Flexibilität.
  • Der SSH-Zugriff kann durch die Verwendung von starken Passwörtern, die Konfiguration von SSH-Keys und die Einschränkung des Zugriffs auf bestimmte IPs oder Ports abgesichert werden.

Firewall-Konfiguration mit iptables

Eine Firewall ist ein wichtiger Bestandteil der Sicherheit deines Servers. Mit unserer einfachen Anleitung kannst du deine eigene Firewall konfigurieren und deinen Server vor unbefugtem Zugriff schützen. Wir nutzen für diese Aufgabe iptables, ein mächtiges Tool unter Linux, das es ermöglicht, Netzwerkverkehr zu kontrollieren und zu filtern. Mit unserem Skript kannst du die Firewall starten, konfigurieren und vertrauenswürdige IPs und Ports freigeben.

  • Starte die Firewall mit unserem simplen Skript
  • Konfiguriere die Firewall, um deinen Server zu schützen
  • Freigebe vertrauenswürdige IPs und Ports für Dienste wie WireGuard oder einen Reverse Proxy

Unser Skript macht fast alles für dich, du musst nur noch wenige Befehle ausführen. Du findest alle notwendigen Skripte und Befehle in der Beschreibung unten.

Die Grundlagen von iptables

Bevor wir unsere Firewall konfigurieren, sollten wir uns mit den Grundlagen von iptables auseinandersetzen. iptables ist ein mächtiges Tool, das es ermöglicht, Netzwerkverkehr zu kontrollieren und zu filtern. Mit iptables kannst du Regeln erstellen, die bestimmen, wie der Netzwerkverkehr gehandhabt wird.

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Dieser Befehl akzeptiert beispielsweise alle TCP-Verbindungen auf Port 22, der standardmäßig für SSH verwendet wird.

Sicherung deines SSH-Zugriffs

Ein wichtiger Aspekt der Sicherheit deines Servers ist die Sicherung deines SSH-Zugriffs. Mit unserer Firewall kannst du deinen SSH-Zugriff absichern, indem du nur bestimmte IPs und Ports freigibst.

  • Freigebe nur bestimmte IPs und Ports für den SSH-Zugriff
  • Konfiguriere die Firewall, um unbefugten Zugriff zu verhindern

Unser Skript hilft dir dabei, deine Firewall zu konfigurieren und deinen Server zu schützen. Mit diesen einfachen Schritten kannst du deine eigene Firewall einrichten und deinen Server vor unbefugtem Zugriff schützen.

Wichtige Befehle für Einsteiger im Script-Code

In diesem Abschnitt werden 8 wichtige Befehle aus dem gegebenen Script-Code erklärt, um Einsteigern die Grundlagen der Syntax und des Nutzens zu vermitteln. Jeder Befehl wird in einem separaten Absatz erläutert.

1. `if [ -f logo ]; then` – Bedingte Anweisung für Dateiexistenz

Dieser Befehl überprüft, ob eine Datei namens „logo“ existiert. Wenn die Datei vorhanden ist, werden die darin enthaltenen Inhalte mit `cat logo` ausgegeben. Andernfalls wird ein Standard-Text angezeigt, der eine Warnung und Hinweise zur Haftung enthält.

if [ -f logo ]; then
  cat logo
else
  echo "-------------------------------------------------------------"
  echo " ACHTUNG: Dieses Skript wird ohne jegliche Gewähr bereitgestellt."
  echo " Es wird keine Haftung für eventuelle Schäden oder Fehlkonfigurationen übernommen."
  echo "-------------------------------------------------------------"
fi

2. `set -e` – Exit bei Fehler

Dieser Befehl sorgt dafür, dass das Skript sofort beendet wird, wenn ein einzelner Befehl innerhalb des Skripts einen Fehler zurückgibt. Dies verhindert, dass das Skript weiterläuft und möglicherweise Schäden verursacht, wenn ein vorhergehender Befehl fehlgeschlagen ist.

set -e

3. `mkdir -p „$FIREWALL_DIR“` – Erstellen eines Verzeichnisses

Dieser Befehl erstellt das Verzeichnis, das durch die Variable `$FIREWALL_DIR` angegeben wird, wenn es noch nicht existiert. Der `-p`-Parameter verhindert eine Fehlermeldung, wenn das Verzeichnis bereits vorhanden ist.

mkdir -p "$FIREWALL_DIR"

4. `prompt()` – Funktion für interaktive Eingaben

Diese Funktion ermöglicht es, den Benutzer interaktiv um Eingaben zu bitten und dabei einen Standardwert vorzuschlagen. Der Benutzer kann dann entweder den vorgeschlagenen Wert übernehmen oder seinen eigenen Wert eingeben.

prompt() {
  local var_name="$1"
  local prompt_text="$2"
  local current_val="${!var_name}"
  read -p "$prompt_text [${current_val}]: " input
  if [ -n "$input" ]; then
    eval "$var_name=\"$input\""
  fi
}

5. `iptables`-Befehle – Konfiguration der Firewall

Diese Befehle werden verwendet, um die Regeln für die Firewall zu konfigurieren. Beispielsweise kann mit `iptables -A INPUT -p tcp –dport 22 -j ACCEPT` der SSH-Zugriff (Port 22) für alle Quell-IPs zugelassen werden.

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

6. `systemctl`-Befehle – Verwaltung von systemd-Diensten

Diese Befehle dienen zur Verwaltung von systemd-Diensten, wie zum Beispiel dem Neustart oder der Aktivierung eines Dienstes. Beispielsweise kann mit `systemctl restart iptables-rules.service` der Dienst neu gestartet werden.

systemctl restart iptables-rules.service

7. `crontab`-Befehle – Planung von Cronjobs

Diese Befehle werden verwendet, um regelmäßig wiederkehrende Aufgaben zu planen. Ein Beispiel ist der stündliche Neustart des `iptables-rules`-Dienstes mit `0 * * * * root systemctl restart iptables-rules.service`.

0 * * * * root systemctl restart iptables-rules.service

8. `chmod`-Befehle – Ändern der Dateirechte

Dieser Befehl ändert die Zugriffsrechte für eine Datei oder ein Verzeichnis. Zum Beispiel kann mit `chmod +x „$RULES_FILE“` die Ausführbarkeit einer Datei gesetzt werden.

chmod +x "$RULES_FILE"

Firewall-Konfiguration mit iptables

Das folgende Skript ermöglicht es dir, deine Firewall-Konfiguration mit iptables zu erstellen und zu verwalten. Bitte beachte , dass dies ein komplexes Thema ist und Du sicherstellen sollten, dass Du die Konsequenzen Deiner Änderungen verstehen.

Benötigte Schritte

  • Überprüfen, ob der Ordner /etc/iptables existiert und erstellen ihn wenn nötig.
  • Laden die vorhandene Konfiguration, falls eine existiert.
  • Führen interaktive Abfragen zur Konfiguration durch:
    • Vertrauenswürdige Endpunkte (IPs oder DNS)
    • Wireguard-Konfiguration
    • Zusätzliche öffentliche Ports
    • SSH-Regel
  • Speichern die Konfiguration in der Datei /etc/iptables/firewall.conf.
  • Erstellen die iptables-Regeln basierend auf Deiner Konfiguration.
  • Erstellen und aktivieren den systemd-Dienst iptables-rules.service.
  • Erstellen einen Cronjob, der den Dienst stündlich neu startet.

Codebeispiele

#!/bin/bash
# ...
iptables -A INPUT -s $t -j ACCEPT
# ...
chmod +x "$RULES_FILE"
systemctl daemon-reload
systemctl enable iptables-rules.service
systemctl restart iptables-rules.service

Bitte beachten , dass dies nur ein Auszug aus dem gesamten Skript ist. Stelle sicher, dass Du das komplette Skript durchgelesen und verstanden hast, bevor Du es ausführst.

Fazit

Durch die Verwendung unserer einfachen Firewall-Anleitung kannst du deinen Server sicher und effizient schützen. Denke daran, regelmäßig die Firewall-Konfiguration zu überprüfen und Sicherheits-Updates zu installieren, um dein System vor bekannten Schwachstellen zu schützen.

Ähnliche Themen