Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kubernetes response engine #389

Merged
merged 13 commits into from
Jul 12, 2018
18 changes: 18 additions & 0 deletions integrations/kubernetes-response-engine/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Kubernetes Response Engine for Sysdig Falco

A response engine for Falco that allows to process security events executing playbooks to respond to security threats.

## Architecture

* *[Falco](https://sysdig.com/opensource/falco/)* monitors containers and processes to alert on unexpected behavior. This is defined through the runtime policy built from multiple rules that define what the system should and shouldn't do.
* *falco-nats* forwards the alert to a message broker service into a topic compound by `falco.<severity>.<rule_name_slugified>`.
* *[NATS](https://nats.io/)*, our message broker, delivers the alert to any subscribers to the different topics.
* *[Kubeless](https://kubeless.io/)*, a FaaS framework that runs in Kubernetes, receives the security events and executes the configured playbooks.

## Glossary

* *Security event*: Alert sent by Falco when a configured rule matches the behaviour on that host.
* *Playbook*: Each piece code executed when an alert is received to respond to that threat in an automated way, some examples include:
- sending an alert to Slack
- stop the pod killing the container
- taint the specific node where the pod is running
9 changes: 9 additions & 0 deletions integrations/kubernetes-response-engine/deployment/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
deploy:
kubectl apply -f nats/
kubectl apply -f kubeless/
kubectl apply -f network-policy.yaml

clean:
kubectl delete -f kubeless/
kubectl delete -f nats/
kubectl delete -f network-policy.yaml
20 changes: 20 additions & 0 deletions integrations/kubernetes-response-engine/deployment/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Kubernetes Manifests for Kubernetes Response Engine

In this directory are the manifests for creating required infrastructure in the
Kubernetes cluster

## Deploy

For deploying NATS, Falco + Falco-NATS output and Kubeless just run default Makefile target:

```
make
```

## Clean

You can clean your cluster with:

```
make clean
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: kubeless
Loading