Vous êtes sur la page 1sur 7

Tornando-se um Artista de Segurana Linux

Autor: Jon Maddog Hall Traduo: Sandro Venezuela

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".

Histria e Arquitetura do Unix


Em 1969, Ken Thompson e Dennis Ritchie comearam a desenvolver o sistema operacional Unix, apenas por diverso. Querendo ou no, o Unix foi concebido para ser um sistema compartilhado, em primeiro lugar, e tornou-se rapidamente um sistema que permitia o compartilhamento por vrias pessoas, com vrios processos para cada pessoa. Isto imediatamente definiu um design mais robusto e seguro do que um sistema de usurio nico, j que o conceito de estabilidade e de segurana teve que ser construdo dentro do prprio sistema. Concedido, nos primeiros anos da Bell Laboratories, no se teve muita ateno para a senha ou a segurana em nvel pessoal, mas ao longo dos anos as coisas como: tempo de vida da senha, fortificao da senha e senhas escondidas foram colocadas no sistema para melhorar a segurana. Unix foi criticado por seu modelo inicial de superusurio versus todo mundo na execuo de programas (especialmente programas administrativos) e no agrupamento das propriedades do dono, grupo e outros (ou seja, todos os outros do mundo) com as capacidades de leitura, escrita e/ou execuo no arquivo. Enquanto isso era relativamente simples, mas tambm uma estrutura de permisso elegante, funcionou bem durante alguns anos, com o tempo as Access Control Lists ou ACLs foram habilitadas, permitindo s pessoas criarem classes de privilgios de execuo e acesso a arquivos e diretrios em um nvel mais refinado. Quando o Unix deixou a Bell Labs e entrou para o meio acadmico, nas universidades, ele passou pela clssica prova de fogo, com os estudantes tentando invadir o sistema e os desenvolvedores tentando mant-los fora. O Unix se tornou o sistema operacional para o estudo srio de cincia da computao e, portanto, (em muitos casos) para estudos srios de segurana do computador.

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

Sistemas de Arquivos Criptografados


Criptografar seus dados deve ser parte de sua poltica de segurana em um mundo de dispositivos USB, unidades portteis e laptops roubados, e o Linux permite que voc criptografe arquivos individuais, sistemas de arquivos, parties swap e mesmo sistemas de arquivos dentro de arquivos individuais. Alguns desses mtodos de criptografia tambm trabalham com sistemas de arquivos em nvel de usurio, o que significa que voc pode configur-los enquanto o sistema est funcionando. Loop-AES usa uma tcnica de loop-back para permitir que o dispositivo de bloco faa a criptografia sem ter que mudar nada no kernel. Tcnicas de loop-back tambm so teis para sistemas de arquivos mantidos em um nico arquivo, assim este mtodo pode ser usado para criar um sistema de arquivos criptografado que est contido em um nico arquivo em sua mquina. DM-Crypt usa a funcionalidade de mapeamento de dispositivos (tambm til para o RAID via software, snapshotting e outros recursos) do kernel para criptografar arquivos. Cryptofs um sistema de arquivos em espao do usurio (FUSE) que permite montar um sistema de arquivos em um diretrio, e em seguida todos os arquivos armazenados nesse diretrio so criptografados, incluindo o nome do arquivo. Quando voc desmontar o sistema de arquivos, os arquivos so criptografados e no sero de-criptografados at o sistema de arquivos ser montado novamente usando a mesma chave. Existem outros mtodos para criptografar arquivos e sistemas de arquivos, tais como EncFS e TrueCrypt. Alm disso, recentemente, um administrador de sistema Microsoft Windows inicializou um Live CD Linux em uma de suas mquinas e ficou surpreso ao verificar que o Linux pode ler e escrever no sistema de arquivos do Microsoft Windows, apesar de ter definido os diretrios como privado sob o sistema operacional da Microsoft. Expliquei-lhe que era um sistema operacional diferente e a menos que ele criptografasse todos os dados em seu disco, ele devia esperar que algum usando um sistema operacional diferente em sua mquina fosse capaz de ver, alterar e excluir dados no seu sistema de arquivos do Microsoft Windows.

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.

Tornando Arquivos "Imutveis"


Se algum invade seu sistema, ele pode alterar vrios arquivos de controle, como o arquivo passwd. Voc pode impedir isto tornando o arquivo imutvel. Quando um arquivo imutvel ele no pode ser alterado, seja por escrita, excluso, renomeado ou hard links, at mesmo pelo superusurio. Primeiro o arquivo tem que voltar a ter permisses normais, e ento ele pode ser alterado. O comando usado para fazer um arquivo tanto imutvel quanto volt-lo ao normal chattr, e tem a sintaxe desta forma: chattr +i <nome_de_arquivo>. Usando o comando chattr com o parmetro a em vez do i faz com que o arquivo s possa ter informaes adicionadas. Isso til para arquivos de log, onde voc deseja que o sistema adicione novas informaes, no apagando as informaes antigas. Depois que o comando chattr for executado em um arquivo, mesmo o usurio root no pode alterar ou apagar o arquivo at que o arquivo seja alterado com as permisses anteriores, com -i ou -a. Novamente, voc tem que verificar se o sistema de arquivos que voc est usando suporta esta funcionalidade. Os sistemas de arquivos Ext2 e Ext3 suportam.

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.

Sistemas de Deteco de Intrusos


Existem vrios Sistemas de Deteco de Intrusos (IDC) disponveis para Linux. SNORT (http://www.snort.org/) um deles. O SNORT utiliza um conjunto de regras para determinar as intruses.

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)

Alm destes, existem os sites: http://www.linux-sec.net/ http://www.linuxsecurity.com/ http://www.bastille-unix.org/ http://tldp.org

www.linux2business.com.br 7

Vous aimerez peut-être aussi