• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Was stimmt an dieser regel nicht ??

simpson

Newbie
Hallo, auf einem VServer läuft Plesk. Die Firewall hat shcon von "plesk" aus standrad regeln drin. Dies sollen die "normalen" dienste sein. Doch läßt sich die Firewall nicht aktivieren, da der Fehler kommt:
iptables: bad builtin chain name
Leider sagt mir das fast überhauptnichts, mit ausnahme, das da etwas nicht stimmt. Von iptables verstehe ich momentannicht viel, so das ich sehr glücklich wäre, wenn sich jemand den code mal anschauen könnte und mir ggf sagen könnte, was dort nicht simmt. Wie gesagt, es sollen nur Die standard dienste so laufen, wie sie bisher auch in Plesk drin stehen.
Code:
#!/bin/sh
#
# Automatically generated by Plesk netconf
#

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
/usr/sbin/iptables -F
/usr/sbin/iptables -X
/usr/sbin/iptables -Z
/usr/sbin/iptables -P INPUT DROP
/usr/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/usr/sbin/iptables -A INPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
/usr/sbin/iptables -A INPUT -m state --state INVALID -j DROP
/usr/sbin/iptables -P OUTPUT DROP
/usr/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
/usr/sbin/iptables -A OUTPUT -m state --state INVALID -j DROP
/usr/sbin/iptables -P FORWARD DROP
/usr/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp ! --syn -j REJECT --reject-with tcp-reset
/usr/sbin/iptables -A FORWARD -m state --state INVALID -j DROP
/usr/sbin/iptables -A INPUT -i lo -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/usr/sbin/iptables -A FORWARD -i lo -o lo -j ACCEPT
/usr/sbin/iptables -t mangle -F
/usr/sbin/iptables -t mangle -X
/usr/sbin/iptables -t mangle -Z
/usr/sbin/iptables -t mangle -P PREROUTING ACCEPT
/usr/sbin/iptables -t mangle -P OUTPUT ACCEPT
/usr/sbin/iptables -t mangle -P INPUT ACCEPT
/usr/sbin/iptables -t mangle -P FORWARD ACCEPT
/usr/sbin/iptables -t mangle -P POSTROUTING ACCEPT
/usr/sbin/iptables -t nat -F
/usr/sbin/iptables -t nat -X
/usr/sbin/iptables -t nat -Z
/usr/sbin/iptables -t nat -P PREROUTING ACCEPT
/usr/sbin/iptables -t nat -P OUTPUT ACCEPT
/usr/sbin/iptables -t nat -P POSTROUTING ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
/usr/sbin/iptables -A INPUT -p tcp --dport 8880 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/usr/sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT
/usr/sbin/iptables -A INPUT -p tcp --dport 465 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT
/usr/sbin/iptables -A INPUT -p tcp --dport 995 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT
/usr/sbin/iptables -A INPUT -p tcp --dport 993 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 106 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

/usr/sbin/iptables -A INPUT -p tcp --dport 5432 -j DROP

/usr/sbin/iptables -A INPUT -p tcp --dport 9008 -j DROP
/usr/sbin/iptables -A INPUT -p tcp --dport 9080 -j DROP

/usr/sbin/iptables -A INPUT -p udp --dport 137 -j DROP
/usr/sbin/iptables -A INPUT -p udp --dport 138 -j DROP
/usr/sbin/iptables -A INPUT -p tcp --dport 139 -j DROP
/usr/sbin/iptables -A INPUT -p tcp --dport 445 -j DROP

/usr/sbin/iptables -A INPUT -p udp --dport 1194 -j ACCEPT

/usr/sbin/iptables -A INPUT -p udp --dport 53 -j ACCEPT
/usr/sbin/iptables -A INPUT -p tcp --dport 53 -j ACCEPT

/usr/sbin/iptables -A INPUT -p icmp --icmp-type 8/0 -j ACCEPT

/usr/sbin/iptables -A INPUT -j ACCEPT

/usr/sbin/iptables -A OUTPUT -j ACCEPT

/usr/sbin/iptables -A FORWARD -j DROP

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /usr/local/psa/var/modules/firewall/ip_forward.active
chmod 644 /usr/local/psa/var/modules/firewall/ip_forward.active
#
# End of script
#
 
"bad builtin chain name" kommt, wenn der angegebene Filterstrang nicht vorhanden ist.

Meist hat man vergessen, das entsprechende Filtermodul zu laden.
Da keine offensichtlichen Tippfehler drin sind, fehlen wahrscheinlich einige Module.
Schau mal mit "lsmod | grep ip" nach, ob
Code:
iptable_nat
ip_nat
iptable_mangle
ipt_REJECT
ip_conntrack
iptable_filter
ip_tables
x_tables
geladen sind.
Auf einer normalen Opensuse 10.1 läuft das Skript jedenfalls fehlerfrei durch.
(guck mal mit "uname -a" nach, welcher Kernel läuft ).

Grüsse!!
 
OP
S

simpson

Newbie
hmm bei lsmod | grep ip kommt keine antwort....

das bedeutet doch, das die firewall NIE so arbeitne wirdd, da sie ja nicht mit der auromatishcen konfig von plesk klar kommt.
das ding ist auf nem Vserver drauf, dessen bezeichnug der schnittstelle auch ganz anders ist.
hat das damit etwas zu tun ??
 
Aha. Das kann bedeuten, dass der vorliegende Kernel keine Module findet, oder aber aus Sicherheitsgründen keine unterstützt (es gibt Rootkits, die als Kernelmodul ausgeführt werden, dann wären auch die Ip-Tables-Module fest integriert, lsmod zeigt nichts an).

Wie oft kommt denn die Meldung? Wenn die nur ein- oder zweimal kommt, fehlt vielleicht nur ein eher unwichtiges Modul?

Einige Sachen sind vielleicht auch überflüssig, z.B. wenn da die INPUT-Policy Drop ist, brauchst du nicht mehr explizit 137-139 dicht machen (Zumal doch bestimmt eh kein Samba läuft).

Tip: belegte inet-Sockets anzeigen: "lsof -i" (als root). Zuordnung Dienst/Port: "less /etc/services"

Grüsse!!
 
OP
S

simpson

Newbie
ich vermute mal, da die netzwerkschnittstelle NICHT eth0 etc ist sondern venet0 , wird das auch mit iptables nicht so one weiteres hinhauen.
zu doof, das ein hoster das mit "seiner" software anbietet, das aber völliger humbug ist.
hmm, weiß aber auhc nciht genau, was ich machen soll. ich kann ja nicht einfach die schnittstelle umbenennen, da der rest dann ja nicht laufen wird.
 
Schimpf mich blind, aber als einzige Interfaceangabe in obigem Skript sehe ich "lo", das loopback-Interface. Für die meisten Iptables-Regeln ist es ziemlich unerheblich, welche Interfaces verwendet werden (Ausnahme: Virtuelle Interfaces, z.B. eth0:1 oder so, die können nur über die entsprechende IP gefiltert werden, nicht mit dem überaus praktischen "-i" oder "-o").

Das Skript ist ja jetzt auch nicht so Superkompliziert, und grundlegende Filterfunktionen sollten auch auf einem virtuellen Server vorhanden sein.

Grüsse!!
 
Oben