I just spent a few cycles going over the deltacloud overview diagram, 
figuring out which components and communication buses need to be locked 
down in terms of encryption, authentication, and authorization. Here are 
my findings in hopes of facilitating a discussion around this (feel free 
to shout out if you think anything can or should be changed, by no means 
is this set in stone). If it looks good for the most part I will begin 
implementing this in the deltacloud installer/configuration recipe next 
week (after I get back to and integrate Mike's feedback to my last 
recipe patchset).

Communication which needs to be secured:
----------------------------------------
End User -> Aggregator WUI:                 http  (apache)
iwhd & core -> Cloud Providers:             http  (cloud specific)
Aggregator & image_builder_agent -> iwhd:   http  (libmicrohttpd)
image_builder_console -> image_builder_agent: qmf
image_builder_service, aggregator wui, condor_refershd, dbomatic -> 
database:   postgres
condormatic -> condor:   condor
libdeltacloud, deltacloudc  -> deltacloudd: http (thin/webrick)


Other communication which does not need to be secured:
----------------------------------------
Apache -> Thin (for aggregator wui, running on same box)
dbomatic -> condor (log parsing)


Components needing authentication/authorization
----------------------------------------
Aggregator wui
Condor
image_builder_agent
iwhd
core
db


Specific Tasks:
----------------------------------------
* setup mod_ssl for apache in recipe, ensure aggregator wui is 
accessible via https
* configure ssl support for postgres in recipe
* configure ssl support for qpid broker and client for 
image_builder_agent/console
* configure ssl support in libmicrohttpd for iwhd, or if we cannot, 
restrict to local traffic only and forward approprate public traffic 
from apache
* setup ssl for condor and lock condor down to only accept commands from 
aggregator wui and condor_refreshd
* restrict core's thin & webrick servers to local traffic only, forward 
public traffic from apache
* setup and assign certificates for various services which require them 
(auto assign to clients who cant prompt user to verify certificates)
* install kerberos, ldap, freeipa for user authentication/authorization 
and management
   - verify user on login in aggregator wui
   - verify user has permission to submit jobs to scheduler
   - verify user has permission to run requests on specific core drivers 
/ backend cloud providers (another job requirement when instances are 
being scheduled, etc)
   - verify user has permission to build images of certain types and 
store them in the image warehouse


Eventually:
----------------------------------------
* tighten up postgres user access, create different users w/ limited 
roles for the various deltacloud services  (for aggregator wui, 
condor_refreshd, dbomatic, image_builder_service)
* look into various cloud provider security solutions, how to integrate 
into core if not done already (communicate w/ cloud provider web 
services via ssl)


    -Mo
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to