Hi Eric,

On Tuesday 04 March 2003 10:28 pm, Eric Greenberg wrote:
> We did a brief security review of the Redhat update (rhn) applications
> and code. Everything previously mentioned in the previous posts is what
> we saw-- it uses https and gpg, the combination of which is quite
> powerful.  However, the code itself, as I recall much of which is
> written in Python (in the 7.x system we reviewed), is not at all pretty.
> It's not cleanly implemented and in my opinion Redhat should go back and
> rewrite a great deal of it.

By "is not at all pretty", what do you mean?  

- Is it written in a way that is crash-prone?
- Is the code too obscured to carry on security audits?
- Is the application coded in a way that makes it "buffer-overflow-friendly"?
- Is the code not doing the job?

> From an architectural standpoint, we have at least one major concern as
> it relates to automatic (autonomous updates). 

Although, in my knowledge of it, you can disable the automation, as it is a 
simple daemon ("service"). By default is turned on, which is an excellent 
approach to pro-active security. If the sysadmin knows her/his job, will know 
about regular system updates, so the daemon can be disabled. If the sysadmin 
doesn't know his/her job, it's a good thing that an automated update system 
is put in place.

> But before I comment on
> that, I do want to make it clear my overall opinion is that the Redhat
> update toolset offers tremendous overall benefits. Even with all of its
> risks, it provides an extremely well-done and easy-to-use way for
> administrators to keep-up with updates, one of the biggest problems in
> security on the Internet today. At the same time, it is a tremendously
> risky single point of failure that folks managing sensitive high-impact
> servers must give serious thought to and perhaps reconfigure.

Very true.

> From a reconfiguration standpoint, I advise clients to disable the rhn
> agent (rhnsd) and instead suggest applying those updates in a controlled
> fashion while logged-into the system, either downloaded manually after
> an md5sum/checksum validation or through the up2date -l followed by an
> up2date -u if you are comfortable with it.

Exactly. Although see my previous parragraph, about sysadmin knowledge.

> The problem with rhnsd is that it is a process always running, and its
> power to update every aspect of the software is quite extreme. While
> components it uses (e.g. OpenSSL) have received considerable review, not
> all of its components have received the level of peer-review I think it
> warrants. 

Aside from OpenSSL and Python, what other components are used that you believe 
ned to be more reviewed?

> If there is a vulnerabilty in it anywhere, the "Redhat
> Network" of servers, which would represent a good percentage of the
> Internet, will tumble to the ground.  There are several risk areas
> relative to compromise, one being that Redhat servers are hacked
> considerably (down to their private keys) after which malicious software
> is propagated to all Redhat network servers. Admittedly the alternative,
> patches we apply manually can be compromised, but it happens with a
> human being in the middle checking things in some way in accordance with
> some kind of known organizational policy and procedures you have
> in-place for your Linux servers.

Although everything is possible, this is a very extreme scenario. I assume 
that RedHat has measures in place so this doesn't happen. And with a man in 
the middle, you are also subject to security breaches. I don't believe that a 
human can always be a better security "firewall" than an electronic 
counterpart. And, AFAIK, RedHat has been very diligent (and open) either 
supplying patches or providing workarounds for known vulnerabilities. TRight 
know, I trust RedHat.

> Regards,
> Eric


Salut,
Josep
-- 
Josep L. Guallar-Esteve         Eastern Radiologists, Inc.
Systems and Network Administration  http://www.easternrad.com

Reply via email to