[Zope] Starting Zope
Chris McDonough
chrism@digicool.com
Sun, 30 Jul 2000 17:46:28 -0400
Not to continue offtopic for too much longer, but IMHO, the "only root
can bind to ports under 1025" was, and continues to be, a terrible UNIX
hack that was possibly reasonable at its time of inception, but that has
since *caused* more security holes than it ever helped to prevent. The
argument for the hack is backwards compatibility, any other explanation
usually ends up as rationalization or circular logic. My $.02.
> -----Original Message-----
> From: Bill Anderson [mailto:bill@libc.org]
> Sent: Sunday, July 30, 2000 5:04 PM
> To: zope@zope.org
> Subject: Re: [Zope] Starting Zope
>
>
>
> (Quoting reversed for sake of continuity.
>
> > On Sun, 30 Jul 2000, Cary O'Brien wrote:
> >
> > > > Cary O'Brien wrote:
> > > >
> > > > > Well...
> > > > >
> > > > > If you are running on Linux you could simply edit the
> kernel code to
> > > > > elimitate the check on being root to bind to low
> ports. That's what
> > > > > we did.
> > > >
> > > > Which is an even worse idea.
> > > >
> > >
> > > Why? On a sufficiently firewalled off box, where the few
> logins are
> > > completly trusted, what's the diff? If you were worried
> about people
> > > cracking a user account and getting underneath telnet,
> than limit the
> > > lifting of the restriction to port 80. If you are concerned that
> > > non-root users could launch attacks from low ports at
> other machines,
> > > assuming that only good guys can come from low ports is
> pretty naive.
> > >
> > > The whole business about not letting anyone but root bind
> to low ports
> > > makes sense for a public access machine where all the first year
> > > engineering students have an account, but for a dedicated
> application
> > > server it is kind of misdirected. You ought to be running next to
> > > nothing but the application, and you had better trust
> everyone that
> > > you give a login to, and you out to have the thing locked
> > > down/firewalled well. So the tiny bit of possible
> protection may not
> > > be worth the hassle/risks of writing your own suid-wrapper, or the
> > > complexity of having a redirect and messing with
> site-access so that
> > > the port numbers in the zope -- what it is that parameter
> -- base or
> > > whatever, comes out write.
> > >
> > > Just for fun - does NT have the same restriction?
>
> Nitesh Dhanjani wrote:
> >
> > Interesting argument. However, consider this: if you
> completely trust your
> > 'firewalled' box, then why not run the web server as root?
> One response,
> > in your case is the fact that you mention your trust on
> users(humans are
> > the most easy to compromise, however that argument is a bit
> OT). However,
> > do you trust all of your webserver code? Do you trust your cgi-bin
> > scripts and applications? And by trust I not only mean
> harmful intent by
> > the authors of software, but unintentional bugs which can
> be exploited,
> > and will be given the privilege to bind to <1024 ports even
> when they run
> > as a user with least privileges.
>
>
> Exactly. In addition, relying solely on a firewall is a bad
> idea from a security
> standpoint. Firewalls can. and do get breached.
>
> I don't run many services on _any_ of my machines for
> security reasons. I certainly don't
> want Joe Random User to fire them up either. Consider tftpd,
> or telnetd, or rlogin,
> rusers, rwho, ruptime, etc.. There are many ways a user can
> compromise, not only the
> machine he is on, but other machines by having the capability
> to bind to ports under 1024.
>
> Nearly all of them are off topic for this list; thus I would
> recommend a number of the
> security resources available on the web, such as:
>
> http://www.rootshell.com
> http://www.securityfocus.com
>
> Just a quick example: A user can upload a custom compiled
> version of (insert servie such
> as DNS, NIS, telnetd, httpd, etc> that uses his/her local
> libraries, bypass /etc/services.
> since they can bind to ports under 1025, they can be started
> by the user. Whereas, for
> example, on other systems, their app would fail. Now,
> consider that if they used a version
> of, say ftpd, or fingerd, or named, that has known security
> openings, they can then
> exploit this to get root accounts; the firewall being
> bypassed by being local to the
> machine.
>
> Remember, Cary, if you don't think like a cracker/hacker, you
> can't stop them. If you
> can't see why allowing users (and users' programs) can be a
> problem, doing so is an
> violaiton of the basic premise of good security:
> That which is not specifically allowed, is denied.
>
> And, BTW, for the record, I handle Unix/Network security for
> a company known as
> Hewlett-Packard, so I think I have a good idea of the risks
> and potnetial exploits ;)
>
>
>
> --
> Do not meddle in the affairs of sysadmins, for they are easy to annoy,
> and have the root password.
>
> _______________________________________________
> Zope maillist - Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )
>