January 10th, 2010 by peter.bassill
Often, within the corporate role of an Information Security Officer, you will come across auditors who really know what they are talking about. Recently, I had the joy to experiance one of those rare moments when I crossed swords with a technical financial auditor. Over a couple of excellent coffees, we discussed PCI compliance in the cloud.
There has been a lot of hype over the whole use of the “cloud” buzzword, but in this case, “cloud” was being used to describe a server that is not on your premises that you are able to access the terminal remotely via IP.
The basis of the server must be security robust. This we agreed on. Where we disagreed was the level of security robustness required and the practicality of level of the security.
Looking at the foundation build, we both agreed on the OpenBSD model of building a server. Only build what you actually require. For example, you need a web server then make sure that is the only service compiled. Another area we agreed on was the need to remove all non required binaries. With the intial build in mind, my thoughts lead to encryption. Should you encrypt the disk, the swap space, and the memory? While the auditor thought that it was overkill and I agree that there would be a performance impact, when you dont physically possess the machine is it prudent?
When we talked about terminal access, we both agreed that two factor authentication to the terminal was essential as was reducing the number of terminal sessions available to two and it was only natural that we then looked at the process of user management. Linking the cloud server to a centrally management user management system such as Active Directory has many advantages and allows easy management of articles such as password lifecycles.
In all, we agreed that encryption is good, two factor authentication against an offboard user management system is a definate and off system logging is essential. The server footprint should be as small as possible and internal integrity monitoring, firewalling, malware/rootkit checking are very important.
Now, to build the server…