iptables einrichten

  • Hallo Forum,
    Ich habe zur Einrichtung meiner Firewall mir ein wenig aus dem Forum zusammen gesucht, aber so richtig weiß ich auch nicht, ob das alles so richtig ist.


    Wenn ich das Sktipt unten mit "firewall start" anwerfe, bekomme ich folgende Fehler:


    Dann noch die Frage, wie ich die Firewall automatisch mit jedem Boot gestartet bekomme.
    Danke für eure Hilfe!


  • # Rate limit ICMP (ping) packets
    $IPTABLES -I INPUT -p icmp --icmp-type echo-request -m recent --set
    $IPTABLES
    -I INPUT -p icmp --icmp-type echo-request -m recent --update --seconds 20 --hitcount 10 -j LOGNDROP$IPTABLES -A INPUT -p icmp -m icmp --icmp-type address-mask-request -j LOGNDROP



    müsste so sein...


    # Rate limit ICMP (ping) packets
    $IPTABLES -A INPUT -p icmp --icmp-type echo-request -m recent --set
    $IPTABLES
    -A INPUT -p icmp --icmp-type echo-request -m recent --update --seconds 20 --hitcount 10 -j LOGNDROP
    $IPTABLES
    -A INPUT -p icmp -m icmp --icmp-type address-mask-request -j LOGNDROP

  • Zum Auto-Start :


    Ich habe dem Script einen Kopf in dieser Form verpasst .....


    - Verzeichnis /home/root angelegt
    - Als Besitzer für das Verzeichnis und alleiniger Zugriff "root"
    - Im Pfad /etc/init.d einen symbolischen Link auf die Datei angelegt und chmod 755 ausgeführt
    - mit "update-rc.d minescript.sh defaults" in den Systemstart/-stopp mit aufgenommen



    So mache ich das eigentlich auch mit allen Game-/Voice-Servern auf meinem Root (natürlich starte ich die NICHT als root).

    9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die letzte summt ständig die Melodie von Tetris.

    2 Mal editiert, zuletzt von RHA ()

  • Code
    # Drop all invalid packets
    $IPTABLES -A INPUT -m state --state INVALID -j LOGNDROP
    $IPTABLES -A FORWARD -m state --state INVALID -j LOGNDROP$IPTABLES -A OUTPUT -m state --state INVALID -j LOGNDROP


    muss ebenso so aussehen, sonst kommt eine Fehlermeldung:

    Code
    # Drop all invalid packets
    $IPTABLES -A INPUT -m state --state INVALID -j LOGNDROP
    $IPTABLES -A FORWARD -m state --state INVALID -j LOGNDROP
    $IPTABLES -A OUTPUT -m state --state INVALID -j LOGNDROP

    Schöne Grüße aus der Lüneburger Heide!
    Thomas

  • Ich habe nicht viel modifiziert und das ist im ersten Post schon nicht korrekt!
    Da scheinen beim Kopieren die Zeilen verrutscht zu sein.


    Ich würde mir ja gerne Deine noch mal ansehen, aber die sind ja zur Zeit off. :(

    Schöne Grüße aus der Lüneburger Heide!
    Thomas

  • "Ich würde mir ja gerne Deine noch mal ansehen"


    Da ich diese (von raymd) auch verwende ;)
    Hier ist das (bis auf die Portnummern und das mit w00t) Original von raymd


    Wobei ich mich damit immer noch per FTP aussperre.

  • Sperrst du dich per FTP oder SSH aus? Arbeitest du mit einem FTP-Programm oder z.B. WinSCP?





    Du hast als SSH den Port ##### angegeben, diesen aber in den Incoming-Ports nicht freigegeben. Mit WinSCP oder Putty dürftest du dich also nicht per SSH auf den Server verbinden können.

    9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die letzte summt ständig die Melodie von Tetris.

    2 Mal editiert, zuletzt von RHA ()

  • Ich komme mit einem normalen FTP-Clienten (TotalCommander) über den passiven und normalen Modus nicht rein.


    Den SSH-Port hatte ich vergessen hier im Beitrag zu maskieren oder zu entfernen. Der steht natürlich bei den offenen Port mit drin im laufenden Betrieb ;)

  • Habe das Script auch in meinen Server eingespielt, hierzu aber eine Verständnisfrage:


    Hätte versucht, das Script direkt in /etc/network/if-up.d/iptables zu legen, das funktionierte aber nicht. Als ich nur den Aufruf


    Bash
    #!/bin/bash
    iptables-restore < /etc/firewall-rules
    exit 0


    reingeschrieben und die Rechte gesetzt habe ging es einwandfrei. Woran liegt das?

  • ist jetzt nur geraten:


    da iptables ja direkt im kernel sitzt, wird man den code nicht einfach austauschen können, sondern muss bestimmte dinge vorbereiten. vermutlich das aktuell bearbeitete paket fertig stellen und dergleichen.


    iptables-restore bereitet dies dann vermutlich vor, ersetzt die alten regeln und sagt das vielleicht auch noch dem kernel

  • Noch für alle, die wie ich Probleme mit dem FTP-Zugang haben. Man kann folgende Regeln ergänzen:

    Code
    $IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --sport 20 -j ACCEPT