Introdução
Neste laboratório, você aprenderá como verificar se um filtro seccomp está aplicado no Linux. Seccomp é um recurso de segurança que restringe as chamadas de sistema que um processo pode fazer.
Você explorará três métodos para verificar o status do seccomp: examinar o arquivo /proc/self/status para verificar o estado seccomp do processo, inspecionar as mensagens do kernel usando dmesg para eventos relacionados ao seccomp e verificar o diretório /sys/kernel/security para informações de configuração do seccomp. Essas etapas fornecerão habilidades práticas para entender e verificar a aplicação do seccomp em um ambiente Linux.
Verificar o status do seccomp com cat /proc/self/status
Nesta etapa, exploraremos como verificar o status do seccomp de um processo no Linux. Seccomp (Secure Computing) é um recurso de segurança que permite a um processo restringir as chamadas de sistema que ele pode fazer. Isso pode ajudar a mitigar o impacto de vulnerabilidades de segurança.
Podemos verificar o status do seccomp do processo atual examinando o arquivo /proc/self/status. Este arquivo contém várias informações de status sobre o processo.
Abra seu terminal, caso ainda não esteja aberto. Você pode fazer isso clicando no ícone Xfce Terminal no lado esquerdo da área de trabalho.
Agora, digite o seguinte comando e pressione Enter:
cat /proc/self/status
Este comando exibirá o conteúdo do arquivo /proc/self/status. Role pela saída e procure uma linha que comece com Seccomp:.
Você deve ver uma saída semelhante a esta:
Name: zsh
Umask: 0002
State: R (running)
Tgid: ...
Ngid: 0
Pid: ...
PPid: ...
TracerPid: 0
Uid: ...
Gid: ...
FDSize: 64
Groups: ...
NStgid: ...
NSpid: ...
NSpgid: ...
NSsid: ...
VmPeak: ... kB
VmSize: ... kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: ... kB
VmRSS: ... kB
RssAnon: ... kB
RssFile: ... kB
RssShmem: ... kB
VmData: ... kB
VmStk: ... kB
VmExe: ... kB
VmLib: ... kB
VmPTE: ... kB
VmSwap: 0 kB
HugetlbPages: 0 kB
CoreDumpFilter: 00000000
Threads: 1
SigQ: .../...
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
voluntary_ctxt_switches: ...
nonvoluntary_ctxt_switches: ...
Seccomp: 0
A linha Seccomp: indica o status do seccomp. O valor 0 significa que o seccomp não está habilitado para este processo. Outros valores possíveis indicam diferentes modos de seccomp.
Entender a saída de /proc/self/status é uma habilidade fundamental para inspecionar informações do processo no Linux.
Clique em Continuar para prosseguir para a próxima etapa.
Verificar seccomp em dmesg
Nesta etapa, aprenderemos como verificar as mensagens do kernel relacionadas ao seccomp usando o comando dmesg. dmesg é um comando que exibe as mensagens do buffer de anel do kernel. Essas mensagens contêm informações sobre hardware, drivers de dispositivo e outros eventos de nível de kernel, incluindo eventos relacionados à segurança, como ações do seccomp.
Quando o seccomp está ativo e bloqueia uma chamada de sistema, o kernel geralmente registra uma mensagem no buffer de anel. Podemos usar dmesg para visualizar essas mensagens e filtrar aquelas relacionadas ao seccomp.
Abra seu terminal, caso ainda não esteja aberto.
Agora, digite o seguinte comando e pressione Enter:
dmesg | grep seccomp
Vamos detalhar este comando:
dmesg: Este comando exibe as mensagens do kernel.|: Este é um pipe. Ele pega a saída do comando à esquerda (dmesg) e a envia como entrada para o comando à direita (grep).grep seccomp: Este comando procura linhas que contenham a palavra "seccomp" na entrada que recebe.
A saída deste comando mostrará quaisquer mensagens do kernel que incluam o termo "seccomp". Em um ambiente típico onde o seccomp é usado por alguns processos ou contêineres do sistema, você pode ver uma saída semelhante a esta:
[ ... ] audit: type=1326 audit(...): auid=... uid=... gid=... ses=... subj=unconfined seccomp=0 pid=... comm="..." exe="..." sig=0 arch=c000003e syscall=... compat=0 ip=... code=0x...
[ ... ] audit: type=1326 audit(...): auid=... uid=... gid=... ses=... subj=unconfined seccomp=2 pid=... comm="..." exe="..." sig=0 arch=c000003e syscall=... compat=0 ip=... code=0x...
Essas mensagens indicam que o sistema de auditoria do kernel está registrando eventos relacionados ao seccomp. O campo seccomp= na mensagem de auditoria mostra o modo seccomp para o processo no momento do evento.
Se você não vir nenhuma saída, pode significar que nenhum evento relacionado ao seccomp foi registrado recentemente neste ambiente específico. Isso também é normal e depende da atividade do sistema.
Usar dmesg com grep é uma maneira poderosa de filtrar mensagens do kernel e diagnosticar problemas ou observar eventos de segurança.
Clique em Continuar para passar para a próxima etapa.
Inspecionar seccomp em /sys/kernel/security
Nesta etapa final, exploraremos o diretório /sys/kernel/security, que fornece uma interface para vários módulos de segurança do kernel, incluindo seccomp. Este diretório nos permite inspecionar e, às vezes, configurar aspectos relacionados à segurança do kernel.
Abra seu terminal, caso ainda não esteja aberto.
Primeiro, vamos navegar para o diretório /sys/kernel/security. Podemos usar o comando cd para isso:
cd /sys/kernel/security
Agora que estamos no diretório /sys/kernel/security, vamos listar seu conteúdo usando o comando ls:
ls
Você deve ver uma lista de diretórios e arquivos relacionados a diferentes módulos de segurança. Procure um diretório ou arquivo relacionado a seccomp. A saída pode ser semelhante a esta (o conteúdo exato pode variar dependendo do sistema):
apparmor cap device_cgroup lockdown lsm selinux seccomp smack tomoyo
Você deve ver um diretório chamado seccomp. Este diretório contém arquivos que fornecem informações sobre a configuração e o status do seccomp no nível do kernel.
Vamos navegar para o diretório seccomp:
cd seccomp
Agora, liste o conteúdo do diretório seccomp:
ls
Você pode ver arquivos como policy ou outros arquivos, dependendo da versão e configuração do kernel. Esses arquivos podem fornecer informações mais detalhadas sobre as políticas de seccomp que estão carregadas ou disponíveis no sistema.
Por exemplo, você pode tentar visualizar o conteúdo de um arquivo como policy se ele existir (o nome do arquivo pode ser diferente):
cat policy
A saída de cat policy dependerá se uma política de seccomp está ativa em todo o sistema ou se este arquivo fornece outras informações. Em muitas configurações padrão, este arquivo pode não conter detalhes extensivos de política legíveis por humanos diretamente, mas sua presença indica que o seccomp é um módulo de segurança reconhecido.
Explorar o sistema de arquivos /sys, particularmente o caminho /sys/kernel/security, é uma maneira fundamental de entender os recursos de segurança habilitados e configurados em seu kernel Linux.
Você agora aprendeu três maneiras diferentes de verificar o status do seccomp e informações relacionadas em um ambiente Linux.
Clique em Continuar para concluir o laboratório.
Resumo
Neste laboratório, aprendemos como verificar se um filtro seccomp está aplicado no Linux. Exploramos três métodos: verificar o arquivo /proc/self/status para ver o status Seccomp: de um processo, verificar mensagens relacionadas ao seccomp no log do kernel usando dmesg e inspecionar o status do seccomp através do sistema de arquivos /sys/kernel/security.
Essas etapas forneceram maneiras práticas de determinar o status do seccomp dos processos e entender como o seccomp é relatado pelo kernel Linux, o que é crucial para análise de segurança e solução de problemas.



