Subject: Re: solving various bug reports...
To: Darren Reed <darrenr@cyber.com.au>
From: Andrew Brown <codewarrior@daemon.org>
List: tech-security
Date: 06/26/1997 13:03:59
>> >> 6. inetd runs before securelevel is raised
>> >> ------------------------------------------
[...]
>> let's not reinvent the wheel here...after al, what's wrong with just
>> moving inetd to the very end of rc, right before it prints the date?
>> does anything started (currently) between it and the end of rc
>> actually need to talk to it?  i didn't see anything...and i can't
>> think of anything that might need that...
>
>you still have a race condition.
>
>securelevel doesn't change until after init is done with rc.

that's very true, but you're only talking about a fraction of a
second.  that's not even long enough for you to log in locally via
100base-t and do *anything*.  while it (admittedly) doesn't completely
close the window, it reduces it to something i don't think *anyone*
could exploit.  all rc would have left would be to print the date, and
then exit.  then you're secure.  i think that would cover it very
nicely.

the current setup leaves you effectively wide open.  in fact, in the
case of some people i know who were running "secure web servers" from
rc.local, they would sit at securelevel 0 for *DAYS OR WEEKS* until
someone noticed that the server wasn't secure and needed someone to
type in the passphrase on the console.  now that sucks.  if inetd had
been started at the end of rc, they would have noticed and been
*forced* to go look at the console (insecure web servers would have
worked, but they couldn't have logged in) and fixed it in a few
minutes.

-- 
|-----< "CODE WARRIOR" >-----|
andrew@echonyc.com (TheMan)        * "ah!  i see you have the internet
codewarrior@daemon.org                               that goes *ping*!"
warfare@graffiti.com      * "information is power -- share the wealth."