[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is this mail list dead?
Hi,
Why would any non-system process /need/ to bind to a port below 1024?
Or has this question already been answered?
On a related note, IRIX (SGI) permits fine-grained access levels by
giving specific low-level permissions to processes (through the CAP_*
feature). One of the permissions is that of being able to bind to a
port below 1024. This is possibly true of other Unixen too. Linux
also seems to support this feature, though I don't see much discussion
of its usage except for a few isolated posts and writeups at Bugtraq.
Isn't this what should be used to grant capabilities to processes
which need to run mainly with user privileges except for a few
system-level access requirements? Sendmail comes to mind :-)
More information in /usr/include/linux/capability.h, man setcap.
Regards,
-- Raju
>>>>> "Neale" == Neale Banks <neale@lowendale.com.au> writes:
Neale> On Mon, 12 Mar 2001, Coltrey Mather wrote:
>> On Mon, 12 Mar 2001, Tracy R Reed wrote:
>>
>> > Is there really any reason to require programs to be run as
>> root to bind > to ports <1024 anymore? I was just discussing
>> this with some friends after > the regular LUG meeting at
>> Denny's the other day. That's where the best > LUG conversation
>> happens. :) There used to be a good reason for it but >
>> nowadays it seems like an unnecessary liability. Fixing this is
>> probably a > very simple little patch.
>>
>> I think it would be better if there were an option to allow
>> non-root access to certain ports (controlled by some file in
>> /proc/sys/ perhaps?).
Neale> So long as:
Neale> 1) existing behavious remains default
Neale> 2) only root can make this adjustment ;-)
>> I wouldn't want a malicious shell user on my system (I only use
>> ssh for logins) to run a fake telnet server on port 23 to
>> confuse other users and collect passwords. The potential for a
>> malicious user to abuse trust that people have in standard
>> system services is something to take into consideration for
>> something like this.
Neale> Good point. But it doesn't necessarily follow that
Neale> root-user privs are required to enforce this.
>> Perhaps in addition to just filtering by user, there should be
>> a method to filter by application. e.g.: only a certain piece
>> of software could bind to a port...'though I'm not sure if/how
>> that could be implemented. (maybe have the kernel check the
>> commandline of the process against a list of allowed commands
>> in /proc/ somewhere.) One could also combine some sort of
>> signature verification with this so the kernel can determine if
>> the application has been modified.
Neale> "filter by application" could inded be a bit tricky - and
Neale> security is often (always?) easier to maintain in "simple"
Neale> systems.
Neale> How about starting with "group" permissions? There's a few
Neale> ways this could be implemented, starting with something
Neale> really simple like membership of group 0 (or 1?) being
Neale> sufficient for binding to a port.
Neale> More elaborate schemes might do something like representing
Neale> the TCP and UDP port-space in a virtual file system and
Neale> allowing the nodes therein to have their permissions
Neale> changed.
Neale> On a more down-to-earth level, how many distro's can run
Neale> out-of-the box without inetd? Or at least without
Neale> portmapper?
Neale> Regards, Neale.
--
Raju Mathur raju@kandalaya.org http://kandalaya.org/
-
Securedistros: A common list for all secured Linux distributions
Archive: http://humbolt.nl.linux.org/lists/