Académique Documents
Professionnel Documents
Culture Documents
Quando o custo para obteno da informao excede o valor obtido pela sua posse, a soluo eficaz. - Guia Prtico do Red Hat Linux por Mark G. Sobell, Terceira Edition (Prentice Hall), pgina 989. Depois de quarenta anos no ramo de computao, a ideia que tem sido difundida por profissionais de segurana de que no existe tal coisa de um sistema de computador seguro, mas apenas nveis de insegurana. Portanto o custo de manter a informao e o sistema de segurana tem de ser equilibrado com o custo de perder a informao ou sistema, ou danific-lo. Infelizmente, a velocidade e disponibilidade da Internet combinada com o baixo custo de computadores e servios de rede muito potentes, proporcionaram um custo de invaso cada vez mais baixo e um custo de segurana cada vez mais alto. A coisa mais importante para um sistema seguro ter uma boa poltica de segurana. Sem isso, voc est perdido e vagueia de forma ineficaz. Portanto, voc tem que fazer uma reflexo a respeito de quem ser capaz de fazer o que, se essas limitaes so obrigatrias e sem restries, ou como vai implementar e aplicar essas polticas. Um bom exemplo de como no ter uma boa poltica a empresa que fora todos os seus funcionrios a terem senhas longas e complicadas, que mudam uma vez por semana, mas tolera estas pessoas escrevendo suas senhas em etiquetas adesivas e coladas em seus monitores LCD, porque estas pessoas podem no se lembrar das senhas. A prxima coisa mais importante um bom conjunto de ferramentas de segurana e pessoas treinadas para implant-las e acompanhar os resultados gerados. Muitos sistemas desktops se escondem atrs de um firewall em ambientes corporativos ou mesmo domsticos. O firewall um sistema especializado em aceitar dados da Internet e encaminhar estes dados para os desktops ou servidores. A esperana que o firewall isole as pessoas ms das pessoas atrs do firewall e, portanto, os sistemas podem ser mais relaxados em sua segurana. Infelizmente nos dias atuais de computao mvel, laptops podem se mover de dentro do permetro protegido pelo firewall para o desprotegido ambiente selvagem da Starbucks, por exemplo, onde as pessoas bebendo caf e surfando na net tm os seus notebooks infectados com vrus e cavalos de tria e que trazem de volta estes notebooks ao escritrio. Atualmente, os ataques as vezes vm de dentro da organizao (em que o firewall no d nenhuma proteo) e no do exterior. Outros sistemas no podem se esconder trs de firewalls e so chamados de sistemas Bastio. Eles so os sistemas que executam o seu servidor Web, Correio Eletrnico (E-Mail) e outro servios. Estes so os sistemas que tm de ser absolutamente (tanto quanto possvel) protegidos. Finalmente, o acompanhamento constante das listas de segurana, sites e rpida aplicao de patches fundamental para a segurana de um sistema. Ter o cdigo fonte do seu sistema disponvel significa que voc no tem que esperar para que seu fornecedor disponibilize a correo compilada e testada. Voc pode tomar a deciso de aplicar a correo, dependendo da criticidade do ataque. Dadas as filosofias e as questes acima, eu acredito que o Software Livre e de Cdigo Aberto a
www.linux2business.com.br 1
melhor base para permitir que seus sistemas inseguros alcancem a segurana, e este blog trata disso. Este blog no uma explicao detalhada de segurana de rede, nem sobre como bloquear SPAM, nem em ser um guia de receitas de curso de segurana do sistema. A segurana uma forma de arte, bem como uma cincia, e este blog no pode fazer de voc um Michelangelo em 3000 palavras. Se eu puder mostrar aqui que o seu sistema est atualmente no nvel pintura a dedo e que, com o Software Livre voc pode fazer uma aquarela, pinturas a leo e no s isto, ento eu acho que fiz um bom trabalho. Algum dia seu trabalho pode estar em um "Museu da Arte de Segurana".
Arquitetura do Linux
Como eu mencionei antes, a arquitetura do Linux segue de perto a arquitetura dos sistemas Unix. Um kernel monoltico relativamente pequeno com bibliotecas e utilitrios que acrescentam funcionalidade a ele. Isso por si s agrega valor a segurana, pois permite que o usurio final desligue uma srie de servios (tanto de mquina quanto de rede) que no precisa, que funcionando no sistema cria mais possibilidades de ataque. Por exemplo, a grande maioria dos sistemas desktops atuam como cliente para os servios, no
www.linux2business.com.br 2
como um servidor. A desativao destes servios significa que outras pessoas atravs da rede no podem se conectar a eles. Nos primrdios do Linux diversas distribuies eram disponibilizadas com os servios ativados no momento da instalao. Esta foi uma impresso errada de que ter os servios funcionando seria mais fcil administrar, mas os especialistas em seguranas rapidamente apontaram que ter os servios em execuo no momento da instalao (antes da aplicao dos patches necessrios), tambm deixaria os sistemas, mesmo que por pouco tempo, abertos a ataque. Agora a maioria, seno todas, as distribuies deixam estes servios desligados e voc instrudo a habilit-los na hora certa, espero que somente depois de ter aplicado os patches necessrios. Outro exemplo o conceito de remover os compiladores e outras ferramentas de desenvolvimento de software do sistema, uma vez que estas ferramentas do aos crackers maiores possibilidades para explorar o sistema. Remover estas ferramentas significa que o cracker ter que utilizar outros mtodos para quebrar a segurana. Vrios pacotes FOSS (Free and Open Source Software) foram adicionado a esta funcionalidade bsica ao longo dos anos, dando ao Linux uma segurana ainda maior. O primeiro PAM ou Pluggable Authentication Modules. Em qualquer sistema, autenticao significa que voc se identificou de tal forma que o sistema lhe dar acesso aos servios. Assim que voc entra com seu nome de usurio e sua senha, voc est sendo autenticado tipicamente pelo nome de usurio e senha no arquivo /etc/passwd e pelo programa login. Da mesma forma o ftpd, e outros programas de servio, ir autentic-lo da mesma maneira. Se voc estiver em uma rede, no entanto, poder ser autenticado por inmeros mtodos, que podem ser LDAP, DCE, Kerberos ou mesmo os mtodos mais recentes, e inmeros programas podem ter que ser alterados para refletir o novo mtodo de autenticao. O PAM foi fornecido para permitir que novos mtodos de autenticao possam ser aplicados a todos os programas do sistema que precisa de autenticao sem ter que mudar e integrar cada novo mtodo de autenticao. Outro mtodo de autenticao mencionado anteriormente foi Access Control List, ou ACL. Uma ACL concede acesso para um arquivo ou diretrio com base em uma extenso das permisses tradicionais do Unix dono/grupo/outros e rwx mencionada acima. Desde que as ACLs estejam implementadas como parte da estrutura do sistema de arquivos, voc tem que ter certeza que seu kernel tenha sido construdo para suport-las, que o sistema de arquivos que voc est usando oferece suporte a elas, e que o sistema de arquivos foi montado com as ACLs ligadas. Entretanto, uma vez realizado tudo isto, voc pode atribuir permisses a vrios usurios em uma base de usurios individuais, vrios grupos em uma base de grupo-por-grupo, e assim por diante. Isso permitir voc facilmente criar um grupo de operadores que podem iniciar ou parar um banco de dados ou fazer backups, mas no conseguir desligar todo o sistema, por exemplo. Finalmente, voc tem que estar ciente de que nem todos os utilitrios do Linux suportam ACLs. Se voc est copiando arquivos de um diretrio para outro com o comando cp voc deve usar as opes -p (preserve) ou -a (archive) no comando. Alguns dos comandos robusto do Unix como, cpio, tar e outros, no suportam a cpia das ACLs, e portanto as ACLs seriam perdida.
www.linux2business.com.br 3
SELinux
A maioria dos mtodos de autenticao de controle de acesso so arbitrrios. O dono do objeto (seja um programa ou dado) pode alterar as permisses para outras pessoas e grupos. Anos atrs, a Agncia de Segurana Nacional (NSA) criou um projeto para aplicar Mandatory Access Control (MAC) dentro do kernel Linux. Este projeto ficou conhecido como Security Enhanced Linux ou SELinux. O MAC refora as polticas de segurana que limitam o que um usurio ou programa pode fazer, e quais arquivos, portas, aparelhos e diretrios um programa ou usurio pode acessar. SELinux tem trs modos: Desabilitado, Permissivo e Execuo. No modo Desabilitado nada feito. Neste modo voc tem as polticas configuradas e prontas, mas no ativas. O modo Permissivo registra as violaes da poltica em arquivos de log para que voc possa verificar ou
www.linux2business.com.br 4
monitorar. No modo Execuo qualquer violao da poltica de segurana ser contida. SELinux utiliza cerca de 5 a 10% do desempenho do sistema quando no modo de Execuo ou Permissivo. Da mesma forma, o SELinux pode ser executado em uma poltica de Orientada ou Estrita. A poltica Orientada significa que os controles MAC apenas se aplicam a determinados processos. A Estrita significa que os controles MAC se aplicam a todos os processos. As pessoas devem ser advertidas de que o uso indiscriminado da poltica Estrita do SELinux pode tornar o sistema praticamente inutilizvel para alguns usurios. Tem que haver um compromisso de manter o sistema seguro, mas permitindo que os usurios faam o seu trabalho. Argumenta-se que o SELinux um exagero em um sistema de um nico usurio, mas com modernos exploits e o poder do sistemas de um nico usurio, podemos encontrar mais e mais aplicaes do SELinux em um desktop de um nico usurio.
AppArmor
AppArmor um outro sistema para Mandatory Access Control, mas que se baseia mais em uma base de programa-por-programa do que o SELinux e permite que voc misture e aplique polticas do tipo Execuo e Permissivo no sistema ao mesmo tempo. Atravs do perfil de cada programa, o AppArmor pode limitar o que um programa pode fazer e quais arquivos ele pode acessar, gravar ou executar. Algumas pessoas acham que o AppArmor mais fcil de configurar e controlar do que o SELinux.
www.linux2business.com.br 5
Logs
Sistemas Unix e Linux tm arquivos de log. Esses arquivos registram diferentes tipos de eventos, desde inicializao e finalizao de um processo at mensagens explcitas sobre o seu servidor de email ou sua base de dados. A maioria dos sistemas Unix e Linux tem a possibilidade de encaminhar os vrios nveis de informaes desde bom saber para crtica para um repositrio central. Os administradores de sistemas podem criar filtros e scripts para ajud-los a monitorar esses arquivos de log, identificando atividades que indiquem pessoas acessando o sistema. Estes arquivos, claro, devem ser protegidos utilizando o comando chattr, mencionado acima, com a opo +a.
Backups
Apesar de todo seu trabalho, tempo, suor e lgrimas, eventualmente, seu sistema ser comprometido. Agora voc tem que descobrir quando ele foi comprometido, como foi comprometido e estar pronto para recuperar o que foi danificado sem permitir que outros possveis vrus e trojans permaneam no seu sistema. Com muito trabalho, voc pode ser capaz de usar ferramentas para varrer seu sistema procura desses vrus e trojans. Ou voc pode re-instalar a partir de um CD-ROM original, ou imagem ISO em boas condies, e mais todos os patches associados. A forma final ter um bom nvel de backup de todo o sistema de produo que voc tem e atualizar periodicamente o backup para ter certeza de ter todos os patches de segurana que ocorreram desde a ltima atualizao. Se voc puder determinar com preciso quando seu sistema estava comprometido, voc poder restaurar o sistema a partir de um desses backups. Caso contrrio, voc ter que instalar a partir do cdigo-fonte.
Resumo
Estou certo de que muitos dos profissionais de segurana vo olhar para este texto e dizer: Realmente fundamental. Outras pessoas podem olhar para algumas destas caractersticas e dizer: Como posso manter-me atualizado de todas essas polticas e comandos em um sistema to complexo como o Unix ou Linux?. A resposta que provavelmente voc no conseguir se manter atualizado de todas estas consideraes sobre o sistema e a que as polticas de segurana entram em jogo. Faa com que cada sistema fique to seguro quanto os servios e informaes armazenadas nele, permitindo que voc ainda realize seu trabalho.
www.linux2business.com.br 6
Alm de estudar os recursos listados abaixo, voc tambm deve olhar o site da sua distribuio especfica. Porque h muitas maneiras de fazer a criptografia de arquivos, compilar um kernel, e garantir a segurana de um sistema, e sua distribuio pode ter desenvolvido uma arquitetura de segurana geral que complementa suas polticas e fazem a segurana do sistema de uma maneira muito mais fcil.
Recursos
Existem diversos livros bons sobre segurana de computadores e segurana em Linux, especificamente. Os dois abaixo so muito bons: Hardening Linux, by James Turnbull (Apress, 2005) Linux Server Security, by Michael D. Bauer (O'Reilly, 2005)
www.linux2business.com.br 7