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.176 ]

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

Proxy reverso com ModSecurity no Debian Etch

Fundamentos da criptografia assimétrica

(IN)segurança Digital

Shellter Project - Ferramenta para bypass de AV

Buffer Overflow: Entendendo e explorando

  
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