Arquivos de dump ajudam muito programadores a descobrir bugs em aplicações por apresentarem o estado da memória no momento de uma falha.
Porém em um ambiente de missão crítica um atacante pode usar desses arquivos para descobrir dados sigilosos, dessa forma aconselho a desativação dessa funcionalidade em ambientes de produção.
Para desativar a criação de core dump edite o arquivo
/etc/security/limits.conf e adicione a seguinte linha:
* hard core 0
Edite também o arquivo
/etc/sysctl.conf e adicione a linha:
fs.suid_dumpable = 0
Para ativarmos a proteção contra buffer overflows no kernel adicionaremos as seguintes linhas em
/etc/sysctl.conf:
kernel.exec-shield = 1
kernel.randomize_va_space = 1
Caso o ambiente não venha a ser um firewall, vamos desativar a função de router alterando e adicionando as seguintes entradas em
/etc/sysctl.conf.
net.ipv4.ip forward = 0
net.ipv4.conf.all.send redirects = 0
net.ipv4.conf.default.send redirects = 0
Um atacante pode descobrir por meio de um scanner como o nmap quanto tempo uma máquina está ligada por meio do mecanismo tcp timestamp, dessa forma para desativarmos vamos editar novamente o arquivo
/etc/sysctl.conf e adicionar a seguinte linha:
net.ipv4.tcp_timestamps = 0
Em seguida, para ativamos todas as alterações, vamos executar o comando:
# sysctl -p
Outra forma de descobrimos a quanto tempo nosso servidor está up é por meio do icmp timestamp, para desativarmos basta seguir o seguinte procedimento.
# iptables -I OUTPUT -p icmp --icmp-type timestamp-request -j DROP
# iptables -I INPUT -p icmp --icmp-type timestamp-request -j DROP
# service iptables save
# service iptables restart
Caso não seja usado o suporte a ipv6, vamos desativá-lo em
/etc/sysconfig/network adicionando as seguintes entradas:
IPV6INIT=no
NETWORKING_IPV6=no
Outra coisa que devemos nos atentar é para o suporte a usb, firewire e sistemas de arquivos nos quais não iremos utilizar, dessa forma prevenimos que alguém coloque um usb no servidor e copie arquivos importantes.
Para desativar edite o arquivo
/etc/modprobe.conf e adicione os módulos como mostrado, abaixo seguem alguns exemplos nos quais eu costumo utilizar.
install cramfs /bin/true
install freevxfs /bin/true
install jffs2 /bin/true
install hfs /bin/true
install hfsplus /bin/true
install squashfs /bin/true
install udf /bin/true
install ipv6 /bin/true #somente se não for usado o suporte a ipv6
install cramfs /bin/true
install freevxfs /bin/true
install jffs2 /bin/true
install hfs /bin/true
install hfsplus /bin/true
install squashfs /bin/true
install udf /bin/true
install usb-storage /bin/true
install firewire-ohci /bin/true
install firewire-core /bin/true
install firewire-sbp2 /bin/true