modutils auf vserver

schoeppchen

Registered User
Hallo,

ich habe derzeit leider ein Problem mit meinem vserver. Ich möchte gerne einige Rules für iptables hinzufügen, diese erfordern eine State Machine. Dieses Modul heißt mod_conntrack und müsste in den Kernel rein (per modprobe), denn leider ist der vserver Kernel nicht mit diesem Tracking compiliert.

Das geht normalerweise mit depmod bzw. modprobe, leider schlagen diese Befehle gnadenlos fehl, da diese keine gültige module-base (modules.dep) finden können. Eine solche Datei existiert auch nirgends auf meiner Platte.

Gehe ich recht in der Annahme, dass das nachträgliche Laden eines Kernelmoduls bei vserver nicht möglich ist, da sich dies ja sonst auf alle User der gleichen Maschine auswirken würde? Denn alle nutzen ja den gleichen Kernel, korrekt?

Kennt jemand eine Möglichkeit so etwas auf einem vserver doch zu machen?

Gruß+Danke,
Oliver
 
schoeppchen said:
Gehe ich recht in der Annahme, dass das nachträgliche Laden eines Kernelmoduls bei vserver nicht möglich ist, da sich dies ja sonst auf alle User der gleichen Maschine auswirken würde? Denn alle nutzen ja den gleichen Kernel, korrekt?
Meine Lieblingsfragen: Frage und Antwort in einem... ;)

Im Ernst:
Ich denke es ist so, wie Du denkst. Aber 100%ig müsste es jemand von S4Y beantworten können... (vieleicht ließt ja jemand mit...)

huschi.
 
Das nachladen von Kernelmodulen ist nicht möglich.
Wäre auch ein viel zu großes Sicherheitsloch.
 
Das ist echt schade, denn ich fnde es ist ein absolutes Sicherheitsproblem, wenn man keine sinnvolle Firewall aufsetzen kann. Denn ohne State Machine bringt das doch alles nix :mad:

Schonmal danke für eure Antworten, evtl. könnte man ja mal bei vserver anfragen ob das für spätere Releases möglich wäre, dieses Modul verfügbar zu machen.
 
Na dass eigene Module nicht gehen kann man ja noch nachvollziehen aber die Netfilter Module könnte(sollte) man schon einbauen. Bei vd-server sind diese übrigens vorhanden und können bei Bedarf selbst geladen werden.
 
Sascha said:
Na dass eigene Module nicht gehen kann man ja noch nachvollziehen aber die Netfilter Module könnte(sollte) man schon einbauen. Bei vd-server sind diese übrigens vorhanden und können bei Bedarf selbst geladen werden.

Hehe, naja bei vd-server kann man auch den Traffic anderer UMLs sniffen, ist halt eben kein Proxy Arp. Statefull Matching geht auch ohne mod_conntrack, und warum das keinen Sinn bei Proxy Arp macht sollte jedem klar sein. :)
 
Hi Maik!

Diese Behauptung kannst du doch sicherlich irgendwie glaubhaft belegen... gerne auch per PN. ;)
 
mbroemme said:
[...]Statefull Matching geht auch ohne mod_conntrack, [...]

Aber nicht unter iptables, oder? Leider kenne ich nur die Möglichkeit wie z.B.

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Geht das auch anders unter iptables? Denn für obiges scheint man ja mod_conntrack zu benötigen, oder etwa doch nicht?

Ich habe auf meinem System nämlich eine Datei

/lib/iptables/ipt_conntrack.so

gefunden, aber wie soll ich die denn einbinden wenn nicht als Kernel Modul?
 
Hi,

Sascha ich muss das mal raussuchen, es gab dazu mal ein ziemlich gutes Howto auf den netfilter MLs, weil genau das conntrack Modul ueberall verboten wird, wo man auf Kernelebene virtualisiert, was UML ja nicht macht. Aber im naechsten Virtuozzo Major Update soll es enthalten sein, wozu kann man Feature Requests machen ;)

Die Frage ist wozu braucht ihr das genau, NAT und MASQUERADING wird auf einem vSERVER ja sowieso nicht gehen.
 
Naja, also ich würde die State Machine einfach gerne für Regeln wie

"von innen nach aussen alles erlauben"

verwenden.

Das wäre dann in iptables gesprochen z.B. so etwas (natürlich stark simplifiziert):

iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

Ich weiß halt nicht, wie ich solch eine Regel ohne State Machine sonst in einem 2-Zeiler definieren kann.
 
mbroemme said:
Hehe, naja bei vd-server kann man auch den Traffic anderer UMLs sniffen, ist halt eben kein Proxy Arp.

Hi,

nachdem ich eben von mbroemme per Email eine Stellungname zu dieser Aussage bekommen habe, in der er darauf hinweist, dass er ohne Kenntnis der VD-Server Systeme einfach von einer privaten UML-Installation auf unsere Systeme geschlossen hat, denke ich dass eben diese Information nicht vorenthalten werden sollte. Es bestehen einige merkliche Unterschiede zwischen UML-Basteleien zuhause und der Erfahrung die in den VDs steckt.

Einfaches 'sniffen' ist auf den VD-Servern definitiv unmöglich, weder unsere Testserver-User, unsere Kunden noch die c't haben in dieser Hinsicht bisher irgendwelche Lücken entdecken können.

Grüße,
Peter Hovorka

(der sich über jeder Klare Aussage zur Unsicherheit seiner Systeme freut, da dies die Systeme ja nur verbessert. Aussagen obiger Art, vor allem wenn Sie aufgrund des Arbeitgebers des Verfassers wirtschaftliches Interesse vermuten lassen sind aber im besten Falle deplatziert)
 
Hi,

Herr Hovorka, genau das wollte ich in meiner E-Mail sagen, dies ist ja ein Diskussionsforum, wenn etwas nicht stimmt, find ich es Ok wenn Sie das hier wiederlegen, nur fand ich die E-Mail dann doch etwas falsch. Wir diskutieren hier gerne sowohl ueber vSERVER, VD-Server und andere virtuelle Serveranbieter. Ich benutze zuhause halt eine alte UML Implementierung wo dies moeglich ist, die von VD-Server kann ich ja nicht testen, weil darf nicht ;)

Eventuell bestell ich nochmal einen, zum Testen und Vergleich mit anderen virtuell dedizierten Anbietern (nicht nur uns) ist sowas durchaus praktisch.

Ich glaube Ihnen das durchaus, wenn Sie mir sagen, das dies nicht moeglich ist bei VD-Server.

PS: Schoen das jetzt hier noch ein Unternehmen vertreten ist :) Und noch etwas. Ich poste hier privat, wir leben in einer Demokratie (naja zumindest so teilweise :) Aussagen die ich hier treffe sind meine persoenlichen, ich finde auch nicht alles ist Gold was wir tun, aber ich bin auch nur so ein kleiner Entwickler :)
 
Last edited by a moderator:
Sorry fürs bumping aber mich würde auch mal interessieren wie ich ne State Machine ohne mod_conntrack ans laufen kriege :)
 
mbroemme said:
Die Frage ist wozu braucht ihr das genau, NAT und MASQUERADING wird auf einem vSERVER ja sowieso nicht gehen.

Also nur mal so als Beispiel...OpenBSD kann eine Art Connection Tracking auch für UDP. Hat Vorteile. :)

Für uns ist es aber u.a. auch deswegen interessant, weil z.B. FTP besser abzusichern ist. Für Anfänger ist es auch aus praktischen Gesichtspunkten besser, da mittels Stateful Inspection das Regelwerk einfacher wird (man muss etwa keine Reply-Pakete beachten, wenn man den Request erlaubt). Ich denke da mit Schrecken an die Standard Packet Filter im Cisco IOS. Bei mir persönlich kommt noch dazu, dass ich mich beim Erstellen von iptables-Regelwerken MIT den o.g. Modulen wie ip_conntrack besser auskenne als mit solchen, wo diese nicht erlaubt sind. :D
Inwieweit Connection Tracking & Co. auch gegen man-in-the-middle attacks und session hijacking einsetzen lässt, darüber darf gerne spekuliert werden. :)
 
Hmm..beim ProFTPd kann man ja auch eine PortRange für PASSIVE MODE angeben. Wäre so nicht ein FTP Betrieb trotz Firewall möglich?
Hab hier und dort ja in einigen Posts gelesen, dass ein FTP Betrieb überhaupt nicht möglich sei wenn die Firewall aktiviert ist (wg state machine)
 
Vom Kunden-Support:
"Bei vSERVERn ist es nicht möglich Kernel-Module zu laden. Ihre Firewall können Sie mittels tcp flags steuern."

Heißt das, dass es doch keine Kernel-Module geben wird...?
 
Hi,

wtf? Hat dir das einer bei uns vom Support erzaehlt?

Derzeit koennen folgende netfilter Module verwendet werden:

ip_conntrack.o
ip_conntrack_ftp.o
ip_nat_ftp.o
ip_tables.o
ip_vzproxy.o
ipt_LOG.o
ipt_MARK.o
ipt_MASQUERADE.o
ipt_MIRROR.o
ipt_REDIRECT.o
ipt_REJECT.o
ipt_TCPMSS.o
ipt_length.o
ipt_limit.o
ipt_mac.o
ipt_mark.o
ipt_multiport.o
ipt_tcpmss.o
ipt_tos.o
ipt_ttl.o
ipt_unclean.o
iptable_filter.o
iptable_mangle.o
iptable_nat.o

Mehr sind es im Moment nicht. :)
 
Und wo finde ich die? :)

Code:
root:~ # modprobe ip_conntrack
modprobe: Can't open dependencies file /lib/modules/2.4.20-021stab022.3.777-enterprise/modules.dep (No such file or directory)

Ok, der Test hat nicht funktioniert.
 
Bei allen HostSystemen verfügbar?

@mbroemme
Wenn die oben aufgelisteten Module funktionieren sollen, könntest du mir bestimmt folgende Zeile kommentieren ;)

Code:
[user@admin /]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables: No chain/target/match by that name

Das gleiche Verhalten entdecke ich bei Logging-rules.

Da mein Server gerademal eine uptime von 5 Tagen besitzt, gehe ich davon aus, das die Änderungen seit August eigentlich auch auf meinem Hostsystem funktionieren sollten.
 
Back
Top