From 7d62bbc3dd92f1e73b3e2a199f6b6b613d5821d9 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Sun, 19 Jul 2020 23:24:32 -0700 Subject: Log remote IP for executed commands Admins may want to know what client IP originated the request. This commit adds a `remote_ip` field to the log that extracts the IP address from the `SSH_CONNECTION` environment variable. Closes https://gitlab.com/gitlab-org/gitlab-shell/-/issues/199 --- internal/handler/exec.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'internal/handler/exec.go') diff --git a/internal/handler/exec.go b/internal/handler/exec.go index d6e06aa..060b709 100644 --- a/internal/handler/exec.go +++ b/internal/handler/exec.go @@ -14,6 +14,7 @@ import ( "gitlab.com/gitlab-org/gitlab-shell/internal/config" "gitlab.com/gitlab-org/gitlab-shell/internal/executable" "gitlab.com/gitlab-org/gitlab-shell/internal/gitlabnet/accessverifier" + "gitlab.com/gitlab-org/gitlab-shell/internal/sshenv" grpccorrelation "gitlab.com/gitlab-org/labkit/correlation/grpc" "gitlab.com/gitlab-org/labkit/tracing" "google.golang.org/grpc" @@ -64,6 +65,7 @@ func (gc *GitalyCommand) LogExecution(repository *pb.Repository, response *acces "user_id": response.UserId, "username": response.Username, "git_protocol": protocol, + "remote_ip": sshenv.LocalAddr(), } log.WithFields(fields).Info("executing git command") -- cgit v1.2.1