Inspecionar a configuração sysctl em /etc/sysctl.d
Nas etapas anteriores, aprendemos como verificar e alterar temporariamente os parâmetros do kernel usando sysctl e como esses parâmetros são refletidos no sistema de arquivos /proc/sys. No entanto, as alterações feitas com sysctl -w não são permanentes. Para tornar as alterações nos parâmetros do kernel persistentes em reinicializações, precisamos configurá-las em arquivos de configuração específicos.
O local principal para configurações sysctl persistentes é o arquivo /etc/sysctl.conf. Além disso, os sistemas Linux geralmente usam o diretório /etc/sysctl.d/ para armazenar trechos de configuração em arquivos separados. Essa abordagem modular facilita o gerenciamento de configurações para diferentes aplicações ou componentes do sistema.
Vamos inspecionar o conteúdo do diretório /etc/sysctl.d/. Podemos usar o comando ls para listar os arquivos dentro deste diretório.
Abra seu terminal e digite o seguinte comando:
ls /etc/sysctl.d/
Pressione Enter.
Você verá uma lista de arquivos de configuração. Esses arquivos normalmente têm uma extensão .conf. A saída pode ser algo parecido com isto:
10-console-messages.conf 10-kernel-hardening.conf 10-tcp-congestion-control.conf 99-sysctl.conf
Cada um desses arquivos pode conter configurações de parâmetros sysctl no formato parâmetro = valor. Quando o sistema inicializa, ele lê /etc/sysctl.conf e, em seguida, todos os arquivos em /etc/sysctl.d/ em ordem alfabética para aplicar as configurações persistentes dos parâmetros do kernel.
Vamos visualizar o conteúdo de um desses arquivos de configuração, por exemplo, 10-kernel-hardening.conf. Podemos usar o comando cat para exibir seu conteúdo.
Digite o seguinte comando:
cat /etc/sysctl.d/10-kernel-hardening.conf
Pressione Enter.
Você verá os parâmetros do kernel configurados neste arquivo. O conteúdo variará, mas pode incluir configurações relacionadas à segurança ou ao comportamento do sistema.
#
## sysctl settings for kernel hardening
#
## Disable unprivileged user namespaces
kernel.unprivileged_userns_clone=0
## Protect against symlink attacks
fs.protected_hardlinks=1
fs.protected_symlinks=1
## Disable kexec
kernel.kexec_load_disabled=1
## Disable bpf JIT
net.core.bpf_jit_enable=0
## Disable ptrace access to other processes
kernel.yama.ptrace_scope=1
Você pode ver como os parâmetros do kernel como kernel.unprivileged_userns_clone e fs.protected_hardlinks são definidos aqui.
Para tornar nossa configuração vm.overcommit_memory=1 permanente, normalmente adicionaríamos a linha vm.overcommit_memory = 1 a um arquivo novo ou existente em /etc/sysctl.d/ (ou em /etc/sysctl.conf). No entanto, para fins deste laboratório introdutório, não faremos essa alteração permanente.
Compreender o diretório /etc/sysctl.d/ é crucial para configurar as configurações persistentes dos parâmetros do kernel em seu sistema Linux.
Clique em Continuar para concluir este laboratório.