logs de E / S e TSID do SUDO

1

Estou tentando entender os detalhes dos logs de sessão do sudo, especificamente sobre o TSID.

Eu tenho algumas perguntas:

  1. O que significa o TSID?
  2. É uma sequência de 6 caracteres que forma a estrutura de diretórios - 0001A1: o que cada par de 2 caracteres significa?
  3. Qualquer outro conteúdo relacionado à compreensão do TSID seria útil.
por yellolion 05.07.2018 / 04:45

1 resposta

1

Antecedentes

O TSID é descrito na página sudoreplay man da seguinte forma:

The ID should either be a six character sequence of digits and upper case letters, e.g. 0100A5, or a pattern matching the iolog_file option in the sudoers file. When a command is run via sudo with log_output enabled in the sudoers file, a TSID=ID string is logged via syslog or to the sudo log file. The ID may also be determined using sudoreplay's list mode.

Você pode usar sudoreplay -l para listar sessões disponíveis, para reproduzir uma delas, você executaria um comando como este: sudoreplay <tsid> .

Saída de amostra

Eu encontrei exemplos de saída em um AU Q & A intitulado: Como fazer trabalho no sudoreplay :

$ sudo sudoreplay -l
Nov 28 11:48:35 2014 : chrthomp : TTY=/dev/pts/1 ; CWD=/home/chrthomp/DJS/2014/Nov ; USER=root ; TSID=000001 ; COMMAND=/bin/su -

$ sudo sudoreplay 000001

Mais pesquisas

Se você examinar a página sudoers man , ela explica o que a TSID= é:

Input is logged to the directory specified by the iolog_dir option (/var/log/sudo-io by default) using a unique session ID that is included in the normal sudo log line, prefixed with "TSID=". The iolog_file option may be used to control the format of the session ID.

NOTA: Um parágrafo semelhante é mencionado nas definições log_input e log_output .

Se você ler mais na página sudoers man, descobrirá que TSID= também é chamado logid :

date hostname progname: username : TTY=ttyname ; PWD=cwd ; \
USER=runasuser ; GROUP=runasgroup ; TSID=logid ; \
ENV=env_vars COMMAND=command

O que leva a isso:

logid - An I/O log identifier that can be used to replay the command's output. This is only present when the log_input or log_output option is enabled.

Considerações iniciais ...

A maioria dos exemplos que encontrei mostra TSID= como uma sequência de números (000001) ou como uma sequência de números e letras (000AE1). Curiosamente eu sempre vi isso com letras específicas, principalmente A-F, o que me levaria a acreditar que é apenas um número inteiro ou hexadecimal.

Em ambos os casos, não parece ser um "sistema inteligente de numeração" de qualquer consequência.

Olhe para o código-fonte

Em grep 'através do supo code repo, há um arquivo NEWS que informa o seguinte:

  • The sudoers policy now stores the TSID field in the logs even when the "iolog_file" sudoers option is defined to a value other than %{sessid}. Previously, the TSID field was only included in the log file when the "iolog_file" option was set to its default value.

Se você está curioso, a origem do TSID= está localizada no logging.c arquivo.

Referências

por 05.07.2018 / 08:42

Tags