Falco security и falcosidekick на докере составляют
Я пытаюсь запустить контейнер falco и falcosikick в docker compose .
version: "3.9"
services:
falco:
image: falcosecurity/falco:latest
privileged: true
volumes:
- /var/run/docker.sock:/host/var/run/docker.sock
- /dev:/host/dev
- /proc:/host/proc:ro
- /boot:/host/boot:ro
- /lib/modules:/host/lib/modules:ro
- /usr:/host/usr:ro
- /etc:/host/etc:ro
- /var/log/falco_events.log:/var/log/falco_events.log
- /home/ubuntu/falco.yaml:/etc/falco/falco.yaml
- /home/ubuntu/falco_rules.yaml:/etc/falco/falco_rules.yaml
- /home/ubuntu/falco_rules.local.yaml:/etc/falco/rules.d/custom-rules.yaml
falcosidekick:
image: falcosecurity/falcosidekick
ports:
- 2801:2801
Я настроил falco.yaml для отправки http_output в контейнер falcosidekick:
http_output:
enabled: true
url: "http://falcosidekick:2801"
Затем я добавил слабую конфигурацию в falco.yaml.
debug: false
customfields: # custom fields are added to falco events
Akey: "AValue"
Bkey: "BValue"
Ckey: "CValue"
mutualtlsfilespath: "/etc/certs" # folder which will used to store client.crt, client.key and ca.crt files for mutual tls (default: "/etc/certs")
slack:
webhookurl: "https://hooks.slack.com/services/XXX/XXXX/XXXXX"
#footer: "" # Slack footer
#icon: "" # Slack icon (avatar)
#username: "" # Slack username (default: Falcosidekick)
outputformat: "all" # all (default), text, fields
minimumpriority: "" # minimum priority of event for using this output, order is emergency|alert|critical|error|warning|notice|informational|debug or "" (default)
messageformat: 'Alert : rule *{{ .Rule }}* triggered by user *{{ index .OutputFields "user.name" }}*' # a Go template to format Slack Text above Attachment, displayed in addition to the output from `SLACK_OUTPUTFORMAT`, see [Slack Message Formatting](#slack-message-formatting) in the README for details. If empty, no Text is displayed before Attachment.
С этой конфигурацией у меня никогда не было предупреждений на моем слабом канале. Что случилось?
Спасибо
1 ответ
Конфигурации для falco и falcosidekick должны быть в 2 разных файлах, это означает, что вам также необходимо смонтировать том в контейнере falcosidekick. Вы также можете использовать переменные среды, если хотите (но это означает, что ваш слабый URL-адрес веб-перехватчика будет в виде открытого текста в вашем файле docker-compose).
version: "3.9"
services:
falco:
image: falcosecurity/falco:latest
privileged: true
volumes:
- /var/run/docker.sock:/host/var/run/docker.sock
- /dev:/host/dev
- /proc:/host/proc:ro
- /boot:/host/boot:ro
- /lib/modules:/host/lib/modules:ro
- /usr:/host/usr:ro
- /etc:/host/etc:ro
- /var/log/falco_events.log:/var/log/falco_events.log
- /home/ubuntu/falco.yaml:/etc/falco/falco.yaml
- /home/ubuntu/falco_rules.yaml:/etc/falco/falco_rules.yaml
- /home/ubuntu/falco_rules.local.yaml:/etc/falco/rules.d/custom-rules.yaml
falcosidekick:
image: falcosecurity/falcosidekick
ports:
- 2801:2801
volumes:
- /home/ubuntu/falcosidekick.yaml:/etc/falco/falcosidekick.yaml
command: "-c /etc/falco/falcosidekick.yaml"