Introdução ao Conceito de Hardening

Neste artigo irei falar um pouco sobre Hardening, alguns conceitos, entre outras coisas que devemos saber sobre este assunto. Na verdade isso é apenas uma breve conversa.

[ Hits: 26.679 ]

Por: Perfil removido em 31/01/2011


Introdução ao Conceito de Hardening



Será que você já ouviu falar de:
  • Norma BS7799?
  • ABNT NBR ISO/IEC 17799:2005?
  • Segurança da Informação?
  • Hardening?

Bom, mas antes de responder a estas perguntas, vamos fazer outras mais interessantes.

O que caracteriza um sistema 100% seguro?

Vamos responder então.....

1° - Ele não pode ter sido projetado por seres humanos!
2° - Deve permanecer desligado e incomunicável!
3° - Deve estar protegido por uma caixa de cimento e chumbo!
E por último - Ele deve estar perdido no meio do Oceano Pacífico!
Sendo assim, podemos afirmar algumas coisas, por exemplo:
  • Não existe sistema 100% seguro!
  • Pois segurança é um contrato de risco!

Mas o que é BS7799 afinal?
  • Norma criada pelo British Standards Institution(BSI);
  • Focada em Segurança da Informação;
  • Possibilita a certificação de Profissionais e Empresas;
  • Versão brasileira: ABNT NBR ISO/IEC 17799:2005

Sim... mas o que isso tem haver com Hardening?

Hardening é um processo de mapeamento de ameaças, atenuação de riscos e execução de atividades corretivas, com foco na infra-estrutura e com o principal objetivo de preparar o ambiente alvo para enfrentar determinadas tentativas de ataque ou violação dos protocolos de segurança da informação.

Gestão da Segurança da Informação - NBR 17799:2005

Onde o Hardening se localiza dentro do modelo de Gestão da Segurança da Informação?
Algumas características:
  • Fortalecimento do sistema;
  • Ajustes finos;
  • Procedimentos de segurança pré e pós-instalação.

Tipos de Hardening:
  • Hardening de Sistema;
  • Hardening de Serviço;
  • "Hardening de Processo".

Sabe qual a frase mais "inocentemente" perigosa da face da Terra?

"Ah, eu nunca fiz nada disso e o meu sistema roda até hoje..."

...pois, se ele já está funcionando, então está bom!

Parece inacreditável meus amigos, mas existem pessoas que falam e pensam dessa forma.

Está certo, vamos supor que consegui despertar o seu interesse, então você poderia me perguntar...

Como posso ter um sistema com a máxima eficiência no que tange o modelo de Gestão da Segurança da Informação?

Para obter a resposta, devemos levar em consideração 3 fatores:
  • Segurança;
  • Flexibilidade;
  • Risco.

Vejamos na figura o balanceamento entre os fatores que devemos levar em consideração!
Percebemos que se aumentarmos a segurança, os fatores flexibilidade e risco vão diminuir, e assim por diante.

Lápis e papel na mão galerinha que a brincadeira vai começar! Vamos falar sobre:
  • Hardening de sistema
  • Hardening de serviço

Alguns detalhes do Hardening de Sistema:
  • Segurança no Sistema de Arquivos;
  • Arquivos com Suid Bit ativos;
  • Segurança no Terminal;
  • Gerenciamento de Privilégios;
  • Procura por senhas fracas;
  • Check-list nos Serviços do Sistema.

Segurança no Sistema de Arquivos

Em relação a Segurança do Sistema de Arquivos as boas práticas aconselham a particionar o disco colocando os principais diretórios (/boot, /home, /var e outros) nessas partições.

Opções de montagem:

Algumas opções de montagem podem trazer maior segurança.

/dev/hda5 /tmp ext3 defaults,noexec 0 2
/dev/hda6 /home ext3 defaults,nosuid 0 2

Arquivos com Suid Bit ativos. Como devemos proceder?

  • Listar todos os arquivos com esses bits ativos;
  • Tirar as permissões de suid bit dos arquivos no sistema;
  • Colocar permissão de suid bit somente nos arquivos que realmente são necessários.

Segurança no Terminal

Procedimentos para segurança no terminal.
  • Desabilitar o uso de CTRL+ALT+DEL;
  • Limitar uso de terminais texto;
  • Usar a variável TMOUT;
  • Usar o programa vlock.

Gerenciamento de Privilégios

Procedimentos que devem ser levados em consideração.
  • Bloquear login do usuário root;
  • Determinar datas de expiração para contas;
  • Remover shells válidas de usuários que não precisam delas.

Utilização do PAM - Funções para Hardening

  • Limitar horários de login remotos e locais;
  • Limitar quantidade de "logins" por usuário;
  • Definir tamanho mínimo de senhas;
  • Limitar quais usuários poderão ter acesso de root.

Limitação de Comandos

O comando da morte!!!!

# :(){ :|:& };:

Procura por senhas fracas

A ferramenta John The Ripper.

Programa de brute force local que pode ser utilizado por administradores para validar a força das senhas dos usuários de um sistema.

Check-list nos Serviços do Sistema

Será que todos os serviços instalados por padrão são necessários?

Algumas ferramentas podem ser utilizadas para a checagem de serviços.
  • netstat
  • nmap
  • hping
  • lsof

Alguns detalhes do Hardening de Serviço:
  • Proibir o login como super-usuário;
  • Utilizar apenas a versão 2 do protocolo;
  • Alterar a porta padrão(22) para outra qualquer;
  • Usar restrições de login: inatividade, PAM etc;
  • Liberar acesso apenas para usuários específicos;
  • Aplicar verificação DNS;
  • Permitir login apenas de certos hosts;
  • Bloquear as demais conexões;
  • Audite toda e qualquer atividade do serviço.

Um exemplo usando SSH:

Proibir login como root.

PermitRootLogin no
# Usar apenas o protocolo versão 2
Protocol 2
# Alterar a porta padrão para 444
Port 444
# Restringir o endereco de escuta
ListenAddress #(endereço ip)
# Restrições de login
LoginGraceTime 1m
UsePAM yes
AllowUsers (Userssh1) (Userssh2)
PrintMotd no
UseDNS yes

Mas será que existe algum assistente para o Hardening?

Sim meus amigos, seus problemas acabaram. Ele se chama... Bastille!
E para terminar, algumas sugestões de leitura descontraída!
Linux: Introdução ao Conceito de Hardening   Linux: Introdução ao Conceito de Hardening   Linux: Introdução ao Conceito de Hardening   Linux: Introdução ao Conceito de Hardening   Linux: Introdução ao Conceito de Hardening
Esses foram apenas alguns conselhos...

Para que seu sistema que hoje provavelmente é assim...
Linux: Introdução ao Conceito de Hardening
...amanhã esteja assim:
Cuide bem dos seus sistemas!!!

Referências

  • Michel Alves - Software Freedom Day - Maceió/AL
  • Willian Corrêa - www.imasters.com.br;
  • Juniper Networks - www.juniper.net;
  • André Luiz Facina - www.dicas-l.com.br;
  • James Turnbull - Livro: Hardening Linux;
  • Charalambous Glafkos - Securing & Hardening Linux
  • Steve Grubb - Hardening Red Hat Enterprise Linux;
  • Azzam Mourad - Artigo: Security Hardening of Open Source Software.

Fico grato pela atenção de todos, e como sempre, mais informações, sugestões, são sempre bem vindas.

Viva o Linux, porque nós amamos a liberdade!

   

Páginas do artigo
   1. Introdução ao Conceito de Hardening
Outros artigos deste autor

Procurando software para gerenciar armazenamento... Pensou FreeNAS!

Básico sobre tratamento de exceções em Python 3.4

Instalando o Slackware sem sofrimento (parte 2)

Restaurando o LILO com o Slackware 9.1 (HOWTO)

Alterando a imagem do xsplash nos Ubuntu-like

Leitura recomendada

Entendendo as permissões no Linux

Vault: SSH com OneTimePassword

SSH Connection With non-NIST Russian Cipher and Distro for Military Use

Tomcat + SSL: HOW-TO

Biometria facial na autenticação do usuário root

  
Comentários
[1] Comentário enviado por andrezc em 01/02/2011 - 08:07h

O artigo em si está bom e explicativo, no entanto, é mais para iniciantes. Há muita teoria e pouca prática. Veja como critica construtiva ;)

Quem sabe não sai uma segunda parte, com exemplos práticos...

[2] Comentário enviado por removido em 01/02/2011 - 10:22h

Fala andrezc, valeu pelo comentário cara. Realmente não tem prática, minha intenção era essa mesmo hehe, justamente para iniciantes, mas gostei da idéia da segunda parte, assim que tiver tempo irei fazer sim.

Agradeço pela crítica.



Abraço

[3] Comentário enviado por kiyoshi em 01/02/2011 - 11:50h

O conceito de hardening foi passado de forma bem didática, está ótimo e faz jus ao título. Questões práticas seriam bem aceitas num segundo artigo, como propôs o andrezc, porém, esperar um segundo artigo na esperança de "receitas de bolo" é pra preguiçosos. O conceito está claro, agora cabe cada um se aprofundar no assunto.

Parabéns pelo artigo.

Abraços.

[4] Comentário enviado por tuxalpe em 16/02/2011 - 22:08h

Cara,

eu tava na apresentação que o Michel fez. Legal vc ter disponibilizado aqui.

Evento:

http://wiki.softwarefreedomday.org/2010/SouthAmerica/Brazil/Maceio/LUG-AL

Link direto para a apresentação:

http://wiki.softwarefreedomday.org/2010/SouthAmerica/Brazil/Maceio/LUG-AL?action=AttachFile&do=get&target=Hardening.pdf

Vlw!!


[5] Comentário enviado por tuxalpe em 16/02/2011 - 22:11h

Poxa... até que observando agora com mais calma tá igualzinha...

Vlw!!!

[6] Comentário enviado por removido em 16/02/2011 - 22:19h

Fala tuxalpe,

É justamente a apresentação dele, todos os créditos são do grande Michel. Valeu por disponibilizar os links.


Abraço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts