permissions on /etc/namedb

Eugene Grosbein eugen at kuzbass.ru
Mon Aug 4 07:55:14 UTC 2008


On Sun, Aug 03, 2008 at 11:39:18PM -0700, Doug Barton wrote:

> >>>>>I need /etc/namedb to be owned by root:bind and have permissions 01775,
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>>>>so bind may write to it but may not overwrite files that belong to root
> >>>>>here, and I made it so. 
> >>>>I understand your frustration with something having changed that you 
> >>>>did not expect. I would like to ask you though, what are you trying to 
> >>>>accomplish here? What you suggested isn't really good from a security 
> >>>>perspective because if an attacker does get in they can remove files 
> >>>>from the directory that are owned by root and replace them with their 
> >>>>own versions.
> >>>Can he? Doesn't sticky bit on the directory prevent him from that?
> >>That's a question that you can and should answer for yourself.
> >
> >That was rhetorical quostion - I wished to give you a chance
> >to correct yourself :-) Cheer :-)
> 
> mkdir teststicky
> chmod 1755 teststicky/
> cd teststicky/
> sudo touch foofile
> 
> ls -la .
> total 6
> drwxr-xr-t   2 dougb  dougb   512 Aug  3 23:21 ./
> -rw-r--r--   1 root   dougb     0 Aug  3 23:21 foofile
> 
> rm foofile
> override rw-r--r--  root/wheel for foofile? y
> 
> ls -la
> total 6
> drwxr-xr-t   2 dougb  dougb   512 Aug  3 23:22 ./
> 
> You might also want to read sticky(8), especially the bit where it 
> says, "A file in a sticky directory may only be removed or renamed by 
> a user if the user has write permission for the directory and the user 
> is ... the owner of the directory ..."

Please reread the first line of quoted text in this message. 
Root is the owner of /etc/namedb for my case, and bind only have right
to write to its own files and create new, not touch root-owned files. 

> >>I think that your idea of "BIND's working directory" is probably 
> >>flawed
> >That's not my idea. From /var/log/messages:
> >Aug  3 15:02:18 host named[657]: the working directory is not writable
> That is a quaint reminder of a simpler time.

[skip]

> Also, I'm not sure whether you've actually looked at the default 
> named.conf or not, but the two most common files that someone would 
> want to write are the dump and statistics files, and there are already 
> suitable paths for those files provided, and the bind user can 
> actually write to them by default. It would be trivial to expand those 
> examples to other things that are of particular interest to you.

The default named.conf contains the following line:

	directory       "/etc/namedb";

That is "the working directory" which is not writable to bind by default,
hence mentioned line in /var/log/messages. I dislike when default
configuration emits such warnings. So I decided to make it writable
in hope this setup will save me from future problems while still secure.

Eugene Grosbein


More information about the freebsd-net mailing list