Implementando um kernel GNU/Linux mais seguro
Nesse artigo iremos mostrar como é possível implementar pequenas filtragens através da compilação do kernel GNU/Linux utilizando o pseudo-sistema de arquivos /proc sem ter um conhecimento avançado de ferramentas específicas de firewalling, como o Netfilter/Iptables, Ipchains, Ipfwadm entre outras.
Parte 3: O sysctl
O GNU/Linux possui a chamada de sistema sysctl, que
é usado para visualizar ou alterar os parâmetros dos arquivos
encontrados dentro de /proc/sys/ sem a necessidade de editar
o código fonte do Kernel, recompilá-lo e depois reinicializa-lo.
O sysctl possibilita a configuração do kernel mesmo que o sistema esteja em funcionamento. Pode ser utilizado o script /etc/sysctl.conf para que as configurações definidas não sejam perdidas após o reinicio do sistema.
Utilizando o sysctl para a configuração do arquivo /proc/sys/net/ipv4/tpc_syncookies, executaríamos o seguinte comando:
# sysctl -w net.ipv4.tcp_syncookies=1
Observe que utilizamos no comando acima os diretórios a frente de /proc/sys/, onde a barra (/) foi trocada por ponto (.). No script /etc/sysctl.conf utilizaremos a separação de diretórios por ponto (.), como no exemplo abaixo:
# vi /etc/sysctl.conf
O sysctl possibilita a configuração do kernel mesmo que o sistema esteja em funcionamento. Pode ser utilizado o script /etc/sysctl.conf para que as configurações definidas não sejam perdidas após o reinicio do sistema.
Utilizando o sysctl para a configuração do arquivo /proc/sys/net/ipv4/tpc_syncookies, executaríamos o seguinte comando:
# sysctl -w net.ipv4.tcp_syncookies=1
Observe que utilizamos no comando acima os diretórios a frente de /proc/sys/, onde a barra (/) foi trocada por ponto (.). No script /etc/sysctl.conf utilizaremos a separação de diretórios por ponto (.), como no exemplo abaixo:
# vi /etc/sysctl.conf
net.ipv4.ip_forward=0
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_syncookies=1
Para vermos uma listagem completa de todos os parâmetros com os seus respectivos valores, é só executar o seguinte comando no shell:
# sysctl -a | more
Para maiores informações sobre o sysctl e sysctl.conf, consulte o man dessas ferramentas.
Parabéns!