Frage zu iptables und dem owner-Modul

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 06.01.2017 16:15:44

Mal eine dumme Frage ... :facepalm:

Kann mir jemand kurz erklären, warum Folgendes funktioniert?

Ich möchte verschiedene Anwendungen unterschiedlich mit iptables behandeln. Dazu wurde mir empfohlen, eine spezielle Gruppe ("mystery") anzulegen, und dann meinen Standardbenutzer ("pinguin") hinzuzufügen. Dann kann ich die Gruppen-ID der Pakete (ist das richtig ausgedrückt?) mit

Code: Alles auswählen

 iptables -A OUTPUT -m owner --gid-owner mystery -j DROP
verwerfen lassen.

Jetzt:

Code: Alles auswählen

 ping google.de
64 bytes from fra16s05-in-f99.1e100.net (216.58.214.99): icmp_seq=1 ttl=52 time=33.1 ms
 
aber:

Code: Alles auswählen

 sg mystery 'ping google.de'
ping: unknown host google.de
Nach dem Entfernen der iptables-Regel gibt es keine Unterschiede. Warum? Gehört der Nutzer pinguin nicht in beiden Fällen in die Gruppe mystery, so dass die Pakete mit aktivierter Regel verworfen werden müssten?

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: Frage zu iptables und dem owner-Modul

Beitrag von dufty2 » 06.01.2017 16:31:14

Vermute, dass der user 'pinguin' während des ersten pings diese unter seiner "Default-Gruppe" ausführt:

Code: Alles auswählen

$ id
Beim zweiten ping-Befehlt wird dann tatsächlich die "mystery"-Gruppe verwendet.

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 06.01.2017 17:51:10

Code: Alles auswählen

uid=1000(pinguin) gid=1000(pinguin) groups=1000(pinguin),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),121(pulse),122(pulse-access),127(wireshark)

Code: Alles auswählen

 sg mystery 'id' 

Code: Alles auswählen

gid=1001(mystery) groups=1001(mystery),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),121(pulse),122(pulse-access),127(wireshark),1000(pinguin)
:idea:
Deine Vermutung scheint zu stimmen. Was müsste ich denn ändern, damit die mystery-Gruppe auch im ersten Befehl auftaucht?

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Frage zu iptables und dem owner-Modul

Beitrag von mat6937 » 06.01.2017 17:57:21

FragDenPinguin hat geschrieben:

Code: Alles auswählen

gid=1001(mystery) groups=1001(mystery),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),121(pulse),122(pulse-access),127(wireshark),1000(pinguin)
Was müsste ich denn ändern, damit die mystery-Gruppe auch im ersten Befehl auftaucht?
Wie ist die Ausgabe von:

Code: Alles auswählen

cat /etc/group | grep -i mystery
?

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 06.01.2017 18:03:31

Code: Alles auswählen

mystery:x:1001:pinguin

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Frage zu iptables und dem owner-Modul

Beitrag von mat6937 » 06.01.2017 18:15:04

FragDenPinguin hat geschrieben:

Code: Alles auswählen

mystery:x:1001:pinguin
Evtl. liegt es daran, weil Du "mystery" nicht als "system group" angelegt/hinzugefügt hast.

Wie ist die Ausgabe von:

Code: Alles auswählen

id pinguin
?

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 06.01.2017 18:53:26

Danke für die Hilfe soweit. :THX: Weiter:

Code: Alles auswählen

uid=1000(pinguin) gid=1000(pinguin) groups=1000(pinguin),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),127(wireshark),121(pulse),122(pulse-access),1001(mystery)

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Frage zu iptables und dem owner-Modul

Beitrag von mat6937 » 06.01.2017 19:34:40

FragDenPinguin hat geschrieben:Weiter:

Code: Alles auswählen

uid=1000(pinguin) gid=1000(pinguin) groups=1000(pinguin),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),127(wireshark),121(pulse),122(pulse-access),1001(mystery)
Wie ist jetzt die Ausgabe von:

Code: Alles auswählen

whoami && id
?

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 06.01.2017 20:00:41

Code: Alles auswählen

pinguin
uid=1000(pinguin) gid=1000(pinguin) groups=1000(pinguin),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),121(pulse),122(pulse-access),127(wireshark)

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Frage zu iptables und dem owner-Modul

Beitrag von mat6937 » 06.01.2017 20:06:17

FragDenPinguin hat geschrieben:

Code: Alles auswählen

pinguin
uid=1000(pinguin) gid=1000(pinguin) groups=1000(pinguin),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),121(pulse),122(pulse-access),127(wireshark)
Wenn Du es genau wissen willst, könntest Du jetzt eine neue group als system-group anlegen, den user pinguin dieser group hinzufügen und danach dir die Ausgabe von id anschauen.

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 06.01.2017 23:19:13

Mir ist ehrlich gesagt der Unterschied zwischen einer Systemgruppe und einer normalen Gruppe nicht so ganz klar. Ist bei der Systemgruppe einfach nur die gid < 1000? Oder wie lege ich die sonst an?

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Frage zu iptables und dem owner-Modul

Beitrag von mat6937 » 06.01.2017 23:23:01

FragDenPinguin hat geschrieben:... Oder wie lege ich die sonst an?
Z. B. mit:

Code: Alles auswählen

addgroup --system <Gruppe>

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 07.01.2017 07:45:55

Sorry, hatte wohl vergessen, mich ab- und wieder anzumelden. Danach sieht die Ausgabe von whoami && id (ohne weitere Änderung) so aus:

Code: Alles auswählen

pinguin
uid=1000(pinguin) gid=1000(pinguin) groups=1000(pinguin),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),121(pulse),122(pulse-access),127(wireshark),1001(mystery)
Weiter mit der Systemgruppe:

Code: Alles auswählen

#addgroup --system hidden
Adding group `hidden' (GID 138) ...
Done.

Code: Alles auswählen

#adduser pinguin hidden
Adding user `pinguin' to group `hidden' ...
Adding user pinguin to group hidden
Done.
Nach Neuanmeldung:

Code: Alles auswählen

$(whoami && id)
pinguin
uid=1000(pinguin) gid=1000(pinguin) groups=1000(pinguin),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),118(bluetooth),121(pulse),122(pulse-access),127(wireshark),138(hidden),1001(mystery)
Das vorherige Nicht-Auftauchen der Gruppe in id lag also wohl einfach an der nicht erfolgten Neuanmeldung.

Als root:

Code: Alles auswählen

#iptables -A OUTPUT -m owner --gid-owner hidden -j DROP
Als pinguin:

Code: Alles auswählen

ping google.de
64 bytes from fra16s05-in-f3.1e100.net (216.58.214.99): icmp_seq=1 ttl=52 time=29.7 ms

Code: Alles auswählen

$sg hidden 'ping google.de'
ping: unknown host google.de
Als root:

Code: Alles auswählen

iptables -D OUTPUT -m owner --gid-owner hidden -j DROP
Danach mit pinguin:

Code: Alles auswählen

$sg hidden 'ping google.de'
PING google.de (216.58.214.99) 56(84) bytes of data.
.

Die bloße Zugehörigkeit eines Users zu einer bestimmten Gruppe scheint also nicht zu reichen, damit der Traffic standardmäßig von iptables -m owner ... auf diese Gruppe gematched wird.

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Frage zu iptables und dem owner-Modul

Beitrag von mat6937 » 07.01.2017 11:22:24

FragDenPinguin hat geschrieben: Die bloße Zugehörigkeit eines Users zu einer bestimmten Gruppe scheint also nicht zu reichen, damit der Traffic standardmäßig von iptables -m owner ... auf diese Gruppe gematched wird.
Teste mal:

Code: Alles auswählen

iptables -I OUTPUT 1 -p tcp --dport 443 -m owner --gid-owner pinguin -j REJECT
whoami
nc -zv heise.de 443
iptables -D OUTPUT 1

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 07.01.2017 16:23:12

Code: Alles auswählen

#iptables -I OUTPUT 1 -p tcp --dport 443 -m owner --gid-owner pinguin -j REJECT
$whoami
pinguin
$nc -zv heise.de 443
DNS fwd/rev mismatch: heise.de != redirector.heise.de
heise.de [193.99.144.80] 443 (https) : Connection refused
#iptables -D OUTPUT 1
#=im root-terminal, $=als pinguin

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Frage zu iptables und dem owner-Modul

Beitrag von mat6937 » 07.01.2017 17:11:23

FragDenPinguin hat geschrieben:

Code: Alles auswählen

$nc -zv heise.de 443
DNS fwd/rev mismatch: heise.de != redirector.heise.de
heise.de [193.99.144.80] 443 (https) : Connection refused
[/quote]

D. h., hier in diesem Fall hat die bloße Zugehörigkeit zur Gruppe "pinguin" gereicht, um den Zugang zum Port 443 mit Hilfe von "-m owner --gid-owner pinguin -j REJECT", zu blocken.

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: Frage zu iptables und dem owner-Modul

Beitrag von dufty2 » 07.01.2017 18:03:57

mat6937 hat geschrieben: D. h., hier in diesem Fall hat die bloße Zugehörigkeit zur Gruppe "pinguin" gereicht, um den Zugang zum Port 443 mit Hilfe von "-m owner --gid-owner pinguin -j REJECT", zu blocken.
Yo, aber "pinguin" ist ja auch die "Default-Gruppe" des Users "pinguin".
Die könnte man wohl auch ändern, dann wäre aber ggf. das Homeverzeichnis des pinguin für die anderen Gruppenmitglieder einsehbar. Weiss nicht, ob das so gewünscht wäre.

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Frage zu iptables und dem owner-Modul

Beitrag von mat6937 » 07.01.2017 18:15:48

dufty2 hat geschrieben: Yo, aber "pinguin" ist ja auch die "Default-Gruppe" des Users "pinguin".
Das ist richtig. Aber mir ging es nur um folgende Aussage des TEs:
Die bloße Zugehörigkeit eines Users zu einer bestimmten Gruppe scheint also nicht zu reichen
Denn die "Default-Gruppe" ist ja auch eine bestimmte Gruppe.

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Frage zu iptables und dem owner-Modul

Beitrag von FragDenPinguin » 07.01.2017 18:55:18

Ok, dann werde ich jetzt wohl diesen Weg wählen, um bestimmte ausgewählte Prozesse "gesondert" zu iptablen/ip-routen (zum Beispiel, weil sie nur über das Firmen-VPN kommunizieren sollen). Es sei denn, es gibt andere/bessere Vorschläge.

Antworten