by Chris Bowen
Chief Privacy & Security Officer and Founder
ClearDATA
One of many services ClearDATA provides its customers as part of its Cloud Workload Protection Platform (CWPP) is hardened images. We do this according to the Center for Internet Security (CIS) Standards as part of our compliance solution for the healthcare cloud, ClearDATA Comply™. We wrote about our hardened images here on our blog.
For ClearDATA customers using Comply, that post offers a higher-level overview of the critical importance of “hardening.” Hardening makes sure the virtual server’s operating system is devoid of anything it doesn’t require to operate, thus lessening the risk vector. For ClearDATA customers, that article is probably all you need since we’re already doing this for you. The result is greater efficiency for your developers and less cost for your company.
For the rest of you who are taking a more DIY approach to the cloud, you should already feel the pain of applying robust hardening protocols to your operating environment. This post may be just for you.
What follows is a more in-depth dive to give you the best practices for considerations and actions you should take in hardening images and the system as a whole. I’ll also throw in some of the best practices for configuration and vulnerability management because you’ll need to be doing these in tandem with system hardening.
As a healthcare organization, you should adequately harden an application and the infrastructure that supports it to prevent their misuse and prevent either from being used as an attack vector. Your team should also pay close attention to configuration changes and integrate best practice vulnerability management practices for each delivery model. From the organization to its customers, a system breach can subject an organization to lawsuits, fines, reputational damage, or worse, ruin the lives of the patients it serves.
Your organization should adopt a hardened configuration standard for all systems and network components. Developers should leverage the guidance of organizations like OWASP, (ISC)2, or CIS to harden both the application and the compute, network, and storage infrastructure that supports it.
Hardening strategies, however, will differ depending on the cloud delivery model used to support the application.
The most common cloud delivery model currently used by healthcare organizations is Infrastructure as a Service (IAAS). This delivery model typically leverages virtual machines, virtual storage volumes or services, host and edge-based network protection, and network segmentation. Hardening an application running in this model involves applying security to or disabling services, closing ports, and adding security to each component, including Web servers, application servers, storage, network configurations, and identity and access management solutions.
Some healthcare organizations have evolved beyond the IAAS model and use containers as Infrastructure as Code (IaC). This approach enables these organizations to accelerate innovation, use cloud services more efficiently, and minimize operational overhead.
Containers are single-purpose virtual compute instances that support workloads in the cloud. Similar to a virtual machine (VM), a container has a few important distinctions. Virtual machines leverage hardware virtualization to carve a physical host into multiple VMs. On the other hand, Containers virtualize the operating system (OS), carving it into multiple lightweight slices called containers. These slices share the host OS’s kernel and binaries, allowing an application to bring its own data and libraries.
Think of containers as five layers:
Hardening Infrastructure as Code (IaC) is different in the container application lifecycle.
Containers share the physical server memory, CPU and disk (requiring block-level I/O), and the host operating system. A container runtime/worker host’s security posture can vary depending on how it is architected because of these characteristics. Commonly used orchestration engines like Kubernetes manage worker nodes that run containers and provide updated worker hosts. Therefore, custom images, tooling, and hardening at the host level and cluster level, like those specified in the CIS hardening benchmarks, should be performed.
In general, hardening IaC should address:
Ultimately, the IaC hardening approach should enable your organization to support the security of the components of a cluster:
Configuration management is more than just defining a setting and moving on to the next project. An effective configuration management strategy marries compliance with change management and controls on operational software to enable your organization to maintain a baseline for its critical and non-critical systems. Here are elements to consider in your configuration management strategy:
Compliance with security policies and standards:
Change management programs in place that:
Operational software controls that:
Your organization should never take vulnerability management for granted. Without it, bad actors can make your system their own – literally. While hardening your system prepares you to limit destructive influences, a robust vulnerability management program can stop an attacker before he/she can inflict damage.
A vulnerability management program should be evaluated for effectiveness at least annually and include, at a minimum:
Hardening is…hard. I get it. And so much depends on the cloud delivery model as well as compute model. I probably should have posted this article earlier in your budget cycle, because hardening can be resource intensive without the right approach or automation. Let me know if you want to explore a better way. ClearDATA’s Cloud Workload Protection programs may be able to let you enjoy your weekends again.
For a closer look at Comply, request a demo.