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

Request: Could a Falco plugin take over responsibility for the AKS Audit Log Forwarder from Sysdig? #368

Open
Tracked by #228
tspearconquest opened this issue Aug 20, 2023 · 15 comments
Assignees
Labels
help wanted Extra attention is needed kind/feature New feature or request lifecycle/stale

Comments

@tspearconquest
Copy link

Motivation

Back in 2022, I did some testing of AKS Audit Log Forwarder with Falco and was able to confirm that it works properly. Audit logs from AKS are routed via an Event Hub, where the above will pick them up and route them into Falco for analysis by the k8saudit rules. Falco analyzes the events and logs activity based on the rules.

In my org's setup, we use Fluentd to capture container logs from the pods running in the cluster and forward them over to Log Analytics for our SOC team to further analyze and action.

Falco has made some great work on the k8s audit configuration by converting the original k8saudit stuff to a Falco plugin which automatically activates the built-in webserver (zero config when the plugin is enabled) and while this works fine, I've noticed that the audit log forwarder has not had any commits in 2 years; so it appears to me that the project was abandoned by Sysdig. This puts those of us using AKS with auditing requirements in a tough spot. Either we have to maintain the project ourselves, pulling in updates and making patches (not to mention keeping up with Kubernetes dependency library versions), or we run the risk of falling out of compliance with regulatory requirements, or the risk of the forwarder breaking completely one day in the future because of the lack of maintenance and various breaking changes in the cluster.

Side note for those not in the know: At least some of the regular Falco contributors work for Sysdig; though I don't know the exact nature of the relationship between the two teams.

Feature

As a Falco user, it would benefit the community of AKS users if Falco were to take over responsibility of the audit log forwarder. We don't have another good option for getting the event logs from AKS clusters into Falco, because we don't have access to make changes on the master nodes directly; our only options in Azure by default are to send the audit logs directly to an Event Hub, directly to Log Analytics, or directly to a Storage Account.

Alternatives

Can't think of any. My team doesn't have the ability to maintain the project internally; though we have been keeping up with CVE patches in the dependencies, it's a growing concern that one day we will upgrade to a kubernetes version which is incompatible and the log forwarder will just stop working.

Additional context

I wonder if it possibly could be converted to a Falco plugin itself, or possibly even integrated into the k8saudit plugin? If it either of these is an option, then it'd be much easier to setup and use with Falco because it could retrieve the logs from the event hub and pull them into Falco directly, and if integrated into the k8saudit plugin, then we wouldn't even need to have the falco webserver running.

@tspearconquest tspearconquest added the kind/feature New feature or request label Aug 20, 2023
@Andreagit97
Copy link
Member

ei! Thank you for reporting!
The only main concern that I have here is that we already have a lot of repo to manage under the falcosecurity organizations, so not sure we have enough folks to manage yet another repo :/ BTW I understand your issue we will discuss about it, cc @leogr

@leogr
Copy link
Member

leogr commented Aug 23, 2023

Hey @tspearconquest

Thank you for bringing this up.

AFAIK maintainers have discussed more than one time to start developing a k8saudit-aks plugin, as we already did with k8saudit-eks. IMO, this would be the preferred option since it reuses the modular design of the primary k8saudit plugin (by importing its Go packages). It would be easier to maintain since it will be implemented in Go, which we extensively use. The k8saudit-aks plugin would not require any external forwarder and would not need a separate repository.

To make this happen, we probably need some help from contributors to kick off this k8saudit-aks project. Still, this would be less painful than revamping and maintaining an outdated project 👼

Do we know anyone with experience in AKS and Go? 🤔

cc @Issif @jasondellaluce @cpanato

@tspearconquest
Copy link
Author

I don't know Go but willing to learn it; happy to help test it out in our environment if nothing else.

@Issif
Copy link
Member

Issif commented Sep 4, 2023

I'm not experienced with AKS either, but I developed the k8saudit-eks plugin. Basically, only the auth + log collection has to be implemented, the logic for extraction and export of the fields is easy, it just requires to import the modules from the k8saudit plugin.

@leogr
Copy link
Member

leogr commented Oct 12, 2023

Hey folks,

I think this should be moved to https://github.com/falcosecurity/plugins and become a feature request for a new plugin k8saudit-aks. Let me know if you disagree.

cc @jasondellaluce @LucaGuerra

@tspearconquest
Copy link
Author

I agree

@leogr leogr transferred this issue from falcosecurity/falco Oct 20, 2023
@leogr leogr changed the title Request: Could Falco take over responsibility for the AKS Audit Log Forwarder from Sysdig? Request: Could a Falco plugin take over responsibility for the AKS Audit Log Forwarder from Sysdig? Oct 20, 2023
@leogr
Copy link
Member

leogr commented Nov 24, 2023

I believe this is valuable, but I don't have cycles to take care of it.

/assign
I'm assigning this to myself just not to lose track of it, but we need a volunteer willing to implement this new plugin

/help

@poiana
Copy link
Contributor

poiana commented Nov 24, 2023

@leogr:
This request has been marked as needing help from a contributor.

Please ensure the request meets the requirements listed here.

If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

I believe this is valuable, but I don't have cycles to take care of it.

/assign
I'm assigning this to myself just not to lose track of it, but we need a volunteer willing to implement this new plugin

/help

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@poiana poiana added the help wanted Extra attention is needed label Nov 24, 2023
@poiana
Copy link
Contributor

poiana commented Feb 22, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented Feb 23, 2024

We still want this.

/remove-lifecycle stale

@poiana
Copy link
Contributor

poiana commented May 23, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented May 28, 2024

/remove-lifecycle stale

@poiana
Copy link
Contributor

poiana commented Aug 26, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented Aug 27, 2024

/remove-lifecycle stale

@poiana
Copy link
Contributor

poiana commented Nov 25, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed kind/feature New feature or request lifecycle/stale
Projects
None yet
Development

No branches or pull requests

5 participants