Re: nsd 4.3.5 broken

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]




Le 06/02/2021 à 21:03, Geo Kozey a écrit :
From: Archange via arch-general <arch-general@xxxxxxxxxxxxxxxxxxx>
Sent: Sat Feb 06 17:51:25 CET 2021

Le 06/02/2021 à 20:00, Archange via arch-general a écrit :
Le 06/02/2021 à 18:51, Genes Lists via arch-general a écrit :
Now I can get nsd to start up, but get this problem:

   nsd[10230]: setsockopt(..., IP_TRANSPARENT, ...) failed for tcp:
Operation not permitted
So if you use this option (IP_TRANSPARENT), which is non-default, you
might want to add a service drop-in extending CapabilityBoundingSet to
also include CAP_NET_ADMIN. Since I expect this to be a non-standard use
case, I’d prefer to not add it by default and rather document it on the
wiki.
I disagree with downstream hardening efforts that limit app features (even when
they aren't default) and passing the burden of making things work to users.
Security should be transparent and not block legitimate app usage. I recommend
to add relevant capability to systemd service. This was done for unbound when
similar issue popped out.

I do not agree with this in the general case, e.g. here we are talking about a niche feature (we agreed with Genes that this was actually not the correct solution to their issue), that moreover seemed to required CAP_NET_ADMIN at first sight, which opens a large attack surface. For me, this is the kind of things that should be properly documented on the wiki rather than being enabled when only a tiny fraction of users will in fact require it. This is Arch Linux, we are talking server software here, I expect people to be able to read some doc and wanting the most reasonable security level by default.

That being said, in the precise case they are two things to be considered:
1. CAP_NET_RAW is actually sufficient and has a way lower attack surface, also as you mentioned it this is actually what is in use inside unbound.service. 2. We already have to disable the capabilities incompatible PrivateUsers=true that would otherwise be only needed by this (and would have been a large enough blocker for me), since I agree that disabling CAP_NET_BIND_SERVICE when we are talking of a server that is supposed to run on port 53 by default and in likely most configurations would be dumb.

So, I’ll have ip_transparent working by default, now I just need to find why capabilities are failing with ProtectSystem=strict but not with ProtectSystem=full…

Regards,
Bruno/Archange



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux