Iptables Host absichern

Aus Xinux Wiki
Version vom 12. April 2025, 20:10 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Die ersten wirklichen Regeln die etwas bewirken= *Momentan wollen wir nur den Host absichern. *Darum können wir die '''FORWARD'''-Kette erstmal außen vor l…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Die ersten wirklichen Regeln die etwas bewirken

  • Momentan wollen wir nur den Host absichern.
  • Darum können wir die FORWARD-Kette erstmal außen vor lassen.
  • Wir beziehen uns also nur auf den Host selbst.
  • Wir wollen nun folgendes tun:
  • Der Rechner soll mit sich selbst über das Loopback Interface kommunizieren können.
  • Vom Rechner selbst nach außen soll zugelassen werden tcp 22,25,53,80,465,443, udp 53 und icmp
  • Auf den Rechner soll per "ssh, http und https" zugegriffen werden können.

Die erste sinnvolle Konfiguration

  • vi /usr/local/sbin/firewall
#!/bin/bash

<span style="color:#004334">REMOTE_TCP_PORTS="22,25,53,80,465,443"</span>
<span style="color:#004334">REMOTE_UDP_PORTS="53"</span>
<span style="color:#8a2be2">LOCAL_TCP_PORTS="22,80,443"</span>

case $1 in
  start)
    echo "starte firewall"
    iptables -F
    iptables -F -t nat

    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP

    <span style="color:#1100FF"># Connection Tracking
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</span>

    <span style="color:#202FF0"># Loopback-Verkehr
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT</span>

    <span style="color:#004334"># Nach außen erlauben
    iptables -A OUTPUT -p tcp -m multiport --dports $REMOTE_TCP_PORTS -m state --state NEW -j ACCEPT
    iptables -A OUTPUT -p udp -m multiport --dports $REMOTE_UDP_PORTS -m state --state NEW -j ACCEPT
    iptables -A OUTPUT -p icmp --icmp-type echo-request -m state --state NEW -j ACCEPT</span>

    <span style="color:#8a2be2"># Zugriffe auf den Rechner erlauben
    iptables -A INPUT -p tcp -m multiport --dports $LOCAL_TCP_PORTS -m state --state NEW -j ACCEPT</span>
    ;;
  stop)
    echo "stoppe firewall"
    iptables -F
    iptables -F -t nat
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT
    ;;
  *)
    echo "usage: $0 start|stop"
    ;;
esac

Firewall starten und aktivieren

  • firewall start