Subject: Re: iptables-regler för användare + root

Re: iptables-regler för användare + root

From: Mikael Fridh <frimik_at_gmail.com>
Date: Tue, 7 Jun 2011 03:10:51 +0200

2011/6/7 Anders Sundman <anders_at_4zm.org>:
> Jag har klurat på ett problem för min Ubuntu-installation ett tag utan
> att komma på någon riktigt bra lösning; kanske är det någon här på
> listan som har några tips eller rent av har löst exakt samma problem
> någon gång.

Jag har tyvärr aldrig löst eller försökt lösa samma problem någon gång
men jag försöker mig på ett bidrag ändå.

> Iptables är konfigurerat så att det mesta är blockerat eller omdirigerat
> (för alla användare).
>
> Ett undantag är NTP som jag vill kunna köra för att sätta tiden. Jag
> vill däremot inte öppna upp port 123 helt, eftersom jag endast vill
> använda hålet explicit. Min tanke var att skapa en speciell användare
> för NTP och ha regler som släpper ut trafik för den användaren:
>
> [0:0] -N su
> [0:0] -A su -p TCP --dport ntp -j ACCEPT
> [0:0] -A su -p UDP --dport ntp -j ACCEPT
> [0:0] -A su -j RETURN
> [0:0] -A OUTPUT -m owner --uid-owner ntpuser -j su
>
> Sedan kan man köra:
> $ sudo -u ntpuser ntpdate -u ntp.ubuntu.com
>
> för att sätta tiden och inga andra (ex. andra applikationer) kommer åt
> port 123 eftersom dom inte körs av ntpuser. Hur bra som helst. Det var
> vad jag trodde, iaf..
>
> Nätverksbiten fungerar prima. Problemet är att man måste vara root för
> att sätta tiden. Alltså kan man inte vara ntpuser. Jag vill inte gärna
> att root ska få gräddfil i iptables - så vad göra?

2011/6/7 Anders Sundman <anders_at_4zm.org>:
> [0:0] -N su
> [0:0] -A su -p TCP --dport ntp -j ACCEPT
> [0:0] -A su -p UDP --dport ntp -j ACCEPT
> [0:0] -A su -j RETURN
> [0:0] -A OUTPUT -m owner --uid-owner ntpuser -j su
>
> Sedan kan man köra:
> $ sudo -u ntpuser ntpdate -u ntp.ubuntu.com
>
> för att sätta tiden och inga andra (ex. andra applikationer) kommer åt
> port 123 eftersom dom inte körs av ntpuser. Hur bra som helst. Det var
> vad jag trodde, iaf..
>
> Nätverksbiten fungerar prima. Problemet är att man måste vara root för
> att sätta tiden. Alltså kan man inte vara ntpuser. Jag vill inte gärna
> att root ska få gräddfil i iptables - så vad göra?

Min första tanke blir
* skapa regeln på --gid-owner ntpgroup istället och kör sudo -u root
-g ntpgroup ntpdate -u ntp.ubuntu.com

Eftersom du är root bör du få uppdatera klockan, och eftersom du är
ntpgroup bör du få komma ut via iptables.
Uppdatera sudoers därefter.

Av nyfikenhet och som motståndare till "ntpdate -u"-körningar i roots
crontab undrar jag varför du vill köra ntpdate öht istället för ntpd?

Lycka till dock. Jag är nyfiken på slutlig lösning.

--
Mikael Fridh
_______________________________________________
http://foss-sthlm.haxx.se/
http://cool.haxx.se/cgi-bin/mailman/listinfo/foss-sthlm
Received on 2011-06-07