-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add a log receiver on CAPI MCs to be able to receive teleport audit logs and send them to Loki and customers SIEMs #3343
Comments
From @TheoBrigitte in the epic level: Regarding Teleport audit events, there is a way to export events from our Teleport cloud and ship then into Fluentd (or probably any other JSON compatible log ingester ... Alloy 👀), but exported events are from all installations and I haven't found a way to filter events from the teleport side. I did follow the Export Events with Fluentd guide, and used the identity file from kg get secret abc-identity-output -oyaml|yq -r .data.identity|base64 -d> identity. Useful links: https://goteleport.com/docs/admin-guides/management/export-audit-events/fluentd/ |
So in the scope of this ticket what's missing is:
|
I have some concerns towards security regarding this, as the current solution would expose all Audit Events in our Teleport account to every installation, meaning that any customer could potentially get access to any other customer's Audit Events. The filtering we can do in fluentd, alloy, or whatever we use would happen to late and could easily be worked around to get access to all Audit Events. |
@TheoBrigitte I think there's a confusion here. The goal of this story is to enable the log receiving endpoint, but the export to the correct installation (filtering of correct logs) will be done in the teleport cluster by @giantswarm/team-shield . We only need to provide a secure endpoint for access from the teleport cluster. This will most likely require cooperation from @ssyno as we should be able to restrict tihs ingress only to the teleport VNET? |
Teleport Audit Events will be ingested onto GiantSwarm's teleport cluster, the filtering will happen their and Audit Events will then be dispatched to different installations. |
The audit events already exist inside our teleport cluster, we just have to figure out a way to ship them to the log storage of each management cluster(so we can avoid our customers interacting with our teleport cluster). Teleport has a plugin called |
@giantswarm/team-shield coming back to this :) From what i understood we need to create a teleport event handler for each installation (that is a fluentd basically) and this requires you to work on it. Each teleport event handler would need to be able to forward logs (in loki format) to our managed Loki per installation. The rough schema would be: teleport event handler -> fluentd forwarded -> observability gateway -> loki Now my questions are:
|
The teleport event handler basically spits out JSON, anything that understand JSON should be able to ingest the data coming from the event handler. I see this a bit differently, shield sets up the teleport event handler which then talk to "something" atlas provide which might be Alloy or Fluentd we have to verify this. So this would be teleport event handler -> alloy or fluentd -> loki I think the alloy/fluentd config is then on us (atlas). |
Yes the event handler would communicate with the observability gateway, but the event handler does not support loki yet only fluentd and it should run on the teleport cluster to filter per installation |
I think that we can skip the step of the |
Do you have the handler running on the teleport cluster yet? |
nope, I think we should try doing it without the event-handler |
Do you want us to have a quick meet on thursday to figure out what we can do? |
@ssyno and I had a talk. We plan to:
Open questions:
Investigation:
@giantswarm/team-shield and @giantswarm/team-atlas what are your thoughts on this solution? |
This sounds good to me 👍 It would be nice to dogfood and use the same route that customers use (including ingress), but the vnet approach also makes sense and would handle private environments as well, so no blocker from me. Some suggestions / considerations:
|
We were mostly concerned about private MCs when we talked about the vent and i'm not sure we could provide oidc for the log shipper without spire anyway :) I'm totally aligned with your other points |
Hey @ssyno do you think we could kickstart this on your side this month? |
I did some research the previous days:
I have enabled Teleport VNet for I think we are ready to move forward |
Awesome so as long as we only restrict log collection to the teleport pods and filter based on the kubernetes cluster then we should be good to go :) I'll do some testing on the teleport cluster |
Towards #3250
Motivation
As Giant Swarm employees will not be able to ssh onto nodes and clusters using bastions hosts but teleport, we need to be able to collect and store the teleport logs in Loki and potentiall in customer's SIEMs.
To that end and after some discussions with @giantswarm/team-bigmac #3250 (comment) we decided that we would add a fluent-bit log receiver on the Management clusters that would receive the teleport logs and send the data wheever is needed (loki and SIEM if needed)
Acceptance Criteria
Dependencies
Dependencies
Tasks
The text was updated successfully, but these errors were encountered: