[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Pki-devel] The Why's of PKI



When we say  "one CA" or Multiple "DRM"  are we talkin servers?  With Directory Server Replication, I would assume that A CA could talk to any DRM instance of a replicated group of Directory Servers?  Is this not the case?



On 09/14/2011 03:33 PM, Michael Brown wrote:


On Wed, Sep 14, 2011 at 2:53 PM, Andrew Wnuk <awnuk redhat com> wrote:
On 09/14/2011 10:41 AM, Adam Young wrote:
On 09/14/2011 01:37 PM, Andrew Wnuk wrote:
On 09/14/2011 10:18 AM, Chandrasekar Kannan wrote:
On 09/14/2011 10:00 AM, Andrew Wnuk wrote:
On 09/14/2011 09:10 AM, Chandrasekar Kannan wrote:
On 09/14/2011 08:42 AM, Andrew Wnuk wrote:
On 09/14/2011 05:31 AM, Chandrasekar Kannan wrote:
On 09/13/2011 05:48 PM, Andrew Wnuk wrote:
On 09/13/2011 06:41 AM, Adam Young wrote:
The Layout of the PKI project is very unusual for a Java Server application.

I'm trying to understand the rationale for some of the things that were done.

Why do we create a separate server instance for each subsystem?

Because each subsystem is a standalone server.

I'm not sure if it needs to be a stand alone server. It was designed and implemented as such
starting 10 years ago. It might be very well be a separated name space uri inside the same tomcat instance.

They are standalone servers for reliability and availability reasons, so single tomcat failure is not going to knock down all your servers at the same time.

That is easily avoided by cloning...

Standalone servers are even more reliable with cloning. They are more modular and provide bigger flexibility in designing deployments. For example, ratio 1:1 between CAs and DRMs is not necessarily the best as we learned from big deployments.

(sorry, I missed "not" in the original answer)

As we know being modular provides flexibility _only at a cost_. The cost of deploying more and more instances is high and having to maintain them as well.
Rather consolidating these "services" into one server seems like a good approach to me. When we start talking about 1:1, I start thinking along these lines..

 - What good can a DRM do when its associated CA is offline anyways - it cant archive. So there goes 50% of its functionality..
 - What good can a TPS do when its 1:1 associated services like tks,drm are offline. Might as well be a single server.
 - What good can a OCSP be when its associated CA is offline. Serve OCSP requests based on stale data?.

Redundancy is the only thing that can help If some subsystems are permanently offline.
Deployments should be able to recover from situations where subsystems are temporarily offline.
Please open bugs if there are any issues in the recovery process.

When you say "For example, ratio 1:1 between CAs and DRMs is not necessarily the best as we learned"  what is the general approach that we have found works?

It might be hard to define single general approach. Deployment life is complex combination of many factors starting from initial architecture, its evolution, real life requirements, support, environmental limitations, longevity of the deployment, and  budgetary limitations.

 More DRMS?  More CAs?

Please ask Michael Brown for more details.


The largest Red Hat PKI customer has found that multiple CAs per DRM has worked for them.  Not every CA archives keys to a DRM in the customer deployment, and those that do archive (several per production site) typically archive to single DRM or small set of DRMs; smaller than the set of CAs.  This is contrary to how Red Hat has typically documented a deployment in the Admin Guide, etc., which is one RA to one CA to one DRM.  Also one TPS to one TKS to one CA to one DRM in a Token deployment, particularly as related to TPS.  The customer has commented on several occasions, sometimes loudly, that this one-to-one-to-one doesn't reflect the reality of an enterprise deployment that requires redundancy and availability, and in which certificate requests are load balanced across a set of multi-site CAs.  I think that's what Andrew has been getting at above.  Maintaining the ability to separate out the instances will remain important for Red Hat's largest PKI customer going forward.  At the same time, not every customer deployment will have the same stringent reliability and availability requirements as the largest customer. 

What I don't see discussed much, either above or in the docs, is the important role multi-mastered internal slapd servers can potentially play in providing improved reliability and availability.  These are the main data repositories, and having these multi-mastered across multiple hosts with failover is the being seen as the target architecture of choice for the largest customer going forward (I'm working on this).  Having multiple CA tomcat instances on a single host, or having multiple DRM tomcat instances on a single host (separate from the CA hosts) is not seen as a major issue.  The important thing is to be able to re-connect tomcat instances with the data in a failure.  Cloning will also hopefully be introduced in the next deployment (I'm working on this), and it will obviously also be a requirement to have these clones as separate instances, and probably on separate hosts, to prevent the issue Andrew mentioned above; the failure of a single tomcat instance taking out multiple instances of CA, DRM, etc.

Hope this helps.

 






IMHO this modular design has brought in unnecessary complexity to a PKI topology which could be simplified by consolidating these services together in a single container.


Do you have a suggested topology that will be simpler and also meet the requirements of Red Hat's largest customer?

 






Is a  reason to continue doing so?

It provides great flexibility in deploying Certificate Server

The same level of  flexibility can be achieved even with a single tomcat instance provided that instance configuration at install time takes care of tweaking stuff.



Is using different ports for CA and DRM (an so forth)  merely an artifact of using multiple servers, or is there an additional  reason to do so?

Pkicreate tool allows selecting any ports.  Pkicreate also suggests ports for out of the box ease of use.


Do we expect the same user to have and user different certificates for different servers,

This is a matter of deployment strategy.

such that the certificate then becomes a union of authentication and authorization?

Certificates are the source of identity.  Authorization is a separate process based on verified identity.


Is there a  reason to separate the CA and DRM Directory servers?

Protection of archived keys.

They could even stay protected - if there's a plan to consolidate.
In my mind Separation != protection.

Separation is not equal protection, but it allows to apply appropriate protection standards to specific data.

I'm yet to hear how it cannot be achieved otherwise when consolidated..




 Is it a "best practice" to do so?  What would be the implications of using a single instance for both?

Is there any reason why the CA uses an LDAP server instead of a Relational Database?

X509 certificates are using the same distinguished names as LDAP.
Many identity products are based on directories.
Provides very secure access options.
Provides robust replication over secure channel.

 Do we expect people to make queries dircetyl against the  CA  DirSrv,

No

or is the Database best hidden from public view?

Why do we split the build process up into multiple Source RPMS?

 Is there a reason to maintain this split?

Are there design documents or discussions for these decisions?

Yes, please look for "Legacy Certificate Management System Website" on the internal CS wiki.

Sorry I dug through that pile. None answered the first question still so far for me. Why are these separate instances to begin with ?.




_______________________________________________
Pki-devel mailing list
Pki-devel redhat com
https://www.redhat.com/mailman/listinfo/pki-devel

_______________________________________________
Pki-devel mailing list
Pki-devel redhat com
https://www.redhat.com/mailman/listinfo/pki-devel


_______________________________________________
Pki-devel mailing list
Pki-devel redhat com
https://www.redhat.com/mailman/listinfo/pki-devel




_______________________________________________
Pki-devel mailing list
Pki-devel redhat com
https://www.redhat.com/mailman/listinfo/pki-devel

_______________________________________________
Pki-devel mailing list
Pki-devel redhat com
https://www.redhat.com/mailman/listinfo/pki-devel


_______________________________________________
Pki-devel mailing list
Pki-devel redhat com
https://www.redhat.com/mailman/listinfo/pki-devel



_______________________________________________
Pki-devel mailing list
Pki-devel redhat com
https://www.redhat.com/mailman/listinfo/pki-devel


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]