Os 5 princípios básicos de segurança para empresas

Observe neste artigo bem simples o porquê das falhas de segurança e o porquê de muitas vezes algumas empresas que possuem tanta tecnologia e segurança serem invadidas mesmo assim.

[ Hits: 21.024 ]

Por: Mauro Risonho de Paula Assumpção A.K.A firebits em 14/03/2010


Os 5 princípios básicos de segurança para empresas



O mundo da computação é um complexo e constante processo de mudança.

Para minimizar os riscos de segurança as empresas devem atentar para os "5 princípios básicos de segurança":
  1. 100% de segurança não existe
  2. Os riscos de segurança são diretamente proporcionais à complexidade do software
  3. Implementar a segurança em camadas
  4. Não permitir que uma intrusão feita seja reaproveitada em outro lugar, ignorando a segurança
  5. Pensamento "Nós nunca estamos prontos para intrusos", conceito de mover-se a perfeição

100% de segurança não existe

É impossível garantir que todos os programas em execução em todos os seus sistemas estejam livres de qualquer tipo de bug que poderia ser aproveitado para quebrar sistemas. Existem muitas pessoas que simplesmente escrevem muitas linhas de código, verificando e checando muito pouco do seu trabalho. Esta não é apenas culpa dos desenvolvedores de software. Desenvolvimento de software é um processo extremamente complexo e um caractere incorreto (uma string por exemplo) em um programa com milhões de linhas de código pode criar um buraco de segurança.

Além disso você não pode prever com precisão as interações de milhares de programas diferentes que podem acabar em uma única rede em conjunto. É impossível que o código perfeito seja escrito, porque os criadores são também humanos e estão sujeitos a imperfeições, assim que você deve tomar decisões de arquitetura com este fato em mente.

A segurança é um trade-off. As necessidades do negócio devem ser equilibradas com as preocupações de segurança em grande parte da mesma maneira como os controles de segurança física. As políticas de segurança devem ser sempre efetuadas com uma avaliação de risco e análise de custo/benefício. No final, o grau de segurança é sempre uma decisão de negócios.

Os riscos de segurança são diretamente proporcionais à complexidade do software

Há aqui duas questões: a complexidade de cada programa de software e do número total de programas de software que compõem a sua solução web ou em server/client local. Quanto mais código você tiver, mais bugs serão susceptíveis de ter. Uma vez que todo o software tem erros, deve-se presumir que os erros podem ser explorados como falhas de segurança. Já as empresas só devem executar o software de que necessitam para estar operacional. As empresas devem eliminar programas de exemplo, scripts e documentação que são desnecessários para o funcionamento de um sistema de produção, porque não há razão para correr o risco quando esses programas entregam qualquer valor operacional. Além disso, mais software significa mais atualizações de segurança.

Então, por exemplo, se seus usuários básicos nem mesmo usam a ajuda do Linux, Windows ou qualquer outro sistema operacional ou aplicativo, por que então instalar a ajuda? Além de economizar espaço, se algum intruso descobrir uma falha na ajuda do Windows, por exemplo e você corrigiu todos aplicativos do sistema operacional Windows e pensou: "mas acho que na Ajuda do Windows, não haveria um possibilidade de intrusão", pode ser aí a grande falha e oportunidade do atacante, isto serve também para sistemas Linux e outros.

Não basta instalar a configuração padrão. A maioria dos softwares vem em uma configuração insegura e para torná-la tão fácil quanto possível na intrusão. Para eliminar os riscos de segurança desnecessários, você deve "blindar" o software ou instalação do sistema operacional, qual chamamos de Hardening¹, ou melhor, blindagem virtual. Em particular, a configuração padrão e as senhas devem ser alteradas, uma vez que estão facilmente disponíveis para os crackers e outros seres maléficos.

Outras providências que um processo de hardening pode incluir:
  • Limitar o software instalado àquele que se destina à função desejada do sistema;
  • Aplicar e manter os patches atualizados, tanto de sistema operacional quanto de aplicações;
  • Revisar e modificar as permissões dos sistemas de arquivos, em especial no que diz respeito a escrita e execução;
  • Reforçar a segurança do login, impondo uma política de senhas fortes.

Finalmente, os programas mais simples são menos propensos a ter falhas de segurança ao usá-los. É por isso que proxies são uma boa maneira de proteger a fronteira da rede de ataques externos. Proxies são programas simples - eles compreendem o protocolo de aplicação, mas não implementar a funcionalidade. Portanto, eles são mais seguros do que os servidores que protegem.

Implementar a segurança em camadas

A teoria da "cebola". Além da cebola ter várias camadas, ela tem um "cheiro desagradável". Pense nisso, forme uma segurança por camadas e criei um sistema de defesa que seja desagradável, ofensivo aos atacantes.

Como todo o código tem erros, você nunca quer confiar em qualquer pedaço de código como sua única linha de defesa. Se você aplicar várias camadas de segurança, o cracker não pode entrar tão facilmente, pois uma fraqueza em uma camada não pode representar uma ruptura total do sistema. Por exemplo, se o servidor está sendo executado como um usuário privilegiado, como "root" ou "admin" e há um bug em qualquer lugar dentro desse pedaço grande e complexo de código, um cracker pode muito bem ganhar acesso administrativo total para o seu computador. Se o servidor web é executado como um usuário não-privilegiado, então mesmo se um bug é encontrado, a exposição pode ser controlada.

Um exemplo básico de software baseado na "teoria da cebola" para mim, é o NMAP.

Quando executamos o NMAP sem o uso da conta root, podemos varrer os serviços com algumas opções, mas com todas opções, apenas usando a conta root. Então qual a tendência? De SEMPRE EXECUTARMOS O NMAP USANDO A CONTA ROOT e assim expomos também nosso sistema a uma varredura ou ataque. Há mais, é só usarmos a técnica de IP SPOOFING e MAC SPOOFING e tudo bem.

Nos próximos artigos vou demonstrar que dá para localizar que varreu um host, mesmo com IP/MAC SPOOFING.

Não permitir que uma intrusão feita seja reaproveitada em outro lugar da segurança

Separação da função é essencial para a segurança. Você precisa ter aparelhos separados para funções distintas e diferentes redes de computadores com diferentes níveis de segurança. Isso é ruim para GreenIT (TI Verde, como economizar energia à favor do meio ambiente, um bom exemplo, além das vantagens é a virtualização). Por exemplo, um servidor web se comunica com o mundo exterior, enquanto um servidor de banco de dados só deve se comunicar com o servidor web. Cada máquina deve estar em uma rede separada. Assim, se você tem uma "quebra" do servidor web por um cracker pode ter acesso ao seu servidor de e-mail, mas não o seu servidor de banco de dados, que é fisicamente isolado e protegido por firewalls e outros.

Tenha em mente, a segurança nunca é sobre uma coisa qualquer e sim do conjunto total. Além disso a segurança é tão boa quanto a um elo mais fraco, algo que muitas empresas parecem esquecer. Os firewalls são apenas uma peça do quebra-cabeça e assim você pode precisar de mais de um firewall. Por exemplo, muitas empresas utilizam redes privadas virtuais (VPNs) para permitir que dois escritórios possam se comunicar sobre uma forma "Internet segura". VPNs têm um fundamental calcanhar de Aquiles que poderia torná-los indesejáveis: se você tiver um usuário doméstico conectado a uma rede corporativa por meio de uma VPN, em seguida, toda a rede corporativa é tão segura quanto a segurança do PC doméstico.

Quão seguro é o escritório de sua casa?

Pensamento "Nós nunca estamos prontos para intrusos", conceito de mover-se a perfeição

Um grande erro que muitas empresas fazem é configurar um firewall ou alguma outra proteção e então eles se esquecem deste recurso e "tudo está seguro". A segurança é um processo contínuo. Você deve continuamente monitorar arquivos de log e manter a par das novas ameaças à segurança. Além disso, você deve manter-se atualizado com patches de software para reparar os buracos de segurança mais recentes. Mais de 90% dos incidentes de segurança poderiam ser evitados se o administrador de redes ou de sistemas tivesse atualizado os patches de software.

Aí que entra o processo de teste de vulnerabilidades, que gera um laudo das vulnerabilidades do seu ambiente, orientando quais os melhores patches (correções) para uma determinada falha ou falhas.

Para se manter-se atualizado e aproveitar a experiência de outras pessoas, use recursos como dos sites Viva o Linux, Backtrack Brasil e o conhecimento de pentesters, analistas de segurança e peritos em segurança. Talvez você pense, qual o custo disso tudo?

Mas repense melhor, qual é o custo de perder tempo da sua empresa (veja quanto sua empresa gera seus produtos em 1 hora e qual o custo quando ela fica parada por 1 hora) ou em casa e pior, ser acusado, por exemplo, de pedofilia, porque alguns crackers ou pedófilos, colocaram imagens indevidas no seu computador e a policia federal detectou que provem do seus computadores, ou ainda spamers usam seu computador como forma de enviar spam a outros usuários, tornando as vezes sua conexão de internet lenta. Ou algum cracker roubou um site de banco, retirou dinheiro e as informações provem de seu computador.

Muitos pensam, "então devo retirar dinheiro pessoalmente no banco" ou "vou pagar esta conta pessoalmente no banco ou em outro estabelecimento", mas isso não é uma tendência e sim o contrário.

Você já notou quanto tempo você perde em um cidade grande para fazer o procedimento de pagamento ou saque manualmente, mesmo em um terminal?

Ou também como você se expõe aos perigos de um assalto real e não virtual, fazendo isso?

Então é uma tendência usar a Internet para transações bancárias ou outros tipos de compra e venda, por exemplo.

Isso não significa que você não pode fazê-lo em casa, mas você tem que dedicar recursos significativos para isso se você quiser fazer um trabalho razoável.

Comprar equipamentos de segurança com bons firewalls, IDs, IPs e outros, bem como contratar um profissional de segurança para implementar da melhor forma esta questão.

Boa segurança definitivamente pode ser alcançada, mas é preciso um esforço dedicado. Reconhecendo que a segurança é um meio para um fim e não um fim em si mesmo, vai proporcionar a melhoria maior e individual na segurança geral do seu site, da sua empresa, na sua casa ou no seu sistema.

Faça como os escoteiros fazem:

"Sempre alerta!"

Obs.: Hardening é um processo de mapeamento das ameaças, mitigação dos riscos e execução das atividades corretivas - com foco na infra-estrutura e objetivo principal de torná-la preparada para enfrentar tentativas de ataque. Normalmente, o processo inclui remover ou desabilitar nomes ou logins de usuários que não estejam mais em uso, além de serviços desnecessários.

Referência:
Mauro Risonho de Paula Assumpção
Fundador do BackTrack Brasil (BTB)
Pentester, Analista em Segurança
Desenvolvedor de Software
firebits@backtrack.com.br
http://www.backtrack.com.br
última palestra ministrada: 05-fev-2009 Intel Moblin Day 2008-2009
http://www.intel.com/portugues/pressroom/releases/2009/0205.htm

   

Páginas do artigo
   1. Os 5 princípios básicos de segurança para empresas
Outros artigos deste autor

Buscar "Teste" no Google

Teste de vulnerabilidades com OpenVAS 3.0

CheckSecurity - Ferramenta para segurança simples e eficaz, com opção para plugins

Double Dragon: chkrootkit e portsentry, agora vai rolar pancadaria nos intrusos!

A vida de quem vive de TI: It Crowd!

Leitura recomendada

Sudoers 1.8.12 - Parte II - Manual

John The Ripper - Teste de Quebra de Senhas

PacketFence em Debian 6

Soluções para Acesso Remoto Seguro com SSH

Servidor de e-mail seguro com ClamAV e MailScanner

  
Comentários
[1] Comentário enviado por valterrezendeeng em 16/03/2010 - 10:10h

Parabens pelo Artigo

O Assunto de Segurança é sempre importante muito boa as dicas.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts