...
Author | Description | Date |
|---|
Hari Kannan | Inital Requirement | 01/10/2013 |
Devdeep Singh | Initial Draft | 03/7/2013 |
Devdeep Singh | Added details on the trusted host processor and how deployment of an instance will work | 04/24/2013 |
Requirement:
- CloudStack will work with an attestation server to secure the deployed Hosts - the attestation server has the capability to compare launch values against "known good"
- When setting up a cloudstack environment, automatically understand which hosts are "trustworthy" and present it to the admin.
- Administrators are able to create a service offering that will allow users to select if they need the VMs to be deployed on trusted hosts.
- Ensure that instances requested in such a manner are always placed on trusted hosts. Instances that do not require a trusted host will not be blocked from getting deployed on a trusted host.
- Whenever a trusted host or the attestation server itself is rebooted, verify the trustworthiness.
- Migration of VM from a trusted to untrusted host should be allowed but it should raise an alert.
...
- Only one attestation server can be registered with a cloudstack management server.
- The attestation service can be enabled or disabled through a global configuration parameter 'enable.attestation.service' (Boolean: true/false). It'll be disabled by default.
- A root administrator can register the details of an attestation server by making a registerAttestationServer api call. This is an async call. Cloudstack management server will open a connection to the attestation server and it'll use the KeystoreUtil.createUserInDirectory client library api call to register/create a user. On successful registration the attestation server details will be persisted in the db.
- The above request for a new user needs to be approved by an attestation server administrator. This is a manual process and will be included in the documentation.
- If an attestation server is already registered with the management server, any subsequent requests to register another attestation server will override the older will fail. Administrator will have to unregister with the existing attestation server and carry out a new registration.
Checking the trust relationship of an host
...
- When hosts are listed for migration of an instance, if an instance is using an offering which requires trusted host, the host allocators will be updated to not to include hosts that are not trusted (information stored in the host_details table in the db). These was deployed with group-id that requires trusted host; untrusted hosts will be marked as 'Unsuitable' for migration (as seen in UI)unsuitable.
- Migration of instances using offering requiring trusted hosts, to untrusted hosts will be allowed. However, an alert will be raised to bring this to administrators attention.
- If an instance using a offering requiring trusted hosts goes down and HA is triggered for it, management server will try to bring it up on host that is trusted. If no trusted hosts are available HA for the instance will fail.
...
- registerAttestationServer : A new api to register an attestation server with cloudstack. It will take the details of the attestation server as a parameter and check if a connection can be established to it.
Parameters | Type | Required/Optional | Comments |
|---|
url | String | Required | Url of the attestation server |
username | String | Required | Username with which cloudstack should register and connect with the attestation server |
password | String | Required | Password with which cloudstack should register and connect with the attestation server |
Response Object | Comment |
|---|
AttestationServerResponse | The parameters contained in the response object are uuid, url and username |
- listAttestationServer : A new api to list the attestation server registered with cloudstack. It will return AttestationServerResponse in response.
- unregisterAttestationServer : A new api to unregister an attestation server.
Parameters | Type | Required/Optional | Comments |
|---|
id | Uuid | Required | Id of the attestation server |
Test Guidelines
...