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

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

From: Anders Sundman <anders_at_4zm.org>
Date: Mon, 13 Jun 2011 11:15:15 +0200

On 2011-06-07 03:10, Mikael Fridh wrote:
> 2011/6/7 Anders Sundman <anders_at_4zm.org>:
>> 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:
>>
>> [...]
>>
>> 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.
>
> [...]
>
> Lycka till dock. Jag är nyfiken på slutlig lösning.

Ok, nu fungerar allt. Stort tack.

For the record, här är den slutliga lösningen.

Använder gruppen som tag för att köra 'su'-kedjan i iptables:

[0:0] -N su
[0:0] -A su -p TCP --dport ntp -j ACCEPT
[0:0] -A su -j RETURN
[0:0] -A OUTPUT -m owner --gid-owner ntpgroup -j su

Kör nptdate (eller sntp) som root och kan alltså sätta tiden men med
gruppen ntpgroup för att komma ut genom brandväggen:

$ sudo -u root -g ntpgroup -u ntp.ubuntu.com

För att detta skall fungera måste man även lägga till följande till
/etc/sudoers:

> myuser ALL=(myuser:ntpgroup) /usr/sbin/ntpdate

// Anders
_______________________________________________
http://foss-sthlm.haxx.se/
http://cool.haxx.se/cgi-bin/mailman/listinfo/foss-sthlm
Received on 2011-06-13