Hardering com Red Hat 5

Nesse artigo veremos como melhorar a segurança em um ambiente Red Hat. Todas as configurações apresentadas podem ser usadas em outras versões de Linux e as mesmas são requisitos para que o ambiente entre em conformidade com políticas como PCI entre outras.

[ Hits: 26.162 ]

Por: daniel.theodoro em 15/05/2010


Kernel e Core dump



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

Página anterior     Próxima página

Páginas do artigo
   1. Boot e serviços
   2. Kernel e Core dump
   3. Acessos e permissões
   4. Pacotes
   5. Checagem de integridade
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Backup/Restore de uma cópia fiel de um HD utilizando o DD

Seguraça extrema com LIDS

Gerar par de chaves com o GnuPG em 11 passos

TrueCrypt Forever

Explorando celulares Android via Web com airbase-ng

  
Comentários
[1] Comentário enviado por andrack em 15/05/2010 - 01:28h

dth0,

Excelente artigo! A minha sugestão para o pessoal que irá aplicar os itens que você sugere no artigo, é de eles sejam
conferidos de tempos em tempos, e não apenas feitos uma única vez e depois esquecidos.

Abraços!



[2] Comentário enviado por andrezc em 15/05/2010 - 18:49h

Não seria "hardening" ?

[3] Comentário enviado por removido em 17/05/2010 - 14:11h

Gostei do seu artigo... mas uma coisa que faltou você tocar no assunto... é o SELINUX.
Muitos administradores que desconhecem o funcionamento do mesmo, acabam que setando o mesmo como DISABLED.
Por isso, como dica, aconselho a todos a manterem o SELINUX no modo ENFORCING, pois com ele a segurança é mandatória e não descritiva.
Abraço a todos e Viva o Linux

Bruno Lima

[4] Comentário enviado por luizvieira em 18/05/2010 - 11:14h

Bruno, estou contigo!
Ainda mais pelo fato de que o SeLinux é uma ferramenta padrão do RH e ainda por cima é cobrado na LPI 303 - Security.
Além disso, é uma ferramenta importante, se quiser manter um controle maior das permissões dos usuários, até mesmo do root.
No mais, excelente artigo, está de parabéns dth0!
[ ]'s
Luiz

[5] Comentário enviado por gleudson junior em 03/06/2010 - 09:25h

Pessoal,

Hardering vem do alemão e hardening do inglês.
Os dois termos estão corretos.

--
Gleudson Junior
Currículo: http://lattes.cnpq.br/9478031232169111
Fones: +55 81 9434-5060 / +55 86 9426-4654
Msn: gleudson_jr@hotmail.com
My WebPage: http://www.gleudsonjunior.blogspot.com/ About Linux: http://www.gleudson.blogspot.com/ - http:/ www.voolivrelinux.blogspot.com/



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts