Grsecurity: concede permissão ao usuário para ver todos os processos (Debian Jessie)

1

Quando o Debian Jessie é compilado com o grsecurity, um usuário simples não pode ver todos os processos. Portanto, as tarefas executadas pelo cliente Sensu (solução de monitoramento e telemetria) não podem ver se existem outros processos (como o Apache).

Existe uma maneira de conceder ao usuário sensu o privilégio de ver todos os processos do sistema?

    
por Dani 15.04.2017 / 19:20

1 resposta

1

Se os usuários não puderem ver os processos uns dos outros, o Grsecurity será compilado com o símbolo de configuração do kernel:

Restrict /proc to user only

GRKERNSEC_PROC_USER

If you say Y here, non-root users will only be able to view their own processes, and restricts them from viewing network-related information, and viewing kernel symbol and module information.

Depende de GRKERNSEC_PROC_USERGROUP se você pode permitir que um usuário veja outros processos adicionando o usuário em um grupo especial.

Allow special group

GRKERNSEC_PROC_USERGROUP

If you say Y here, you will be able to select a group that will be able to view all processes and network-related information. If you've enabled GRKERNSEC_HIDESYM, kernel and symbol information may still remain hidden. This option is useful if you want to run identd as a non-root user. The group you select may also be chosen at boot time via grsec_proc_gid= on the kernel commandline.

E GRKERNSEC_PROC_GID especifica o grupo que está isento (se não for definido por meio da CLI do kernel do tempo de inicialização).

Você pode verificar se tem esse conjunto e adicionar seu usuário do Sensu a esse grupo:

  1. Encontre sua versão do kernel em execução com uname -r .
  2. Verifique a configuração em grep "GRKERNSEC_PROC_GID" /boot/config-<kernel_release>
  3. Procure o nome desse grupo em /etc/group . Ao mesmo tempo, você pode verificar todos os grupos aos quais seu usuário Sensu pertence atualmente, caso contrário, você o removerá de todos esses grupos na próxima etapa. (Se o grupo não existir, crie-o com groupadd -g GID grsecproc .)
  4. Adicione seu usuário do Sensu a esse grupo com usermod -a -G GROUP sensu , mas não se esqueça de listar todos os outros grupos da etapa 3:

    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
        A list of supplementary groups which the user is also a member of.
        Each group is separated from the next by a comma, with no
        intervening whitespace. The groups are subject to the same
        restrictions as the group given with the -g option.
    
        If the user is currently a member of a group which is not listed,
        the user will be removed from the group. This behaviour can be
        changed via the -a option, which appends the user to the current
        supplementary group list.
    

Como as mesmas etapas funcionam para todos os softwares de monitoramento de servidores , a lista de grupos pode variar. Portanto, eu tive que enfatizar isso mesmo que não houvesse grupos importantes neste caso com Sensu.

O GRKERNSEC_PROC_GID (ou GRKERNSEC_PROC_USERGROUP ) não foi definido (leia sobre Compilando um novo Kernel em Jessie e) você pode configurá-lo com make menuconfig e compilar o kernel.

    
por 15.04.2017 / 21:23