In five years of running and supporting Kubernetes workloads in production, Red Hat has learned three very important lessons. First, defaults have inertia, meaning many of the settings used on day one will find their way into production. Second, reducing complexity is key to security. There are thousands of flag permutations to be set in Kubernetes. Studies show that most security breaches are tied to end-user configuration changes.1 Reducing cognitive overhead is critical to a good security practice. Finally, good ops is good security. When every machine is unique, the level of system complexity grows and increases the potential for human error. Once we reduce complexity, we can automate and scale.
Red Hat has made a conscious effort to improve Red Hat® OpenShift® in response to these lessons. This datasheet focuses on two important considerations, our approach to Federal Information Processing Standards (FIPS) validation, and our strategic move to develop Red Hat Enterprise Linux® CoreOS.
Red Hat Enterprise Linux CoreOS: Kubernetes-managed operating system
Red Hat Enterprise Linux CoreOS is a specialized distribution of Red Hat Enterprise Linux, optimized for running Linux containers on Kubernetes and OpenShift. CoreOS is an optimal container host: minimal system usage, more secure, less mutable, up-to-date, and fully managed. Because it is based on Red Hat Enterprise Linux, CoreOS inherits a mature, comprehensive delivery and support model with a robust ecosystem. CoreOS is not a standalone operating system, but rather a component of Red Hat OpenShift distributions.
Lightweight operating system for containers
Red Hat Enterprise Linux CoreOS contains only what is required to run Linux containers on Kubernetes, and removes Red Hat Enterprise Linux platform components that are unnecessary for that purpose. Additional operating system and application services can only run as isolated, containerized workloads. This allows the host to be largely read-only and locked-down, and start only a minimal set of system services.
Less mutable and more secure
Red Hat Enterprise Linux CoreOS is a downstream distribution of Red Hat Enterprise Linux, and a host OS that meets the guidelines of National Institute of Standards and Technology (NIST) Special Publication 800-190 to reduce the attack surfaces for a container platform. Specifically, NIST 800-190 states, “a container-specific host OS is a minimalist OS explicitly designed to only run containers, with all other services and functionality disabled, and with read-only file systems and other hardening practices employed.”2 As part of OpenShift, the use of Red Hat Enterprise Linux CoreOS has allowed Red Hat to deliver this recommended, highly secure model.
Red Hat Enterprise Linux CoreOS is designed to prevent out-of-band changes that might affect application behavior and security from persisting across node restarts. The installation and boot processes use installer generated, declarative configuration to bootstrap the operating system to a cryptographically verifiable, known-good state. The initial state mounts /usr as read-only to prevent run-time modification of the system binaries, while kernel-based container isolation of applications and services using technologies like SELinux and cgroups prevents application changes from modifying the operating system. All persistent operating system modifications of Red Hat Enterprise Linux CoreOS must be made through role-based access control (RBAC), protected application programming interfaces (APIs), or redeployment of the hosts via the same verifiable ignition processes.
Up-to-date and fully managed
Red Hat OpenShift Container Platform 4 incorporates Red Hat Enterprise Linux CoreOS as a streamlined platform for automated operations of the underlying host operating system. Red Hat Enterprise Linux CoreOS is coupled to OpenShift Container Platform by design so you can manage and automate the deployment of underlying container hosts. This includes node configuration and deployment, automated OS upgrades, and updates across clusters, as well as other configurations driven from Kubernetes operators and Kubernetes custom resource definitions (CRDs).
When you set up your Red Hat Enterprise Linux CoreOS hosts, you can only modify some of the system settings. This controlled immutability allows OpenShift Container Platform to store the latest state of Red Hat Enterprise Linux CoreOS systems in the cluster so it is always able to create additional machines and perform updates based on the latest Red Hat Enterprise Linux CoreOS configurations. Updates are delivered via container images and are part of the Red Hat OpenShift update process. When deployed, the container image is pulled, extracted, and written to disk, and the bootloader is modified to boot into the new version. The machine will reboot with rolling updates to ensure cluster capacity is minimally impacted.
Supported security standards and compliance
Red Hat Enterprise Linux CoreOS supports important security standards such as FIPS-enabled Linux to ensure OpenShift Container Platform can meet government regulation requirements, which simplifies support and reduces risk. Red Hat is committed to delivering a secure Kubernetes platform for any public sector organization. Red Hat tests the Red Hat Enterprise Linux CoreOS platform with NIST-validated FIPS cryptographic modules with every release, which helps ensure compatibility and resiliency. Moreover, Red Hat’s technical approach integrates FIPS into the host Red Hat Enterprise Linux CoreOS platform, allowing you to delegate cryptographic functions of containerized components and user workloads.
In summary
Red Hat OpenShift delivers the right model at the right time as government agencies aggressively move mission-critical workloads to Kubernetes. Red Hat Enterprise Linux CoreOS delivers all of the characteristics required to deliver a more secure, resilient, and scalable infrastructure for Kubernetes. Our FIPS approach is comprehensive enough to satisfy the security requirements of public sector organizations and agencies.