Kubernetes clusters enable an organization to easily take advantage of containerization. While this is a huge asset, it also creates security issues. Many organizations lack visibility into the applications within their Kubernetes cluster and their attack surface.
Within a Kubernetes cluster, an organization can be running websites, microservices, and APIs. The problem with these applications is that they are very likely to contain exploitable vulnerabilities. In fact, the average web application contains 22 vulnerabilities, 4 of which are labeled as critical.
Securing these applications against exploitation requires patching these vulnerabilities. However, the sheer complexity of a Kubernetes deployment and the number of vulnerabilities in the applications that it contains can make this difficult or impossible.
Virtual patching provides a solution. Virtual patching involves blocking attacks trying to exploit known vulnerabilities rather than trying to patch the applications itself. While this approach can be just as effective in increasing application security, it requires a web application firewall (WAF), which is not built into Kubernetes by default.
Wallarm’s Nginx Ingress controller includes an integrated web application firewall (WAF). This enables it to provide API security and Layer 7 protections for applications. Its capabilities include:
Upgrading the traditional Nginx Ingress controller to Wallarm’s Ingress controller enables an organization to dramatically decrease the vulnerability of its Kubernetes-based applications to attack.
Following this process minimizes the probability that production systems’ availability or operations will be negatively impacted by a configuration issue. For each deployment environment, the Wallarm Ingress controller can be deployed in three stages:
The first stage in this process is to install the newest version of the Wallarm Ingress controller. To install a new Wallarm Ingress controller or upgrade an existing one, perform the following steps:
git clone https://github.com/wallarm/ingress-chart Install: Run the command helm install --set controller.wallarm.enabled=true,controller.wallarm.token=<YOUR_CLOUD_NODE_TOKEN>,controller.wallarm.apiHost=<WALLARM_API_HOST> <INGRESS_CONTROLLER_NAME> ingress-chart/wallarm-ingress -n <KUBERNETES_NAMESPACE>
Replace: Run the command helm upgrade --set controller.wallarm.enabled=true,controller.wallarm.token=<YOUR_CLOUD_NODE_TOKEN>,controller.wallarm.apiHost=<WALLARM_API_HOST> <INGRESS_CONTROLLER_NAME> <KUBERNETES_NAMESPACE> --reuse-values
Once the Wallarm Ingress controller is installed, the next step to take is to enable it to start performing traffic analysis. To do so, run the following commands:
In these commands:
At this point, your Wallarm Ingress controller should be up and running. To test its operation, do the following:
kubectl get po -l release=INGRESS_CONTROLLER_NAME to get a list of podsINGRESS_CONTROLLER_NAME with the name of your Wallarm Ingress controllerRunning and a Ready value of N/N where both values of N are the same.If all of these steps are completed, then your Wallarm Ingress controller has been successfully installed within your Kubernetes cluster.
After completing these steps, your Wallarm Ingress controller should be successfully installed and operational. This enables it to provide protection against a variety of attacks that may target your Kubernetes cluster at the application layer.
However, while the Ingress controller is installed, some configuration steps should be taken to improve its operation. These steps are described in the other two articles in this blog series.
In the second article in this series, we will discuss how to configure the Wallarm Ingress controller to properly handle IP addresses. This includes receiving the correct end user IP address in a load-balanced environment, configuring the controller to block malicious IP addresses, and ensuring that trusted security tools (like Wallarm scanner nodes) are not blocked due to their use of attack traffic during vulnerability scans.
The final article in this series describes how to configure the Wallarm Ingress controller for use in production environments, including steps to improve availability and security visibility. This enables you to enjoy the benefits of robust Kubernetes security without suffering degraded performance for containerized applications.
Your board wants AI. Your developers are building with it. Your budget committee is asking…
AI systems are no longer just isolated models responding to human prompts. In modern production…
Broken authorization is one of the most widely known API vulnerabilities. It features in the…
The shadow technology problem is getting worse. Over the past few years, organizations have scaled…
API security has been a growing concern for years. However, while it was always seen…
It’s an unusually cold winter morning in Houston, and Craig Riddell is settling into his…