Bug 752965 - RHUI Install Guide corrections/suggestions - Chap 3
Summary: RHUI Install Guide corrections/suggestions - Chap 3
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Update Infrastructure for Cloud Providers
Classification: Red Hat
Component: Documentation
Version: 2.0.2
Hardware: Unspecified
OS: Linux
unspecified
low
Target Milestone: ---
: ---
Assignee: Lana Brindley
QA Contact: wes hayutin
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-10 21:56 UTC by Karthik Prabhakar
Modified: 2016-10-30 22:52 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-01-29 21:11:06 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Karthik Prabhakar 2011-11-10 21:56:22 UTC
(Procedure 3.1) Either provide complete documentation on CA
   and cert creation or suggest user do so on their own

(3.1) Clarify why the recommendation of 2 different CA's (in the Important block)?

(Procedure 3.2) Suggest moving default qpid directory away from /tmp

Minimize requirement for root account where possible

(3.3) Remove this section, all it says is read sec 12.

Comment 1 Karthik Prabhakar 2011-11-10 22:13:41 UTC
Another one:
(3.2) (answers.sample) example command syntax does not include "--answers"

Comment 2 Lana Brindley 2012-01-03 23:37:07 UTC
(In reply to comment #0)
> (Procedure 3.1) Either provide complete documentation on CA
>    and cert creation or suggest user do so on their own

Jay and I have discussed this. We don't want to include full documentation for CA and certs, as it's outside the scope of the document. However, we felt it was necessary to include some guidance with regard to certs specifically for RHUI. I'm not sure that there's a happy balance in here, other than what we already have. If you feel a note is worthwhile, though, feel free to suggest wording.

> 
> (3.1) Clarify why the recommendation of 2 different CA's (in the Important
> block)?

I don't know the background behind this recommendation. Jay?

> 
> (Procedure 3.2) Suggest moving default qpid directory away from /tmp
> 
> Minimize requirement for root account where possible

This is an engineering change, not a documentation one.

> 
> (3.3) Remove this section, all it says is read sec 12.

It is there as a cross-reference, as readers will frequently look to the installation chapter for this information, even though it logically belongs at the end of the book, not the beginning.

Comment 3 Jay Dobies 2012-01-06 14:16:19 UTC
>> 
>> (3.1) Clarify why the recommendation of 2 different CA's (in the Important
>> block)?
>
> I don't know the background behind this recommendation. Jay?

This is a tricky one to explain. I feel like most security-related things are like that; there's a certain amount of gut-feeling that goes into them. There's also not a single reason that leads you to think "Oh ya, I'd totally want to do it this way." Let me throw out a few ideas and Lana can figure out what she wants to use.

Typically, web site SSL certificates are signed by one of the big name trusted sources like VeriSign. To be more precise, a company buys a CA that is down the chain from VeriSign's root CA. From there, practices vary wildly, but the idea is that you set up a chain of trust to prevent just how badly screwed you are if one of the CAs gets compromised.

So say Jdob Corp. buys a CA from VeriSign. I'd then create my own child CAs depending on... well, a ton of factors: expected usage, organizational, level of OCD in the security team, etc. For now, let's just say I create A, B, and C from the Jdob Corp. root CA.

For some reason, A gets compromised. That means any SSL certificates signed by A are now suspect. Thankfully, any SSL certificates signed by B and C are both safe. So the amount of panic and running around I have to do to minimize the impact is restricted to the certificates signed by A.

The purpose of going to VeriSign in the first place is that they are trusted by everyone. So really particular clients will follow up the chain of trust to make sure Jdob Corp eventually leads back to a trusted third party (rather than taking Jdob Corp at its word).

But that's not required. It's also a bit more relevant in the case where Jdob Corp was, say, an online store front. In our case, the whole RHUI infrastructure is a bit more self-contained and opaque to the user. So if the RHUI deployer doesn't want to go through the hassle or cost of getting a VeriSign child CA, it's probably not a deal breaker.

The other aspect is that the entitlement signing CA and its private key are used by RHUI Manager. Typically, CA private keys are stored in a vault somewhere. For example, Red Hat has a hard copy print out of theirs split across two sheets of paper, both of which are stored in separate lock boxes. True story, I forget where I heard it, but it shows just how important that key is. It's basically the identity of the company that bought it.

That's fine for the rare times you generate a new web site SSL certificate, but entitlement certificates are much more fluid. Since that key is needed on a much more regular basis, it'd put the web site SSL certificates at risk as well.

Not sure how much of that is useful or helps, but when talking to the docs team I'd rather explain the situation and let you guys use your skills to determine how much is relevant. Ping me if you have any more questions.

>> 
>> (Procedure 3.2) Suggest moving default qpid directory away from /tmp
>> 
>> Minimize requirement for root account where possible
>
> This is an engineering change, not a documentation one.

Root is not required to write to /tmp. In this case, that's exactly what the files are: temporary for use in the installation and then they go away.

Comment 4 Lana Brindley 2012-01-08 21:32:57 UTC
(In reply to comment #3)
> >> 
> >> (3.1) Clarify why the recommendation of 2 different CA's (in the Important
> >> block)?
> >
> > I don't know the background behind this recommendation. Jay?
> 
> This is a tricky one to explain. I feel like most security-related things are
> like that; there's a certain amount of gut-feeling that goes into them. There's
> also not a single reason that leads you to think "Oh ya, I'd totally want to do
> it this way." Let me throw out a few ideas and Lana can figure out what she
> wants to use.
> 
> Typically, web site SSL certificates are signed by one of the big name trusted
> sources like VeriSign. To be more precise, a company buys a CA that is down the
> chain from VeriSign's root CA. From there, practices vary wildly, but the idea
> is that you set up a chain of trust to prevent just how badly screwed you are
> if one of the CAs gets compromised.
> 
> So say Jdob Corp. buys a CA from VeriSign. I'd then create my own child CAs
> depending on... well, a ton of factors: expected usage, organizational, level
> of OCD in the security team, etc. For now, let's just say I create A, B, and C
> from the Jdob Corp. root CA.
> 
> For some reason, A gets compromised. That means any SSL certificates signed by
> A are now suspect. Thankfully, any SSL certificates signed by B and C are both
> safe. So the amount of panic and running around I have to do to minimize the
> impact is restricted to the certificates signed by A.
> 
> The purpose of going to VeriSign in the first place is that they are trusted by
> everyone. So really particular clients will follow up the chain of trust to
> make sure Jdob Corp eventually leads back to a trusted third party (rather than
> taking Jdob Corp at its word).
> 
> But that's not required. It's also a bit more relevant in the case where Jdob
> Corp was, say, an online store front. In our case, the whole RHUI
> infrastructure is a bit more self-contained and opaque to the user. So if the
> RHUI deployer doesn't want to go through the hassle or cost of getting a
> VeriSign child CA, it's probably not a deal breaker.
> 
> The other aspect is that the entitlement signing CA and its private key are
> used by RHUI Manager. Typically, CA private keys are stored in a vault
> somewhere. For example, Red Hat has a hard copy print out of theirs split
> across two sheets of paper, both of which are stored in separate lock boxes.
> True story, I forget where I heard it, but it shows just how important that key
> is. It's basically the identity of the company that bought it.
> 
> That's fine for the rare times you generate a new web site SSL certificate, but
> entitlement certificates are much more fluid. Since that key is needed on a
> much more regular basis, it'd put the web site SSL certificates at risk as
> well.
> 
> Not sure how much of that is useful or helps, but when talking to the docs team
> I'd rather explain the situation and let you guys use your skills to determine
> how much is relevant. Ping me if you have any more questions.

Thanks for the explanation, it helps a lot! I've added a short explanation:

<important>
	<title>Important</title>
	<para>
		It is recommended that you sign the SSL certificates and the client entitlement certificates with different certificate authorities (CAs), in order to help mitigate any security risk should one of the certificates become compromised. However, if you choose to use the same CA to sign both certificates, ensure the serial numbers for all server-side SSL certificates are below <parameter>0100</parameter> to avoid conflicts within &RHUI;.
	</para>
</important>

I don't think the purpose of this document requires us to go in depth with security practises. Considering our audience is primarily sysadmins, we can assume a certain level of pre-existing security knowledge. Explaining that we recommend two CAs in order to mitigate security risk gives them enough information that they could then go and research the topic further to make an informed decision. Happy to tweak wording here, though, if you would prefer something different.

Revision 2-16.

Karthik, please raise bugs for engineering as requested in Comment 3.

LKB

Comment 6 James Slagle 2012-03-12 19:40:05 UTC
Released in RHUI 2.0.2


Note You need to log in before you can comment on or make changes to this bug.