Goクライアント
client-go Goライブラリは以下を提供します:
- Falco gRPC APIのタイプとサービスのマッピング 。詳細については、出力スキーマを参照してください。
- gRPCサーバーへの接続を簡略化することを目的とした
Client
およびConfig
構造体。詳細については、ドキュメントを参照してください。
[完全に機能する例]((https://github.com/falcosecurity/client-go/blob/master/examples/output/main.go)を参照して、GoクライアントがFalco gRPC出力APIに接続する方法と、イベントをJSONで表示します。
例のパスの
/etc/falco/certs/{client.crt,client.key,ca.crt}
に証明書があることを確認します。client-goルートディレクトリから、次のコマンドを実行します:
$ go run examples/output/main.go | jq
Falcoインスタンスが持っている一連のルールに応じて、出力イベントが流れ始めます。
{ "time": { "seconds": 1570094449, "nanos": 259268899 }, "priority": 3, "rule": "Modify binary dirs", "output": "09:20:49.259268899: Error File below known binary directory renamed/removed (user=vagrant command=lua /home/vagrant/.dotfiles/zsh/.config/zsh/plugins/z.lua/z.lua --init zsh once enhanced pcmdline=zsh operation=rena me file=<NA> res=0 oldpath=/usr/bin/realpath newpath=/usr/bin/realpath container_id=host image=<NA>)", "output_fields": { "container.id": "host", "container.image.repository": "<NA>", "evt.args": "res=0 oldpath=/usr/bin/realpath newpath=/usr/bin/realpath ", "evt.time": "09:20:49.259268899", "evt.type": "rename", "fd.name": "<NA>", "proc.cmdline": "lua /home/vagrant/.dotfiles/zsh/.config/zsh/plugins/z.lua/z.lua --init zsh once enhanced", "proc.pcmdline": "zsh", "user.name": "vagrant" } } { "time": { "seconds": 1570094449, "nanos": 620298462 }, "priority": 4, "rule": "Delete or rename shell history", "output": "09:20:49.620298462: Warning Shell history had been deleted or renamed (user=vagrant type=unlink command=zsh fd.name=<NA> name=<NA> path=/home/vagrant/.zsh_history.LOCK oldpath=<NA> host (id=host))", "output_fields": { "container.id": "host", "container.name": "host", "evt.arg.name": "<NA>", "evt.arg.oldpath": "<NA>", "evt.arg.path": "/home/vagrant/.zsh_history.LOCK", "evt.time": "09:20:49.620298462", "evt.type": "unlink", "fd.name": "<NA>", "proc.cmdline": "zsh", "user.name": "vagrant" } }
Was this page helpful?
Let us know! You feedback will help us to improve the content and to stay in touch with our users.
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.