Frage von SiFiScience, 31

Wo kann man bei Linux OpenSuse sein eigenes Iptables Script speichern, oder Zeilen zur Firewall hinzufügen?

Hallo, wo kann ich das Script hinzufügen:

    #!/bin/sh
    # iptables Firewall Skript
    echo "Loading Firewall ..."
    
    ##################
    # iptables 
    ##################
    
    IPTABLES="/sbin/iptables"
    
    ##################
    # Purge/Flush 
    ##################
    
    # Alle Regeln löschen
    $IPTABLES -F 
    $IPTABLES -t nat -F
    $IPTABLES -t mangle -F
    
    # Alle Regelketten löschen
    $IPTABLES -X 
    $IPTABLES -t nat -X
    $IPTABLES -t mangle -X
    
    ##################
    # Regeln
    ##################
    
    # IPv4 Default
    $IPTABLES -P INPUT DROP
    $IPTABLES -P FORWARD DROP
    $IPTABLES -P OUTPUT ACCEPT
    
    # Loopback-Schnittstelle Verkehr erlauben
    $IPTABLES -A INPUT -i lo -j ACCEPT 
    $IPTABLES -A OUTPUT -o lo -j ACCEPT
    
    # ICMP-Antwortpakete erlauben
    $IPTABLES -A INPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT 
    $IPTABLES -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT 
    $IPTABLES -A INPUT -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT
    
    # Alle Pakete zu einer bestehenden TCP-Verbindung akzeptieren
    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # Alle Pakete ordentlich zurückweisen
    $IPTABLES -A INPUT -p tcp -j REJECT --reject-with tcp-reset 
    $IPTABLES -A INPUT -j REJECT --reject-with icmp-port-unreachable
    
    echo "................ done!"

oder Regeln zB. ($IPTABLES -A OUTPUT -d 72.14.192.0/18 -j REJECT) an der richtigen Stelle der SuSEfirewall korrekt hinzufügen (mein Englisch ist leider nicht so gut)?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von flaglich, 19

Praktischerweise speichert man Skripte im dafür vorgesehenen Ordner /etc/ini.d/ wenn man die Firewall als Dienst sieht. Ansonsten bietet sich /root/bin an. Du kannst es auch in /root/bin/ speichern und in /etc/int.d einen Link setzen. Wenn Du es richtig SuSEmäßig machen willst, setze noch einen Link in /usr/bin/rcfirewall.

Früher gab es bei Suse in /etc/init.d ein Skelett für ein Skript, damit du dein Firewallskript ordentlich in den Startprozess einbinden konntest, aber das war vor Systemd. Findet sich aber bestimmt noch.

Die SuSEfirewall wird am einfachsten über Yast konfiguiert Sicherheit und Benutzer. das nächst komplexere ist das System / etc/sysconfig  - Editor. Damit kannst du die Variablen für das Susefirewallskript setzen, hast halt ein Formular mit Masken.

Natürlich kannst du auch die /etc/sysconfig/network/SuSEfirewall2 direkt bearbeiten.

Es ist vorgesehen, dass deine eigenen Regeln an die entsprechende Stelle schreibst. Setze nur die Regeln die durch Suse nicht schon bedacht sind! (Sag ich aus Erfahrung)

Viel Erfolg

Kommentar von SiFiScience ,

Vielen Dank für diese ausführlich Antwort.

Über Yast gibt es leider nicht die Möglichkeit zB. mehrere IpRanges zu blockieren, sonst wäre das die leichteste Lösung.

Ich teste die Änderungen an der SuSEfirewall2 mal in einer VirtuellenMaschiene, damit nichts zerschossen wird.

Kommentar von flaglich ,

Ich hab gerade noch mal ein Yast aufgemacht, im Firewall modul gibt es den Punkt Benutzerdefinierte Regeln. Da würde ich auch mehrere Ranges eintragen, eine Range auf einmal. Ansonsten probiere doch mal wie es in der Anleitung steht die du gefunden hast.

Kommentar von SiFiScience ,

Unter Yast2 kann man leider nur immer eine Range eintragen.

Das ist dann doch zu Zeitaufwendig ;).

Ich habe mal OpenSuseLeap in eine Box installiert, iptables -L abgerufen: Macht anscheinend das gleiche wie mein Script das hier (gepostet)  in der Fragestellung steht.  

Ich kann SuSEfirewall-custom nicht Bearbeiten, obwohl es per chmod +rw die Berechtigungen bekommen hat. Woran liegt das?

Kommentar von flaglich ,

Bist du root?

-rwxr-xr-x 1 root root 4335 30. Okt 2014 SuSEfirewall2-custom
-rw-r--r-- 1 root root 4335 22. Jul 2015 SuSEfirewall2-custom.in

SuSEfirewall macht noch ein bisschen mehr.

Kommentar von SiFiScience ,

whoami

root

Ja bin ich.

Kommentar von SiFiScience ,

Es erscheint keine Fehlermeldung, trotzdem bekomm ich keine Schreibrechte....

Kommentar von flaglich ,

mit was editierst Du? woher weißt du, dass du kein Schreibrecht hast wenn keine Fehlermeldung erscheint?

Kommentar von SiFiScience ,

Sorry, es erscheint keine Fehlermeldung wenn ich die per chmod die Rechte vergebe. Wenn ich mit dem Texteditor die datei abspeichern wollte kan immer die Meldung ...dass das Schreiben nicht möglich ist...

Mit kdesu dolphin hat es geklappt. Warum geht es über die Konsole nicht?

Habe die Ausgaben von "iptables -L" mit blockierten Ranges und ohne Änderung an SuSEfirewall2-custom und SuSEfirewall2, verglichen. Alles ok! 

Es wurden zusätzlich (zu den Standartregeln) die Ips blockiert bzw. ein port unreachable gesendet.


Expertenantwort
von Linuxhase, Community-Experte für PC, 14

Hallo

Wo kann man bei Linux OpenSuse sein eigenes Iptables Script speichern

Wieso sollten die bei openSUSE woanders liegen als bei jeder anderen (richtigen) Distribution auch?

/usr/share/ufw/iptables/    # Hier gehören die hinein

(mein Englisch ist leider nicht so gut)?

Es wäre sehr anzuraten das zu ändern, denn Du wirst es immer mal wieder brauchen. Ich jedenfalls kann mich mit den Übersetzungen der Manpages (z.B.: bei Ubuntu) nicht anfreunden. Oft sind diese Fehlerhaft und meist sogar weniger ausführlich als die Originale.

Schau es Dir ruhig mal an:

man iptables

Linuxhase

Kommentar von SiFiScience ,

Danke schonmal.

Nur ist es bei SuSE etwas anders als bei Debian oder Ubuntu.

/usr/share/ufw/iptables/    # Hier gehören die hinein

Dort gibt es leider keinen ufw-ordner.

Ich möchte entweder das Script verwenden (Das dann auch bein Booten startet). Oder Blockierregeln hinzufügen, ohne das die StandardFirewall "SuSEfirewall2" ein Schlupfloch bildet^^.

Kommentar von Linuxhase ,

@SiFiScience

Dort gibt es leider keinen ufw-ordner.

Dann lege doch einen an und platziere Deine Datei(en) darin.

Linuxhase

Kommentar von SiFiScience ,

Ich habe hier etwas gefunden, nur ob das so korrekt ist...?

http://dahlmann.biz/wordpress/?p=569

Kommentar von Linuxhase ,

@SiFiScience

nur ob das so korrekt ist...?

Also ich habe mal schnell nachgesehen wie es bei mir ist, da gibt es die Datei auch in der man seine eigenen Regeln unterbringen kann.

Linuxhase

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten