iptables Script, für Rootserver tauglich?

Dieses Thema im Forum "Firewalls" wurde erstellt von DiWoWo, 24.08.2008.

  1. DiWoWo

    DiWoWo Grünschnabel

    Dabei seit:
    26.11.2007
    Beiträge:
    7
    Zustimmungen:
    0
    Ich hab mal bissl gegoogelt, nach einem passenden Script, welches ich auf meinem Rootserver gerne als Firewall einsetzen würde. Gefunden hab ich unter anderem dieses "Tutorial".

    Dort habe ich jetzt mal das Script einwenig angepasst, wie ich denke daß es funktionieren würde.

    Hier erst mal mein Ergebnis:

    Code:
    #!/bin/sh
    
    # Flushen, Löschen, Neuerstellung - nicht vergessen im Script! #
    ################################################################
    iptables -F
    iptables -F -t nat
    
    iptables -F sperre
    iptables -X sperre
    iptables -N sperre
    iptables -F sperre
    
    # first contact #
    #################
    iptables -A sperre -i tun0 -s ! 10.8.0.0/255.255.255.255 -j DROP # Alles aus tun0 ohne passende IP wegwerfen
    iptables -A sperre -i eth0 -j ACCEPT # Sonst alles von eth0 erlauben
    iptables -A sperre -i lo -s 127.0.0.1/255.0.0.0 -j ACCEPT # Für Loopback wir immer alles erlaubt ausser von nicht 127.0.0.1
    
    # acceptstuff #
    ###############
    iptables -A sperre -p tcp --dport 21 -j ACCEPT # ftp erlauben
    iptables -A sperre -p tcp --dport 22 -j ACCEPT # SSH
    iptables -A sperre -p tcp --dport 80 -j ACCEPT # Apache
    iptables -A sperre -p tcp --dport 443 -j ACCEPT # Apache/SSL
    iptables -A sperre -p udp --dport 1194 -j ACCEPT # openVPN
    ## .....hier würden dann noch weitere Ports folgen, falls nötig!
    
    # Antworten zulassen #
    ######################
    iptables -A sperre -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # Alles andere abweisen (RFC-konform) #
    # folgende Zeilen garantieren RFC-konforme Antworten. (Port geschlossen), aber Antworten sind Antworten. Jedes Paket kann Informationen beinhalten, 
    # also ist ein DROP an dieser Stelle sicherer, allerdings wird ein DROP von Portscannern als gefiltert erkannt und macht den rechner interessanter,
    # REJECT, wie es unten angeführt ist, als geschlossen. Jeder möge selbst entscheiden..
    #######################################
    iptables -A sperre -p tcp -j REJECT --reject-with tcp-reset
    iptables -A sperre -p udp -j REJECT --reject-with icmp-port-unreachable
    
    # sperre aktivieren #
    #####################
    iptables -A INPUT -j sperre
    iptables -A FORWARD -j sperre
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    
    iptables -P OUTPUT ACCEPT # output immer annehmen (nochmal ein Trojanerhinweis...)
    iptables -P OUTPUT ACCEPT -t nat
    
    echo "Firewall laeuft......"
    Jetzt wäre meine Frage, ob es denn für einen Rootserver in der Form tauglich wäre, bzw auch in seiner Funktion korrekt ist.

    Über schnelle Antworten würd ich mich freuen.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. @->-

    @->- Guest

    Naja, etwas Lückenhaft. Schau dir mal meine Einstellungen an. Ein Beispiel kannst du leider nicht 1:1 übernahmen, weil es immer davon abhängt was du machen willst...

    Code:
    set -e
    
    echo 0 > /proc/sys/net/ipv4/ip_forward
    ([ -f /var/lock/subsys/ipchains ] && /etc/init.d/ipchains stop) >/dev/null 2>&1 || true
    (rmmod ipchains) >/dev/null 2>&1 || true
    /sbin/iptables -F
    /sbin/iptables -X
    /sbin/iptables -Z
    /sbin/iptables -P INPUT DROP
    /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    /sbin/iptables -A INPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
    /sbin/iptables -A INPUT -m state --state INVALID -j DROP
    /sbin/iptables -P OUTPUT DROP
    /sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    /sbin/iptables -A OUTPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
    /sbin/iptables -A OUTPUT -m state --state INVALID -j DROP
    /sbin/iptables -P FORWARD DROP
    /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp ! --syn -j REJECT --reject-with tcp-reset
    /sbin/iptables -A FORWARD -m state --state INVALID -j DROP
    /sbin/iptables -A INPUT -i lo -j ACCEPT
    /sbin/iptables -A OUTPUT -o lo -j ACCEPT
    /sbin/iptables -A FORWARD -i lo -o lo -j ACCEPT
    /sbin/iptables -t mangle -F
    /sbin/iptables -t mangle -X
    /sbin/iptables -t mangle -Z
    /sbin/iptables -t mangle -P PREROUTING ACCEPT
    /sbin/iptables -t mangle -P OUTPUT ACCEPT
    /sbin/iptables -t mangle -P INPUT ACCEPT
    /sbin/iptables -t mangle -P FORWARD ACCEPT
    /sbin/iptables -t mangle -P POSTROUTING ACCEPT
    /sbin/iptables -t nat -F
    /sbin/iptables -t nat -X
    /sbin/iptables -t nat -Z
    /sbin/iptables -t nat -P PREROUTING ACCEPT
    /sbin/iptables -t nat -P OUTPUT ACCEPT
    /sbin/iptables -t nat -P POSTROUTING ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp --dport 8880 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp --dport 465 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp --dport 995 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp --dport 993 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 106 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 5432 -j ACCEPT
    
    /sbin/iptables -A INPUT -p tcp --dport 9008 -j DROP
    /sbin/iptables -A INPUT -p tcp --dport 9080 -j DROP
    
    /sbin/iptables -A INPUT -p udp --dport 137 -j DROP
    /sbin/iptables -A INPUT -p udp --dport 138 -j DROP
    /sbin/iptables -A INPUT -p tcp --dport 139 -j DROP
    /sbin/iptables -A INPUT -p tcp --dport 445 -j DROP
    
    /sbin/iptables -A INPUT -p udp --dport 1194 -j ACCEPT
    
    /sbin/iptables -A INPUT -p udp --dport 53 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp --dport 53 -j ACCEPT
    
    /sbin/iptables -A INPUT -p icmp --icmp-type 8/0 -j ACCEPT
    
    /sbin/iptables -A INPUT -j ACCEPT
    
    /sbin/iptables -A OUTPUT -j ACCEPT
    
    /sbin/iptables -A FORWARD -j DROP
    
    echo 1 > /proc/sys/net/ipv4/ip_forward
    In diesem Sinne
     
Thema:

iptables Script, für Rootserver tauglich?

Die Seite wird geladen...

iptables Script, für Rootserver tauglich? - Ähnliche Themen

  1. Denkfehler, oder was? iptables Script-Problem

    Denkfehler, oder was? iptables Script-Problem: Hi Leute, Ich möchte gern einen Rechner mit ner Firewall schützen. Ich selbst möchte aber alle Port nach aussen offen haben. Führe ich das...
  2. IPTables Script - Verbessungsvorschläge?

    IPTables Script - Verbessungsvorschläge?: Moinsen, ich hab im Moment ein bisschen Zeit, und wollte mich mal ein wenig mit openVPN beschäftigen, und hab mir nen root Server gemietet....
  3. Iptables Script

    Iptables Script: weiß jemand zufällig wo mann gute iptables scripte für client/server umgebungen findet? (bitte keine standardantworten wie search...
  4. Probleme mit iptables/eigenem Script

    Probleme mit iptables/eigenem Script: Hi, ich habe noch einige Schwierigkeiten mit den iptables. Ich hab mir einen Router aufgesetzt, wie dort [1] beschrieben, der nur Masquerading...
  5. FTP/FTPS ohne ip_conntrack_ftp oder nf_conntrack_ftp mit iptables

    FTP/FTPS ohne ip_conntrack_ftp oder nf_conntrack_ftp mit iptables: Guten Tag, kennt jemand von euch eine Möglichkeit wie ich vsftpd nutzen kann zusammen mit einer Firewall ohne die im Betreff angegebenen...