Skip to content

feat(lab9): falco custom rules + conftest hardening policies#1444

Open
demonit4028 wants to merge 4 commits into
inno-devops-labs:mainfrom
demonit4028:feature/lab9
Open

feat(lab9): falco custom rules + conftest hardening policies#1444
demonit4028 wants to merge 4 commits into
inno-devops-labs:mainfrom
demonit4028:feature/lab9

Conversation

@demonit4028

Copy link
Copy Markdown

Goal

Falco runtime detection with custom rules + Conftest policy-as-code for K8s hardening.

Changes

  • labs/lab9/falco/rules/custom-rules.yaml β€” custom Falco rule (Write to /tmp) + bonus cryptominer detection rule
  • labs/lab9/policies/extra/hardening.rego β€” Conftest Rego policies (runAsNonRoot, allowPrivilegeEscalation, capabilities.drop ALL, resources.limits.memory)
  • submissions/lab9.md β€” submission with triggered alerts, policy outputs, and reflections

Testing

# Falco β€” Terminal shell (baseline A)
docker exec -it lab9-target /bin/sh -lc 'echo "shell-in-container test"'

# Falco β€” Read sensitive file (baseline B)
docker exec lab9-target /bin/sh -lc 'cat /etc/shadow'

# Falco β€” Custom rule: Write to /tmp
docker exec --user 0 lab9-target /bin/sh -lc 'echo "test" > /tmp/my-write.txt'

# Falco β€” Bonus: Cryptominer detection
docker exec lab9-target /bin/sh -c 'nc -w 2 127.0.0.1 3333' 2>/dev/null || true

# Conftest β€” hardened manifest passes
conftest test labs/lab9/manifests/k8s/juice-hardened.yaml --policy labs/lab9/policies/extra/
# β†’ 8 tests, 8 passed, 0 failures

# Conftest β€” unhardened manifest fails
conftest test labs/lab9/manifests/k8s/juice-unhardened.yaml --policy labs/lab9/policies/extra/
# β†’ 3 failures: runAsNonRoot, allowPrivilegeEscalation, resources.limits.memory

# Conftest β€” compose policy (shipped)
conftest test labs/lab9/manifests/compose/juice-compose.yml \
  --policy labs/lab9/policies/compose-security.rego --namespace compose.security
# β†’ 4 tests, 4 passed

conftest test /tmp/bad-compose.yml \
  --policy labs/lab9/policies/compose-security.rego --namespace compose.security
# β†’ 2 failures: user, read_only

Artifacts & Screenshots

  • submissions/lab9.md

Checklist

  • Title follows feat(labN): <topic> format
  • No secrets or large temp files committed
  • Submission file at submissions/lab9.md exists

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant