Table of Contents
Create image registry with Certs and Basic HTTP AUTH
mkdir -p /opt/docker-registry/cert
cd /opt/docker-registry/cert
openssl req -newkey rsa:2048 -nodes -keyout registry_auth.key -x509 -days 365 -o
ut registry_auth.crt -config ext.cfg -extensions v3_req
mkdir -p /opt/docker-registry/auth
cd /opt/docker-registry/auth
htpasswd -Bbn admin password >> /opt/docker-registry/auth/htpasswd
docker run -d -p 5000:5000 --restart=always --name registry \
-v /opt/docker-registry/data:/var/lib/registry \
-v /opt/docker-registry/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v /opt/docker-registry/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry_auth.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/registry_auth.key \
registry:2
Login to OCI artifact registry with falcoctl and basic HTTP Auth
falcoctl registry auth basic localhost:5000
Create basic rule:
cat <EOF > my_rules.yaml
- list: falco_binaries
items: [falcoctl]
EOF
Tar for transport
tar cvzf myrules.tar.gz my_rules.yaml
Push
falcoctl registry push --type rulesfile --version "0.1.2" 127.0.0.1:5000/myrules:0.1 myrules.tar.gz --plain-http
Pull
falcoctl registry pull localhost:5000/myrules:0.1 --dest-dir=./my_rules --plain-http
Add new Registry
falcoctl index add kurtis-rules https://kurtisvelarde.com/falco/index.yaml
falcoctl index update kurtis-rules
falcoctl artifact list
falcoctl -v artifact install application-rules
Example index with namespaced rules
- name: kurtis-falco-main-rules
type: rulesfile
registry: kurtisvelarde.com:5000
repository: rules/kurtis-falco-main
description: This rules files is maintained by kurtis that are the defualt set
home: https://github.com/falcosecurity/rules/blob/main/archive/application_rul
es.yaml
keywords:
- kurtis-rules
license: apache-2.0
maintainers:
- email: kurtis@kurtisvelarde.com
name: kurtis
sources:
- https://github.com/falcosecurity/rules/blob/main/archive/application_rules.yaml
Push to it
falcoctl registry push --type rulesfile --version "0.1.2" kurtisvelarde.com:500
0/rules/kurtis-falco-main:0.1 kurtis-falco-main_rules.yaml
Pull
falcoctl registry pull kurtisvelarde.com:5000/rules/kurtis-falco-main:0.1 --dest
-dir=~/rules
tar xvzf ~/rules/kurtis-falco-main_rules.tar.gz kurtis-falco-main_rules.yaml
Copy
cp kurtis-falco-main_rules.yaml /etc/falco/rules.d/
systemctl restart falco