StackRox is a full-lifecycle Kubernetes security solution, which allows you do detect, manage and mitigate security risks (e.g. wrong configuration), as well as vulnerabilities (CVEs). It offers you not only a comprehensive view of security policy violations but also enables you to create and modify policies, that help you to minimize risks based on configurations, vulnerabilities, and other factors and help you to implement security and DevOps best practices. It also
integrates with other tools including your CI system.
This Youtube Video gives a very nice introduction on what it does, and how it works.
The best thing of that is that since version 3.0.58.0 all licensing restrictions have been removed. There are some plans to have an
OSS version, plus and Enterprise version
Scans images for vulnerabilities. It analyzes all image layers to check for known vulnerabilities from the Common Vulnerabilities and Exposures (CVEs) list. Scanner also identifies vulnerabilities that are installed by package managers and language-level dependencies.
Interacts with Kubernetes API server and prevents creating workloads that don’t adhere to security policies.
1 for each cluster.
What can you do with Stackrox?
Well there are a bunch of stuff. A nice dashboard is the entry point
Manage security policies
You can
define security policies - or use pre-defined ones - to prevent high-risk service deployments. A policy checks for certain aspects e.g. container does not run in privileged mode or check for container not updated for 30+ days. Each
policy has a Severity - Critical, High, Medium or Low - and is applied to one or more of the following stages:
Build - Fails your continuous integration (CI) builds when images match the conditions of the policy.
Deploy - Blocks creation of deployments that match the conditions of the policy. In clusters with admission controller enforcement, the Kubernetes (or OpenShift) API server blocks all noncompliant deployments. In other clusters, the StackRox Kubernetes Security Platform edits noncompliant deployments to prevent pods from being scheduled.
Runtime - Kills all pods that match the conditions of the policy.
There are a lot of
policy criteria which can be configured. By default policy violations are reported, but not enforced. One however
enabling the admission controller enforcement by turing on the Admission Controller Webhook, which then ensures the policies are met or otherwise blocks deployments or kills pods.
PCI DSS (Payment Card Industry Data Security Standard).
The scanning allows you to evaluate and harden your infrastructure (Docker Engine, Kubernetes orchestrator) to be compliant with these standards.
Manage network policies
This feature allows you to visualize existing network policies, simulate proposed policies, and generate new policies based on actual traffic.
A
Kubernetes network policy is a specification of how groups of pods are allowed to communicate with each other and other network endpoints. These network policies are configured as YAML files.
Network graph: Visualize allowed network connections and active communication paths among namespaces and deployments
Network policy simulator: upload new network policy configuration files, and preview the network policies visually
Network policy generator: Generate a network policy configuration file (YAML) based on the network communication flows in your environment within a specified period
Vulnerability management
Stackrox detect vulnerabilities (CVEs) and them mitigation by enforcing actions defined in the [policies]((#manage-security-policies) Also can Stackrox
analyze docker images for vulnerabilities, where all image layers are analyzed for known vulnerabilities (CVEs)
StackRox Central submits image scanning requests to StackRox Scanner. Upon receiving these requests, StackRox Scanner pulls image layers from the relevant registry, checks the images, and identifies installed packages in each layer. Then it compares the identified packages and programming language-specific dependencies with vulnerability lists and sends information back to StackRox Central.
Running the sensor.sh under Windows failed while the script tried to create the registry credentials:
$ ./sensor.sh
Using authentication token for docker.intra from ~/.docker/config.json.
error: error parsing STDIN: error converting YAML to JSON: yaml: line 5: could not find expected ':'
I actually fixed that by creating the necessary docker-registry secrets stackrox and collector-stackrox manually: