# Mit IPTABLES einen User "einsperren"

## IINeOII

Hi leute ich habe folgendes problem,

ich versuche seit einiger Zeit einen User (am client) so weit einzuschränken das er nicht aufs internet zugreifen kann, sondern nur auf den server.

quwasi soll er den server einwandfrei erreichen können aber nicht das i-net

so meine frage:

Giebt es möglichkeiten außer iptables (mit denen krieg ichs nich hin) einen User auf ein Bestimmtes Interface zu binden z.b. vm auf eth0:0 mit ip 192.168.1.2 am servert bräuchte ich dann nurnoch das i-face eth0:0 192.168.1.1 und könnte den rest über iptables steuern, hat jemand ne idee hab schon rum gegoogelt finde aber nix.

----------

## Beforegod

Läuft der Zugriff aus Internet über nen Proxy oder über NAT?

----------

## IINeOII

über NAT mit postrouting fürs subnet

----------

## toskala

also wenn man iptables mich nicht anlügt kann es sowas wohl.

 *Quote:*   

>    owner
> 
>        This  module attempts to match various characteristics of the packet creator, for locally-gener-
> 
>        ated packets.  It is only valid in the OUTPUT chain, and even this some packets  (such  as  ICMP
> ...

 

----------

## IINeOII

Jo ich kenne das schon habs auch mit owner match probiert aber irgendwie will das nich so wirklich weil wenn ich bsp:

owner vm wird umgeleitet nach 192.168.1.1

dies ist die addresse des alias interfaces eth0:0 aufm server

die packete kommen jetzt zwar nicht mehr ins i-net aber der user kann auch nicht mehr mit dem server kommuniziern schätze das liegt daran das er keine antwort erhalten kann weil der server denkt die ip packete kommen weiterhin von 192.168.0.2 was sie ja auch tun, sowas in der richtung halt bin grad verwirrt

----------

## ruth

hi,

geht doch  :Wink:  aber ned so out-of-the-box...hihi  :Wink: 

schau mal hier:

```

--snip--

The patch allows you to use the owner match in the INPUT chain to match 

properties of the receiving socket. It is mainly intended to help filter weird

protocols like H.323 or IIOB without conntrack helpers, but could also come

handy for local user traffic accounting and similar stuff.

Usage:

   iptables -A INPUT -m udp/tcp -m owner ...

Example:

   # Allow packets on eth0 to sockets owned by local user gnugk

   

   iptables -A INPUT -i eth0 -p udp -m owner --uid-owner gnugk -j ACCEPT

   iptables -A INPUT -i eth0 -p tcp -m owner --uid-owner gnugk -j ACCEPT

--snip--

```

zu finden auf www.netfilter.org -> sektion patch-o-matic -> extra repository...

hoffe, geholfen zu haben  :Wink: 

also die OUTPUT chain wie im posting von oben schon (toskala), dann INPUT chain mit dem patch.

schon gehts...

gruss

rootshell

----------

## henri

Hi Ruth,

da Du hier von Patch-o-matic redest und ich bisher auf meine Frage, wie man patch-o-matic am besten mit Gentoo verwendet noch keine Antwort bekommen habe, frag ich einfach mal Dich  :Wink: 

Wie verwendest Du denn patch-o-matic mit gentoo? Installierst Du iptables dann manuell (ohne emerge)?

Und wenn ja, wie verhinderst Du ein automatisches Update ohne jedes Mal, wenn eine neue Iptables Version in portage auftaucht,  diese zu maskieren? - Ich denke, das wäre notwendig, da patch-o-matic ja auch die Sourcen von Iptables benötigt. Oder liege ich da falsch?

Wäre nett, wenn Du (Nicht nur mir  :Wink:  ) diese Frage beantworten könntest.

Mit freundlichem Gruss,

    Henri

----------

## moe

 *henri wrote:*   

> Hi Ruth,
> 
> Wie verwendest Du denn patch-o-matic mit gentoo?
> 
> Wäre nett, wenn Du (Nicht nur mir  ) diese Frage beantworten könntest.

 

Darf ichs auch tun?  :Wink: 

 *euse -i extensions wrote:*   

> 
> 
> local use flags (searching: extensions)
> 
> ************************************************************
> ...

 

HTH Maurice

----------

## TheSmallOne

-–- gelöscht -–-Last edited by TheSmallOne on Sat Dec 22, 2012 12:28 pm; edited 1 time in total

----------

## Anarcho

 *Quote:*   

> für sowas braucht man weder Aliase noch irgendwelche Umleitungen... oder habe ich irgendwas falsch verstanden?

 

Das gleiche habe ich auch gerade gedacht ....

Warum einfach, wenn es auch kompliziert geht...

----------

## slick

@ IINeOII

Also ich habe das richtig verstanden wenn es um einen "Multi-User-Client" bei dem alle User außer User X ins Internet dürfen. Oder geht es evt. doch darum das ein kompletter Client nicht ins Internet darf, die anderen Clients aber schon.

Wenn das erste Szenario, dann finde ich auch das Post von TheSmallOne sehr passend.

----------

## Ragin

Sollte es das Szenario sein, dass du einfach nur einen anderen PC nicht im Internet frei geben willst kannst du ja die IP Adresse einfach blocken oder generell (je nachdem, wie groß dein Netzwerk ist) nur bestimmte IP-Adressen für das Internet freigeben.

----------

## ro

zB:

iptables -A OUTPUT -m owner --uid-owner $USERID -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -j REJECT

ist natürlich nicht komplett, aber ne kleine quick'n'dirty lösung.

----------

## TheSmallOne

-–- gelöscht -–-Last edited by TheSmallOne on Sat Dec 22, 2012 12:28 pm; edited 1 time in total

----------

## reptile

oder er hat sich jetzt komplett selbst aus dem internet ausgesperrt  :Wink: 

----------

## henri

 *moe wrote:*   

> 
> 
> Darf ichs auch tun? 
> 
>  *euse -i extensions wrote:*   
> ...

 

Ja klar, gerne.

Wenn ich das richtig gesehen habe, werden dann nur zwei zusätzliche patches installiert. 

Ich möchte gerne string-match support.

Ich hab natürlich auch schon patch-o-matic-ng installiert, aber ich bekomme es einfach nicht hin, dass "emerge iptables" trotz FEATURES="... keeptmp" die von emerge entpackten und mit den gentoo patches gepatchten Sourcen NICHT löscht damit ich hinterher patch-o-matic darauf loslassen kann.

Wie mach ich das denn bitte am besten?

Vielen Dank schomal im Voraus,

    Gruss Henri

----------

## slick

Also wenns um Patchen "während" des emerge geht habe ich einen "Workaround"... nach dem entpacken und patchen der Quellen (durch emerge) schnell STRG + Z drücken um den Prozess einzufrosten, dann die Quellen in /var/tmp/portage/... entsprechend patchen und dann mit dem Befehl "fg 1" den Prozess weiter machen lassen. Obwohl es hier im Forum sicher einige andere Alternativen gibt.

----------

