Skip to content

Commit 4a6ac12

Browse files
authored
audits: populate server_version in ServerMetadata (#42284)
This PR completes the work introduced by #42157 to all usages of `ServerMetadata`. Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
1 parent beb4617 commit 4a6ac12

File tree

11 files changed

+24
-2
lines changed

11 files changed

+24
-2
lines changed

lib/bpf/bpf.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
"github.com/gravitational/trace"
3838
"github.com/gravitational/ttlmap"
3939

40+
ossteleport "github.com/gravitational/teleport"
4041
"github.com/gravitational/teleport/api/constants"
4142
apievents "github.com/gravitational/teleport/api/types/events"
4243
controlgroup "github.com/gravitational/teleport/lib/cgroup"
@@ -388,6 +389,7 @@ func (s *Service) emitCommandEvent(eventBytes []byte) {
388389
Code: events.SessionCommandCode,
389390
},
390391
ServerMetadata: apievents.ServerMetadata{
392+
ServerVersion: ossteleport.Version,
391393
ServerID: ctx.ServerID,
392394
ServerHostname: ctx.ServerHostname,
393395
ServerNamespace: ctx.Namespace,
@@ -446,6 +448,7 @@ func (s *Service) emitDiskEvent(eventBytes []byte) {
446448
Code: events.SessionDiskCode,
447449
},
448450
ServerMetadata: apievents.ServerMetadata{
451+
ServerVersion: ossteleport.Version,
449452
ServerID: ctx.ServerID,
450453
ServerHostname: ctx.ServerHostname,
451454
ServerNamespace: ctx.Namespace,
@@ -500,6 +503,7 @@ func (s *Service) emit4NetworkEvent(eventBytes []byte) {
500503
Code: events.SessionNetworkCode,
501504
},
502505
ServerMetadata: apievents.ServerMetadata{
506+
ServerVersion: ossteleport.Version,
503507
ServerID: ctx.ServerID,
504508
ServerHostname: ctx.ServerHostname,
505509
ServerNamespace: ctx.Namespace,
@@ -556,6 +560,7 @@ func (s *Service) emit6NetworkEvent(eventBytes []byte) {
556560
Code: events.SessionNetworkCode,
557561
},
558562
ServerMetadata: apievents.ServerMetadata{
563+
ServerVersion: ossteleport.Version,
559564
ServerID: ctx.ServerID,
560565
ServerHostname: ctx.ServerHostname,
561566
ServerNamespace: ctx.Namespace,

lib/events/eventstest/generate.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"github.com/google/uuid"
2626
"github.com/jonboulle/clockwork"
2727

28+
"github.com/gravitational/teleport"
2829
apievents "github.com/gravitational/teleport/api/types/events"
2930
"github.com/gravitational/teleport/lib/events"
3031
)
@@ -73,7 +74,8 @@ func GenerateTestSession(params SessionParams) []apievents.AuditEvent {
7374
ClusterName: params.ClusterName,
7475
},
7576
ServerMetadata: apievents.ServerMetadata{
76-
ServerID: params.ServerID,
77+
ServerVersion: teleport.Version,
78+
ServerID: params.ServerID,
7779
ServerLabels: map[string]string{
7880
"kernel": "5.3.0-42-generic",
7981
"date": "Mon Mar 30 08:58:54 PDT 2020",
@@ -105,6 +107,7 @@ func GenerateTestSession(params SessionParams) []apievents.AuditEvent {
105107
Time: params.Clock.Now().UTC().Add(time.Hour + time.Second + 7*time.Millisecond),
106108
},
107109
ServerMetadata: apievents.ServerMetadata{
110+
ServerVersion: teleport.Version,
108111
ServerID: params.ServerID,
109112
ServerNamespace: "default",
110113
},

lib/srv/app/common/audit.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ func (a *audit) OnSessionStart(ctx context.Context, serverID string, identity *t
106106
ClusterName: identity.RouteToApp.ClusterName,
107107
},
108108
ServerMetadata: apievents.ServerMetadata{
109+
ServerVersion: teleport.Version,
109110
ServerID: serverID,
110111
ServerNamespace: apidefaults.Namespace,
111112
},
@@ -132,6 +133,7 @@ func (a *audit) OnSessionEnd(ctx context.Context, serverID string, identity *tls
132133
ClusterName: identity.RouteToApp.ClusterName,
133134
},
134135
ServerMetadata: apievents.ServerMetadata{
136+
ServerVersion: teleport.Version,
135137
ServerID: serverID,
136138
ServerNamespace: apidefaults.Namespace,
137139
},
@@ -158,6 +160,7 @@ func (a *audit) OnSessionChunk(ctx context.Context, serverID, chunkID string, id
158160
ClusterName: identity.RouteToApp.ClusterName,
159161
},
160162
ServerMetadata: apievents.ServerMetadata{
163+
ServerVersion: teleport.Version,
161164
ServerID: serverID,
162165
ServerNamespace: apidefaults.Namespace,
163166
},

lib/srv/ctx.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1398,6 +1398,7 @@ func (c *ServerContext) GetExecRequest() (Exec, error) {
13981398

13991399
func (c *ServerContext) GetServerMetadata() apievents.ServerMetadata {
14001400
return apievents.ServerMetadata{
1401+
ServerVersion: teleport.Version,
14011402
ServerID: c.srv.HostUUID(),
14021403
ServerHostname: c.srv.GetInfo().GetHostname(),
14031404
ServerNamespace: c.srv.GetNamespace(),

lib/srv/db/common/audit.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ func MakeEventMetadata(session *Session, eventType, eventCode string) events.Met
272272
// MakeServerMetadata returns common server metadata for database session.
273273
func MakeServerMetadata(session *Session) events.ServerMetadata {
274274
return events.ServerMetadata{
275+
ServerVersion: teleport.Version,
275276
ServerID: session.HostID,
276277
ServerNamespace: apidefaults.Namespace,
277278
}

lib/srv/forward/sshserver.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,7 @@ func (s *Server) TargetMetadata() apievents.ServerMetadata {
409409
}
410410

411411
return apievents.ServerMetadata{
412+
ServerVersion: teleport.Version,
412413
ServerNamespace: s.GetNamespace(),
413414
ServerID: s.targetID,
414415
ServerAddr: s.targetAddr,

lib/srv/monitor.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import (
3131
log "github.com/sirupsen/logrus"
3232
"golang.org/x/crypto/ssh"
3333

34+
"github.com/gravitational/teleport"
3435
"github.com/gravitational/teleport/api/constants"
3536
"github.com/gravitational/teleport/api/types"
3637
apievents "github.com/gravitational/teleport/api/types/events"
@@ -457,7 +458,8 @@ func (w *Monitor) emitDisconnectEvent(reason string) error {
457458
RemoteAddr: w.Conn.RemoteAddr().String(),
458459
},
459460
ServerMetadata: apievents.ServerMetadata{
460-
ServerID: w.ServerID,
461+
ServerVersion: teleport.Version,
462+
ServerID: w.ServerID,
461463
},
462464
Reason: reason,
463465
}

lib/srv/regular/sshserver.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ type Server struct {
245245
// TargetMetadata returns metadata about the server.
246246
func (s *Server) TargetMetadata() apievents.ServerMetadata {
247247
return apievents.ServerMetadata{
248+
ServerVersion: teleport.Version,
248249
ServerNamespace: s.GetNamespace(),
249250
ServerID: s.ID(),
250251
ServerAddr: s.Addr(),
@@ -1479,6 +1480,7 @@ func (s *Server) HandleNewChan(ctx context.Context, ccx *sshutils.ConnectionCont
14791480
RemoteAddr: ccx.ServerConn.RemoteAddr().String(),
14801481
},
14811482
ServerMetadata: apievents.ServerMetadata{
1483+
ServerVersion: teleport.Version,
14821484
ServerID: s.uuid,
14831485
ServerNamespace: s.GetNamespace(),
14841486
},

lib/srv/sess_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -882,6 +882,7 @@ func TestTrackingSession(t *testing.T) {
882882
},
883883
},
884884
serverMeta: apievents.ServerMetadata{
885+
ServerVersion: teleport.Version,
885886
ServerHostname: "test",
886887
ServerID: "123",
887888
},

lib/srv/session_control.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,7 @@ func (s *SessionController) emitRejection(ctx context.Context, userMetadata apie
335335
RemoteAddr: remoteAddr,
336336
},
337337
ServerMetadata: apievents.ServerMetadata{
338+
ServerVersion: teleport.Version,
338339
ServerID: s.cfg.ServerID,
339340
ServerNamespace: apidefaults.Namespace,
340341
},

lib/web/apps.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"github.com/gravitational/trace"
3030
"github.com/julienschmidt/httprouter"
3131

32+
"github.com/gravitational/teleport"
3233
apiclient "github.com/gravitational/teleport/api/client"
3334
"github.com/gravitational/teleport/api/client/proto"
3435
apidefaults "github.com/gravitational/teleport/api/defaults"
@@ -287,6 +288,7 @@ func (h *Handler) createAppSession(w http.ResponseWriter, r *http.Request, p htt
287288
ClusterName: identity.RouteToApp.ClusterName,
288289
},
289290
ServerMetadata: apievents.ServerMetadata{
291+
ServerVersion: teleport.Version,
290292
ServerID: h.cfg.HostUUID,
291293
ServerNamespace: apidefaults.Namespace,
292294
},

0 commit comments

Comments
 (0)