Escolar Documentos
Profissional Documentos
Cultura Documentos
Guia de Segurança
Guia de Segurança
Guia de Segurana
Red Hat Enterprise Linux 4: Guia de Segurana Copyright 2005 por Red Hat, Inc.
Red Hat, Inc.
1801 Varsity Drive Raleigh NC 27606-2072 USA Telefone: +1 919 754 3700 Telefone: 888 733 4281 Fax: +1 919 754 3701 PO Box 13588 Research Triangle Park NC 27709 USA
rhel-sg(PT)-4-Impresso-RHI (2004-09-30T17:12) Copyright 2005 Red Hat, Inc. Este material pode ser distribudo somente sob os termos e condies denidos na Open Publication License, verso 1.0 ou mais recente (a verso mais recente est disponvel em http://www.opencontent.org/openpub/). proibida a distribuio de verses substancialmente modicadas deste documento sem a permisso explcita do titular dos direitos autorais. proibida a distribuio total ou parcial do trabalho envolvido neste manual, em qualquer formato de livro (papel), para ns comerciais, sem a autorizao prvia do titular dos direitos autorais. Red Hat e o logo "Shadow Man" da Red Hat so marcas registradas da Red Hat, Inc. nos EUA e em outros pases. Todas as outras marcas referidas neste so de propriedade de seus respectivos titulares. O nmero do cdigo de segurana GPG em security@redhat.com : CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
ndice
Introduo ............................................................................................................................................ i 1. Informaes especcas da arquitetura ................................................................................. ii 2. Convenes de Documentos ................................................................................................. ii 3. Ative Sua Assinatura............................................................................................................. v 3.1. Prover um Login para a Red Hat ........................................................................... v 3.2. Prover Seu Nmero de Assinatura ......................................................................... v 3.3. Conectar Seu Sistema ............................................................................................ v 4. Mais por vir.......................................................................................................................... vi 4.1. Envie-nos Seu Feedback ....................................................................................... vi I. Uma Introduo Genrica Segurana ......................................................................................... i 1. Viso Geral de Segurana ..................................................................................................... 1 1.1. O que Segurana em Computadores? ................................................................. 1 1.2. Controles de Segurana.......................................................................................... 5 1.3. Concluso............................................................................................................... 6 2. Atacantes e Vulnerabilidades ................................................................................................ 9 2.1. Uma Breve Histria sobre Hackers........................................................................ 9 2.2. Ameaas Segurana da Rede ............................................................................ 10 2.3. Ameaas Segurana do Servidor....................................................................... 10 2.4. Ameaas Segurana da Estao de Trabalho e PC Pessoal............................... 12 II. Congurando o Red Hat Enterprise Linux para Segurana................................................... 15 3. Atualizaes de Segurana ................................................................................................. 17 3.1. Atualizando Pacotes............................................................................................. 17 4. Segurana da Estao de Trabalho...................................................................................... 23 4.1. Avaliando a Segurana da Estao de Trabalho................................................... 23 4.2. Segurana do BIOS e do Gestor de Incio ........................................................... 23 4.3. Segurana da Senha ............................................................................................. 25 4.4. Controles Administrativos ................................................................................... 30 4.5. Servios de Rede Disponveis.............................................................................. 36 4.6. Firewalls Pessoais ................................................................................................ 39 4.7. Ferramentas de Comunicao de Segurana Aprimorada ................................... 39 5. Segurana do Servidor ........................................................................................................ 41 5.1. Protegendo Servios com TCP Wrappers e xinetd ........................................... 41 5.2. Protegendo o Portmap.......................................................................................... 44 5.3. Protegendo o NIS ................................................................................................. 45 5.4. Protegendo o NFS ................................................................................................ 47 5.5. Protegendo o Servidor HTTP Apache ................................................................. 48 5.6. Protegendo o FTP ................................................................................................ 49 5.7. Protegendo o Sendmail ........................................................................................ 51 5.8. Vericando Quais Portas esto Escutando........................................................... 52 6. Redes Privadas Virtuais (Virtual Private Networks) ........................................................... 55 6.1. VPNs e Red Hat Enterprise Linux ....................................................................... 55 6.2. IPsec..................................................................................................................... 55 6.3. Instalao do IPsec............................................................................................... 56 6.4. Congurao Mquina-a-Mquina do IPsec ....................................................... 56 6.5. Congurao Rede-a-Rede do IPsec ................................................................... 60 7. Firewalls.............................................................................................................................. 65 7.1. Netlter e iptables ........................................................................................... 66 7.2. Usando o iptables ............................................................................................ 67 7.3. Filtragem Comum do iptables ......................................................................... 68 7.4. Regras FORWARD e NAT ....................................................................................... 69 7.5. Vrus e Endereos IP Espionados (spoofed)........................................................ 71 7.6. iptables e Registro de Conexo ....................................................................... 72 7.7. ip6tables .......................................................................................................... 72
7.8. Recursos Adicionais............................................................................................. 73 III. Avaliando Sua Segurana .......................................................................................................... 75 8. Avaliao de Vulnerabilidade ............................................................................................. 77 8.1. Pensando Como o Inimigo................................................................................... 77 8.2. Denindo Avaliao e Testes ............................................................................... 78 8.3. Avaliando as Ferramentas .................................................................................... 79 IV. Intruses e Resposta a Incidentes ............................................................................................. 83 9. Deteco de Invaso............................................................................................................ 85 9.1. Denindo Sistemas de Deteco de Intruso....................................................... 85 9.2. IDS baseado no servidor ...................................................................................... 86 9.3. IDS baseado em rede ........................................................................................... 88 10. Resposta ao Incidente ....................................................................................................... 91 10.1. Denindo Resposta ao Incidente ....................................................................... 91 10.2. Criando um Plano de Resposta ao Incidente...................................................... 91 10.3. Implementando o Plano de Resposta ao Incidente ............................................ 93 10.4. Investigando o Incidente .................................................................................... 93 10.5. Restaurando e Recuperando Recursos ............................................................... 96 10.6. Reportando o Incidente ...................................................................................... 97 V. Apndices ...................................................................................................................................... 99 A. Proteo ao Hardware e Rede ....................................................................................... 101 A.1. Topologias de Rede Segura............................................................................... 101 A.2. Segurana de Hardware..................................................................................... 104 B. Exploits e Ataques Comuns ............................................................................................. 107 C. Portas Comuns ................................................................................................................. 111 ndice Remissivo.............................................................................................................................. 125 Consideraes nais........................................................................................................................ 131
Introduo
Bem-vindo ao Guia de Segurana do Red Hat Enterprise Linux! O Guia de Segurana do Red Hat Enterprise Linux desenvolvido para auxiliar usurios do Red Hat Enterprise Linux a aprender os processos e prticas para proteger estaes de trabalho e servidores de intruses locais e remotas, exploits e atividades maldosas. O Guia de Segurana do Red Hat Enterprise Linux detalha o planejamento e as ferramentas envolvidas na criao de um ambiente computacional seguro para o centro de dados (data center), ambiente de trabalho e domstico. Com o conhecimento, vigilncia e ferramentas apropriados, os sistemas rodando o Red Hat Enterprise Linux podem ser totalmente funcionais e protegidos contra os mtodos de intruso e exploit mais comuns. Este manual aborda detalhadamente diversos tpicos relacionados a segurana, incluindo:
Firewalls Criptograa Protegendo Servios Crticos Redes Privadas Virtuais (Virtual Private Networks) Deteco de Intruso
Introduo Genrica Segurana Congurando o Red Hat Enterprise Linux para Segurana Avaliando Sua Segurana Intruses e Resposta a Incidentes Apndice
Ns gostaramos de agradecer Thomas Rude por suas generosas contribuies a este manual. Ele escreveu os captulos Avaliaes de Vulnerabilidade e Resposta ao Incidente. Muito obrigado, Thomas! Este manual assume que voc tem um conhecimento avanado do Red Hat Enterprise Linux. Se voc for um novo usurio ou tiver conhecimento bsico a intermedirio do Red Hat Enterprise Linux e deseja mais informaes sobre como utilizar o sistema, por favor consulte os seguintes manuais, que abordam os aspectos fundamentais do Red Hat Enterprise Linux de forma mais detalhada que o Guia de Segurana do Red Hat Enterprise Linux:
O Guia de Instalao do Red Hat Enterprise Linux traz informaes sobre a instalao. O Introduo Administrao de Sistemas Red Hat Enterprise Linux contm informaes introdutrias para novos administradores de sistemas Red Hat Enterprise Linux. O Guia de Administrao de Sistemas Red Hat Enterprise Linux oferece informaes detalhadas sobre como congurar o Red Hat Enterprise Linux para servir suas necessidades particulares como usurio. Este manual inclui alguns servios que so abordados (sob o ponto de vista de segurana) no Guia de Segurana do Red Hat Enterprise Linux. O Guia de Referncia do Red Hat Enterprise Linux traz informaes detalhadas para a consulta dos usurios mais experientes quando necessria, ao contrrio das instrues passo-a-passo.
As verses HTML, PDF e RPM dos manuais esto disponveis no CD de Documentao do Red Hat Enterprise Linux e online: http://www.redhat.com/docs/.
ii
Introduo
Nota Apesar deste manual reetir as informaes mais recentes possveis, leia as Notas da Verso do Red Hat Enterprise Linux para acessar as informaes que no estavam disponveis antes da nalizao de nossa documentao. Elas podem ser encontradas no CD 1 do Red Hat Enterprise Linux e online: http://www.redhat.com/docs/.
2. Convenes de Documentos
Ao ler este manual, determinadas palavras esto representadas com fontes, tipos, tamanhos e pesos diferentes. Este destaque sistemtico; palavras diferentes so representadas no mesmo estilo para indicar sua incluso em uma categoria especca. Os tipos de palavras representadas desta maneira incluem as seguintes:
comando
Os comandos do Linux (e comandos de outros sistemas operacionais, quando usados) so representados desta maneira. Este estilo indica que voc pode digitar a palavra ou frase na linha de comandos e pressionar [Enter] para invocar um comando. s vezes o comando contm palavras que sero exibidas em um estilo diferente por si s (como nomes de arquivos). Nestes casos, estas so consideradas parte do comando, e ento a frase inteira ser exibida como um comando. Por exemplo: Use o comando cat testfile para visualizar o contedo de um arquivo chamado testfile, no diretrio de trabalho atual.
nome do arquivo
Nomes de arquivos, diretrios, localidades de arquivos e nomes de pacotes RPM so representados desta maneira. Este estilo indica que existe um determinado arquivo ou diretrio com aquele nome no seu sistema. Exemplos: O arquivo .bashrc do seu diretrio home contm denies da janela de comandos tipo bash e codenomes para seu uso pessoal. O arquivo /etc/fstab contm informaes sobre os dispositivos e sistemas de arquivo diferentes do sistema. Instale o RPM webalizer se voc quiser usar um programa de anlise do arquivo de registro do servidor Web. aplicao Este estilo indica que o programa uma aplicao direcionada ao usurio nal (ao contrrio do software do sistema). Por exemplo: Use o Mozilla para navegar na Web.
Introduo [tecla] Uma tecla do teclado exibida neste estilo. Por exemplo:
iii
Para usar a tecla complementar [Tab] num terminal, digite um caractere e ento pressione a tecla [Tab]. Seu terminal exibe uma lista dos arquivos contidos no diretrio que comeam com esta letra. [tecla]-[combinao] Uma combinao de sequncia de teclas representada desta maneira. Por exemplo: A combinao de teclas [Ctrl]-[Alt]-[Espao] termina sua sesso grca, retornando tela ou ao console da autenticao grca. texto exibido em uma interface GUI (grca) Um ttulo, palavra ou frase na tela ou janela da interface GUI exibida neste estilo. O texto exibido neste estilo usado na identicao de uma tela GUI especca ou um elemento de uma tela GUI (como o texto associado a uma caixa de vericao ou campo). Exemplo: Selecione a caixa de vericao Solicitar Senha se voc deseja que seu protetor de tela solicite uma senha antes de ser desbloqueado. nvel superior de um menu em uma tela ou janela GUI Uma palavra neste estilo indica que a palavra est no nvel superior de um menu suspenso (pulldown menu). Se voc clicar na palavra na tela GUI, o resto do menu dever aparecer. Por exemplo: Abaixo de Arquivo em um terminal do GNOME, voc ver a opo Nova Aba, que permite a voc abrir diversos prompts de comando na mesma janela. Se voc precisar digitar uma sequncia de comandos a partir de um menu GUI, eles so exibidos como o exemplo a seguir: V para Boto do Menu Principal (no Painel) => Programao => Emacs para iniciar o editor de texto Emacs. boto em uma tela ou janela GUI Este estilo indica que o texto pode ser encontrado em um boto clicvel de uma tela GUI. Por exemplo: Clique no boto Voltar para retornar ltima pgina web que voc visitou.
output do computador
Texto neste estilo indica o texto exibido em uma janela de comandos, como mensagens de erro e respostas a comandos. Por exemplo: O comando ls exibe o contedo de um diretrio:
Desktop Mail about.html backupfiles logs mail paulwesterberg.png reports
O output exibido em resposta ao comando (neste caso, o contedo do diretrio) apresentado neste estilo.
prompt
Um prompt (ou janela de comandos), uma forma computacional de dizer que o computador est pronto para voc inserir algo (input), ser exibido desta maneira. Exemplos:
$ #
iv
Introduo
input do usurio O texto que o usurio precisa digitar, na linha de comandos ou em uma caixa de texto em uma tela GUI, apresentado neste estilo. No exemplo a seguir, text exibido neste estilo: Para inicializar seu sistema no programa de instalao em modo texto, voc deve digitar o comando text no prompt boot:. substituvel Texto usado para exemplos que devem ser subtitudos com dados providos pelo usurio so apresentados neste estilo. No exemplo a seguir, version-number exibido neste estilo: O
diretrio da fonte do kernel /usr/src/ version-number /, version-number a verso do kernel instalado neste sistema.
Adicionalmente, ns utilizamos diversas estratgias diferentes para chamar sua ateno a determinadas partes da informao. De acordo com o quo crucial as informaes so para seu sistema, elas so apresentadas como uma nota (lembrete), dica, importante, ateno ou um aviso. Por exemplo:
onde
Nota Lembre-se que o Linux sensvel a maisculas e minsculas. Em outras palavras, uma rosa no uma ROSA nem uma rOsA.
Dica O diretrio /usr/share/doc/ contm documentao adicional para os pacotes instalados em seu sistema.
Importante Se voc modicar o arquivo de congurao do DHCP, as alteraes no tero efeito at que voc reinicie o daemon do DHCP.
Ateno No execute tarefas de rotina como root use uma conta de usurio comum, a no ser que voc precise usar a conta root para tarefas de administrao do sistema.
Introduo
Aviso Cuidado para remover somente as parties necessrias do Red Hat Enterprise Linux. Remover outras parties pode resultar na perda de dados ou num ambiente de sistema corrompido.
Prover um login para a Red Hat Prover um nmero para a assinatura Conectar seu sistema
Na primeira vez que iniciar a instalao de seu Red Hat Enterprise Linux, voc ver o pedido de registro na Red Hat usando o Agente de Congurao. Se voc seguir os pedidos durante o Agente de Congurao, poder completar os passos do registro e ativar sua assinatura. Se voc no puder completar o registro durante o Agente de Congurao (que requer acesso rede), pode, alternativamente, completar o processo de registro da Red Hat online: http://www.redhat.com/register/.
Atualizaes, erratas e manuteno do software atravs da Red Hat Network Recursos do suporte tcnico, documentao e base de dados de conhecimento (knowledgebase) da Red Hat
Se voc esqueceu seu login da Red Hat, pode fazer uma busca online em:
https://rhn.redhat.com/help/forgot_password.pxt
vi
Introduo
Ao mencionar o identicador, ns saberemos exatamente qual verso do manual voc possui. Se voc tiver alguma sugesto para melhorar a documentao, tente ser o mais especco possvel. Se encontrou um erro, por favor inclua o nmero da seo e trechos de texto prximo ao erro para podermos encontr-lo facilmente.
ndice
1. Viso Geral de Segurana .............................................................................................................. 1 2. Atacantes e Vulnerabilidades......................................................................................................... 9
Captulo 1.
Viso Geral de Segurana
Devido ao crescente suporte de computadores de rede poderosos para fazer negcios e manter controle de nossas informaes pessoais, as indstrias tm sido constitudas com a prtica de segurana nos computadores e nas redes. Empreendimentos tm solicitado o conhecimento e habilidades de peritos em segurana para auditar sistemas apropriadamente e customizar solues para os requerimentos operacionais das organizaes. J que a maioria das organizaes so dinmicas por natureza, com funcionrios acessando os recursos de IT da empresa localmente e remotamente, a necessidade de ambientes de rede seguros se tornou ainda mais acentuada. Infelizmente, a maioria das empresas (assim como usurios individuais) encaram a segurana como uma preocupao em segundo plano, um processo visto em favor de questes de aumento de poder, produtividade e oramentrias. Implementaes de segurana apropriadas so frequentemente executadas postmortem aps uma intruso no autorizada j ter ocorrido. Peritos em segurana concordam que as medidas corretas, tomadas antes de conectar um site a uma rede no convel - como a Internet - um meio efetivo de impedir a maioria das tentativas de intruso.
A segurana da informao evoluiu atravs dos anos devido crescente dependncia de redes pblicas para expor informaes pessoais, nanceiras e outras informaes restritas. H diversos casos como o de Mitnick e o de Vladamir Levin (consulte a Seo 1.1.2 para mais informaes) que surgiram em empresas de todos os setores para repensar a maneira com que lidam com a transmisso e exposio de informaes. A popularidade da Internet foi um dos aspectos mais importantes que exigiu um esforo intenso na segurana de dados. Um nmero cada vez maior de pessoas est utilizando seu computador pessoal para acessar os recursos que a Internet oferece. De pesquisas e recuperao de informaes a correspondncia eletrnica e transaes comerciais, a Internet considerada um dos desenvolvimentos mais importantes do sculo XX. A Internet e seus protocolos mais antigos, no entanto, foram desenvolvidos como um sistema baseado na conana. Ou seja, o Protocolo de Internet (IP) no foi desenvolvido para ser intrinsicamente seguro. No h padres de segurana aprovados dentro do esquema de comunicao TCP/IP, deixando-o aberto a usurios maldosos e processos atravs da rede. O desenvolvimento de modems tornou a comunicao via Internet mais segura, mas ainda h diversos incidentes que ganham ateno nacional e nos alertam para o fato de que nada completamente seguro.
Criptgrafos poloneses inventam a mquina Enigma em 1918, um dispositivo rotor eletromecnico de cifras que converte mensagens puramente texto em um resultado criptografado. Desenvolvido originalmente para proteger comunicaes bancrias, o exrcito alemo v no dispositivo o potencial de proteger as comunicaes durante a 2a Guerra Mundial. Um matemtico brilhante chamado Alan Turing desenvolve um mtodo para quebrar os cdigos da Enigma, possibilitando s foras aliadas desenvolver a Colossus, uma mquina que recebeu crditos por ndar a guerra um ano antes.
1.1.2.2. Os Anos 60
Estudantes do Massachusetts Institute of Technology (MIT) formaram o Tech Model Railroad Club (TMRC), que comeou a explorar e programar o sistema de computadores de grande porte PDP-1 da escola. O grupo evetualmente usa o termo "hacker" no contexto em que conhecido hoje. O DoD (Departamento de Defesa dos EUA) cria a Rede da Agncia de Projetos de Pesquisa Avanada (Advanced Research Projects Agency Network - ARPANet), que ganha popularidade em pesquisas e crculos acadmicos como um condutor do intercmbio eletrnico de informaes e dados. Isto pavimentou o caminho para a criao da rede de transporte conhecida hoje como Internet. Ken Thompson desenvolve o sistema operacional UNIX, amplamente aclamado como o sistema operacional mais "hacker-friendly" devido s suas ferramentas acessveis a desenvolvedores e compiladores e tambm sua comunidade de usurios colaborativos. Quase ao amesmo tempo, Dennis Ritchie desenvolve a linguagem de programao C, discutivelmente a linguagem hacking mais popular da histria dos computadores.
Bolt, Beranek e Newman, uma empresa de pesquisa e desenvolvimento em computadores para o governo e indstria, desenvolve o protocolo Telnet, uma extenso pblica da ARPANet. Isto abre portas para o uso pblico de redes de dados antes restritas a empresas do governo e pesquisadores acadmicos. O Telnet, no entanto, tambm discutivelmente o protocolo mais inseguro para redes pblicas, de acordo com diversos pesquisadores em segurana. Steve Jobs e Steve Wozniak fundaram a Apple Computer e comearam a comercializar o computador pessoal (Personal Computer - PC). O PC o trampolim para diversos usurios maldosos aprenderem a arte do cracking remoto em sistemas, usando hardware de comunicao comum de PC, como modems analgicos e war dialers. Jim Ellis e Tom Truscott criam o USENET, um sistema de estilo mural (bulletin-board) para comunicao eletrnica entre usurios dspares. O USENET torna-se rapidamente um dos meios mais conhecidos de intercmbio de idias em computao, redes e, obviamente, cracking.
1.1.2.4. Os Anos 80
A IBM desenvolve e comercializa PCs baseados no microprocessador Intel 8086, uma arquitetura relativamente barata que trouxe a computao do escritrio para casa. Isto serve para transformar o PC numa ferramenta comum e acessvel, que era relativamente poderosa e fcil de usar, ajudando a proliferao deste tipo de hardware nos lares e escritrios de usurios maldosos. O Protocolo de Controle de Transmisso (Transmission Control Protocol), desenvolvido por Vint Cerf, dividido em duas partes distintas. O Protocolo de Internet (IP) surge desta diviso, e o protocolo combinado TCP/IP torna-se o padro para toda a comunicao via Internet de hoje. Baseada em desenvolvimentos na rea de phreaking, ou explorando e hackeando o sitema de telefonia, a revista 2600: The Hacker Quarterly criada e comea a abordar temas como o cracking e redes de computadores para uma grande audincia. A gang 414 (assim nomeada em funo do cdigo de rea de onde haqueava) surpreendida pelas autoridades aps nove dias de cracking no qual a gang violou os sistemas de uma localizao altamente secreta, o Los Alamos National Laboratory, um local de pesquisas de armas nucleares. The Legion of Doom e o Chaos Computer Club so dois grupos pioneiros de crackers que comeam a explorar as vulnearbilidades em computadores e redes eletrnicas de dados. O Ato de Fraude e Abuso de Computador de 1986 (Computer Fraud and Abuse Act) foi votado e transformado em lei pelo congresso americano baseado nos exploits de Ian Murphy, tambm conhecido com Capito Zap, que violou computadores militares, roubou informaes de bancos de dados de pedidos de mercadorias e utilizou os quadros restritos de distribuio de telefone do governo para efetuar ligaes telefnicas. Baseado no Ato de Fraude e Abuso de Computador, a crte condena Robert Morris, um graduando, por distribuir o vrus Morris Worm para mais de 6.000 computadores vulnerveis conectados Internet. O prximo caso mais proeminente julgado sob este ato foi o de Herbert Zinn, um colegial que abandonou os estudos, que crackeou e fez mal-uso dos sistemas da AT&T e do DoD (Departamento de Defesa dos EUA). Baseado na preocupao de que a rdea do Morris Worm pudesse ser replicada, criada a Equipe de Resposta a Emergncias de Computador (Computer Emergency Response Team - CERT) para alertar usurios das questes de segurana em redes. Clifford Stoll escreve The Cuckoos Egg, o resultado de sua investigao sobre crackers que exploraram seu sistema.
4 1.1.2.5. Os Anos 90
A ARPANet desativada. O trfego desta rede transferido para a Internet. Linus Torvalds desenvolve o kernel do Linux para utilizao com o sistema operacional GNU. O amplo desenvolvimento e adoo do Linux se deve, em grande parte, colaborao e comunicao de usurios e desenvolvedores via Internet. Devido s suas razes no Unix, o Linux mais popular entre hackers e administradores que o consideram muito til para elaborar alternativas seguras para servidores legados que rodam sistemas operacionais proprietrios (com cdigo fechado). O navegador (browser) grco criado e estimula uma demanda exponencialmente alta por acesso pblico Internet. Vladimir Levin cmplice da transfncia ilegal de US$10 milhes em fundos para diversas contas crackeando o banco de dados central do CitiBank. Levin preso pela Interpol e quase todo o dinheiro recuperado. Possivelmente, o precursor de todos os crackers Kevin Mitnick, que hackeou diversos sistemas corporativos roubando tudo - de informaes pessoais de celebridades a mais de 20.000 nmeros de cartes de crdito e cdigo fonte de software proprietrio. Ele preso, condenado por fraude e ca 5 anos na priso. Kevin Poulsen e um cmplice desconhecido manipulam sistemas de telefonia de uma estao de rdio para ganhar carros e prmios em dinheiro. Ele condenado por fraude e sentenciado a 5 anos de priso. As histrias de cracking e phreaking se tornam lendas; e muitos crackers em potencial se renem na conveno anual DefCon para celebrar o cracking e trocar idias entre seus pares. Um estudante israelense de 19 anos preso e condenado por coordenar vrias violaes aos sistemas do governo americano durante o conito no Golfo Prsico. Ociais militares o chamam de "o ataque mais organizado e sistemtico" a sistemas de governo na histria dos EUA. A Procuradora dos EUA Janet Reno, em resposta s crescentes violaes de segurana aos sistemas do governo, estabelece o Centro de Proteo Infraestrutura Nacional (National Infrastructure Protection Center). Satlites de comunicao ingleses so tomados e controlados por criminosos desconhecidos. O governo britnico eventualmente se apropria do controle dos satlites.
Num dia qualquer, so estimados 225 grandes incidentes de explorao de vulnerabilidades reportados ao Centro de Coordenao da CERT na Universidade Carnegie Mellon. 1 Em 2003, o nmero de incidentes reportados CERT pulou para 137.529 de 82.094 em 2002 e de 52.658 em 2001.2 O impacto econmico am nvel mundial dos trs vrus mais perigosos da Internet nos ltimos trs anos foi estimado em US$13.2 bilhes.3
A segurana em computadores tornou-se uma despesa quanticvel e justicvel em todos os oramentos de TI. Empresas que requerem integridade de dados e alta disponibilidade, evocam as habilidades de administradores de sistemas, desenvolvedores e engenheiros para garantir conabilidade de seus sistemas, servios e informaes 24 horas por dia, sete dias por semana. Cair nas mos de usurios, processos ou ataques maldosos coordenados uma ameaa direta ao sucesso da empresa. Infelizmente, a segurana de sistemas e redes pode ser uma tarefa difcil, que requer o conhecimento complexo de como a empresa encara, usa, manipula e transmite suas informaes. Entender a maneira como a empresa (e as pessoas que a constituem) conduz os negcios primordial para a implementao de um plano de segurana apropriado.
Condencialidade Informaes delicadas devem estar disponveis apenas para um conjunto prdenido de indivduos. A transmisso ou o uso no autorizado de informaes devem ser restritos. Por exemplo: a condencialidade da informao garante que as informaes pessoais ou nanceiras de um cliente no sejam obtidas por um indivduo no autorizado para propsitos maldosos como roubo de identidade ou fraude de crdito. Integridade As informaes no devem ser alteradas de modo a torn-las incompletas ou incorretas. Usurios no autorizados devem ter restries para modicar ou destruir informaes delicadas. Disponibilidade As informaes devem estar acessveis a usurios autorizados sempre que precisarem. A disponibilidade a garantia de que aquela informao pode ser obtida com uma frequncia e periodicidade pr-denidas. Isto frequentemente medido em termos de porcentagens e denido formalmente nos Acordos de Nvel de Servio (Service Level Agreements - SLAs) usados por provedores de servios de rede e seus clientes corporativos.
Estas trs categorias abrangentes denem os objetivos principais de uma implementao de segurana apropriada. Dentre estes controles h sub-categorias que detalham minuciosamente os controles e como implement-los.
Cmeras de vigilncia de circuito fechado Sistemas de alarme trmicos ou de movimento Guardas de segurana Identidades com foto Portas de ao trancadas com fechaduras dead-bolt Biomtrica (inclui impresso digital, voz, rosto, ris, manuscrito e outros mtodos automatizados usados para reconhecer indivduos)
Criptograa Cartes inteligentes Autenticao de rede Listas de controle de acesso (Access control lists - ACLs) Software de auditoria de integridade de arquivos
Treinamento e conscientizao Preparao para desastres e planos de recuperao Recrutamento de pessoal e estratgias de separao Registro e avaliao de pessoal
1.3. Concluso
Agora que voc aprendeu um pouco sobre as origens, razes e aspectos da segurana, pode determinar o curso de aes apropriado em relao ao Red Hat Enterprise Linux. importante saber quais fatores e condies compoem a segurana para planejar e implementar uma estratgia apropriada. Com estas informaces em mente, o processo pode ser formalizado e o caminho torna-se mais claro conforme voc aprofundar nas especicidades do processo de segurana.
Captulo 2.
Atacantes e Vulnerabilidades
Para planejar e implementar uma boa estratgia de segurana, primeiramente saiba de algumas das razes que motivaram atacantes a explorar e comprometer sistemas. Mas antes de detalhar estas questes, precisamos denir a terminologia utilizada ao identicar um atacante.
10
Independentemente da inteno do intruso, importante saber das fraquezas que um cracker geralmente tentar explorar. O restante do captulo foca nestas questes.
11
Uma ocorrncia comum dentre administradores de sistemas instalar o sistema operacional sem prestar ateno em quais pacotes realmente esto sendo instalados. Isto pode ser problemtico, pois servios desnecessrios podem ser instalados, congurados com opes default e possivelmente acionados. Isto pode fazer com que servios no quistos, como Telnet, DHCP ou DNS, sejam executados em um servidor ou estao de trabalho sem que o adminstrador perceba, o que pode causar trfego indesejado no servidor, ou at mesmo uma via potencial para crackers ao sistema. Veja Captulo 5 para informaes sobre fechar portas e desativar servios no utilizados.
12
atravs de redes conveis, mas essa suposio deixa de ser verdadeira a partir do momento em que o servio for disponibilizado atravs da Internet que por si s essencialmente no convel. Um tipo de servio de rede inseguro so aqueles que requerem nomes de usurio e senha no criptografados para autenticao. Telnet e FTP so dois servios deste tipo. Se um software de snifng de pacotes est monitorando o trfego entre o usurio remoto e um servidor deste tipo, os nomes de usurio e senhas podem ser interceptadas facilmente. Tais servios tambm podem ser facilmente enquadrados no que a indstria da segurana chama de ataque man-in-the-middle. Neste tipo de ataque um cracker redireciona o trfego de rede, enganando um servidor de nomes crackeado na rede, apontando-o para sua mquina ao invs do servidor pretendido. Quando algum abrir uma sesso remota para este servidor, a mquina do atacante age como um condutor invisvel, situado discretamente entre o servio remoto e o crdulo usurio, capturando as informaes. Desta maneira um cracker consegue obter senhas administrativas e dados sem que o servidor ou o usurio perceba. Outra categoria de servios inseguros so sistemas de arquivos de rede e servios de informao, como NFS ou NIS, desenvolvidos explicitamente para uso em LANs, mas que, infelizmente, tm seu uso extendido para WANs (para usurios remotos). O NFS no tem, por default, nenhuma autenticao ou mecanismos de segurana congurados para prevenir um cracker de montar o compartilhamento do NFS e acessar qualquer coisa contida nele. O NIS tambm tem informaes vitais que devem ser conhecidas por qualquer computador ou rede, incluindo senhas e permisses de arquivo, em um banco de dados ACSII ou DBM (derivado do ASCII) somente-texto. Um cracker que obtm acesso a este banco de dados poder acessar qualquer conta de usurio de uma rede, inclusive a conta do administrador. Por default, o Red Hat Enterprise Linux lanado com todos estes servios desligados. No entanto, como administradores frequentemente so forados a us-los, essencial congur-los cuidadosamente. Consulte o Captulo 5 para mais informaes sobre como congurar servios de maneira segura.
13
verso 1 do SSH so vulnerveis a um ataque X-forwarding de servidores SSH malcos. Uma vez conectado ao servidor, o atacante pode capturar discretamente quaisquer teclas pressionadas e cliques de mouse efetuados pelo cliente atravs da rede. Este problema foi consertado na segunda verso do protocolo SSH, mas depende do usurio monitorar aplicaes com tais vulnerabilidades e atualiz-las quando necessrio. O Captulo 4 aborda mais detalhadamente os passos que administradores e usurios domsticos devem seguir para limitar a vulnerabilidade de estaes de trabalho.
14
ndice
3. Atualizaes de Segurana ........................................................................................................... 17 4. Segurana da Estao de Trabalho ............................................................................................. 23 5. Segurana do Servidor ................................................................................................................. 41 6. Redes Privadas Virtuais (Virtual Private Networks)................................................................. 55 7. Firewalls......................................................................................................................................... 65
Captulo 3.
Atualizaes de Segurana
Conforme as vulnerabilidades de segurana so descobertas, o software afetado deve ser atualizado para limitar os potenciais riscos de segurana. Se o software parte de um pacote de uma distribuio do Red Hat Enterprise Linux atualmente suportada, a Red Hat, Inc. est comprometida em lanar pacotes atualizados que consertem as vulnerabilidades assim que possvel. Frequentemente, os comunicados de um exploit de segurana so acompanhados de um conserto (ou cdigo-fonte que conserte o problema). Este conserto ento aplicado ao pacote Red Hat Enterprise Linux, testado pela equipe de controle de qualidade da Red Hat e lanado como uma atualizao de errata. Entretanto, se o comunicado no inclui um conserto, um desenvolvedor da Red Hat trabalha juntamente ao mantenedor do software para consertar o problema. Aps consertar o problema, o pacote testado e lanado como uma atualizao de errata. Se for lanada uma atualizao de errata para um software utilizado em seu sistema, altamente recomendvel que voc atualize os pacotes afetados assim que possvel, para mininmizar o tempo durante o qual seu sistema est potencialmente vulnervel.
Nota Comeando pela linha de produtos Red Hat Enterprise Linux, os pacotes atualizados podem ser baixados somente pela Red Hat Network. Apesar do site de Erratas da Red Hat conter informaes atualizadas, no contm os pacotes para download.
18
de errata so aplicveis para cada sistema. Sem o perl, a Red Hat Network no pode determinar se um sistema precisa de atualizaes. Quando uma errata de segurana (ou qualquer tipo de errata) lanada, a Red Hat Network envia um email com a descrio da errata assim como quais sistemas so afetados por ela. Para aplicar a atualizao, voc pode usar o Agente de Atualizaes Red Hat ou agendar a atualizao do pacote pelo site http://rhn.redhat.com.
Dica O Red Hat Enterprise Linux inclui a Ferramenta de Noticao de Alerta da Red Hat Network, um cone conveniente no painel que exibe alertas quando h uma atualizao para um sistema Red Hat Enterprise Linux registrado. Consulte a seguinte URL para mais informaes sobre o applet: http://rhn.redhat.com/help/basic/applet.html
Para saber mais sobre os benefcios da Red Hat Network, consulte o Guia de Referncia da Red Hat Network (Red Hat Network Reference Guide) disponvel em http://www.redhat.com/docs/manuals/RHNetwork/ ou visite http://rhn.redhat.com.
Importante Antes de instalar qualquer errata de segurana, certique-se de ler todas as instrues especiais contidas no relatrio da errata e execut-las. Consulte a Seo 3.1.5 para instrues gerais sobre como aplicar as alteraes feitas por uma atualizao de errata.
19
Assumindo que o CD-ROM esteja montado em /mnt/cdrom, use o seguinte comando para import-la para o chaveiro (um banco de dados do sistema com chaves conveis):
rpm --import /mnt/cdrom/RPM-GPG-KEY
Para exibir uma lista com todas as chaves instaladas para vericao de RPM, execute o seguinte comando:
rpm -qa gpg-pubkey*
Para exibir detalhes sobre uma chave especca, use o comando rpm -qi seguido do output do comando anterior, conforme o exemplo:
rpm -qi gpg-pubkey-db42a60e-37ea5438
extremamente importante vericar a assinatura dos arquivos RPM antes de instal-los. Este passo assegura que eles no foram alterados depois do lanamento dos pacotes pela Red Hat, Inc.. Para vericar todos os pacotes do download de uma s vez, submeta o seguinte comando:
rpm -K /tmp/updates/*.rpm
Se a chave GPG for vericada com sucesso, o comando retorna gpg OK para cada pacote. Caso contrrio, certique-se de usar a chave pblica correta da Red Hat, assim como vericar a fonte do contedo. Os pacotes que no passarem na vericao GPG no devem ser instalados, pois podem ter sido alterados por terceiros. Aps vericar as chaves GPG e fazer o download de todos os pacotes associados ao relatrio da errata, instale os pacotes como root em uma janela de comandos.
Aps reinicializar a mquina com segurana usando o novo kernel, o kernel antigo deve ser removido usando o seguinte comando:
rpm -e
kernel-package
old-kernel-package
old-kernel-package
20
Nota No necessrio remover o kernel antigo. O gestor de incio default, GRUB, permite a instalao de kernels mltiplos, dos quais escolhemos um no menu de inicializao da mquina.
Importante Antes de instalar qualquer errata de segurana, certique-se de ler todas as instrues especiais contidas no relatrio da errata e execut-las. Consulte a Seo 3.1.5 para instrues gerais sobre como aplicar as alteraes feitas por uma atualizao de errata.
Nota Em geral, reinicializar o sistema a maneira mais certa de garantir que a verso mais recente de um pacote de software usada; entretanto, esta opo nem sempre est disponvel ao administrador de sistemas.
Aplicaes Aplicaes em espao de usurio (user-space) so quaisquer programas que podem ser iniciados por um usurio do sistema. Geralmente, estas aplicaes so usadas somente quando um usurio, um script ou um utilitrio de tarefa automatizada as lana, e no persistem por longos perodos. Aps uma aplicao em espao de usurio ser atualizada, pare todas as instncias da aplicao no sistema e lance o programa novamente a m de usar a verso atualizada. Kernel O kernel o componente central do software do sistema operacional Red Hat Enterprise Linux. Ele gerencia o acesso memria, ao processador e perifricos e tambm agenda todas as tarefas. Devido sua funo central, o kernel no pode ser reiniciado sem tambm parar o computador. Portanto, uma verso atualizada do kernel no pode ser usada at que o sistema seja reinicializado. Bibliotecas Compartilhadas Bibliotecas compartilhadas so unidades de cdigo, como a glibc, que so usadas por diversas aplicaes e servios. As aplicaes que utilizam uma biblioteca compartilhada geralmente carregam o cdigo compartilhado quando a aplicao iniciada, portanto todas as aplicaes que usam a biblioteca compartilhada devem ser paradas e relanadas.
21
Para determinar quais aplicaes esto relacionadas a uma determinada biblioteca, use o comando lsof, conforme o exemplo a seguir:
lsof /usr/lib/libwrap.so*
Este comando retorna uma lista de todos os programas sendo executados, que usam TCP wrappers para controle de acesso mquina. Portanto, quaisquer programas listados devem ser parados e relanados se o pacote tcp_wrappers for atualizado. Servios SysV Servios SysV so programas persistentes de servidor lanados durante o processo de inicializao. Exemplos de servios SysV incluem sshd, vsftpd e xinetd. Como estes programas geralmente persistem na memria enquanto a mquina reinicializada, cada servio SysV atualizado deve ser parado e relanado aps o upgrade do pacote. Isto pode ser feito usando a Ferramenta de Congurao dos Servios ou se autenticando a uma janela de comandos root e submetendo o comando /sbin/service como no exemplo seguinte:
/sbin/service
service-name
Consulte o captulo intitulado Controlando Acesso aos Servios no Guia de Administrao de Sistemas Red Hat Enterprise Linux para mais informaes sobre a Ferramenta de Congurao dos Servios. Servios xinetd Os servios controlados pelo super servio xinetd rodam somente quando h uma conexo ativa. Exemplos de servios controlados pelo xinetd incluem Telnet, IMAP e POP3. Como novas instncias destes servios so lanadas pelo xinetd cada vez que um novo pedido recebido, as conexes que ocorrem depois de um upgrade so feitas pelo software atualizado. No entanto, se h conexes ativas no momento em que o servio controlado xinetd atualizado, elas so feitas pela verso antiga do software. Para terminar instncias antigas de um servio em particular controlado pelo xinetd, faa o upgrade do pacote do servio e ento pare todos os processos sendo executados. Primeiro, determine se o processo est rodando, usando o comando ps e ento use o comando kill ou killall para parar as instncias atuais do servio. Por exemplo: se os pacotes da errata de segurana imap so lanados, faa o upgrade dos pacotes e ento digite o seguinte comando como root em uma janela de comandos:
ps -aux | grep imap
service-name
restart
Este comando retorna todas as sesses IMAP ativas. As sesses individiuais podem ento ser terminadas com o seguinte comando:
kill -9
No exemplo anterior, substitua PID pelo nmero de identicao do processo (encontrado na segunda coluna do comando ps) de uma sesso IMAP. Para terminar todas as sesses IMAP ativas, submeta o seguinte comando:
killall imapd
PID
Consulte o captulo intitulado TCP Wrappers e xinetd no Guia de Referncia do Red Hat Enterprise Linux para informaes gerais sobre o xinetd.
22
Captulo 4.
Segurana da Estao de Trabalho
Proteger um ambiente Linux comea pela estao de trabalho. Na proteo de sua mquina pessoal ou sistema corporativo, uma boa poltica de segurana comea pelo computador individual. Anal de contas, uma rede de computadores to segura quanto seu ndulo mais vulnervel.
Segurana do BIOS e Gestor de Incio Um usurio no autorizado pode acessar sicamente a mquina e inicializ-la como um usurio simples ou no modo de recuperao sem uma senha? Segurana da Senha Quo seguras so as senhas de conta de usurio na mquina? Controles Administrativos Quem tem uma conta no sistema e quanto controle administrativo eles tm? Servios Disponveis na Rede Quais servios esto escutando por pedidos da rede? Eles realmente devem estar rodando? Firewalls Pessoais Qual o tipo de rewall necessrio (caso haja)? Ferramentas de Comunicao para Segurana Aprimorada Quais ferramentas devem ser usadas para a comunicao entre estaes de trabalho e quais devem ser evitadas?
24
Captulo 4. Segurana da Estao de Trabalho 2. Impedindo a Inicializao do Sistema Alguns BIOSes permitem que voc proteja o processo de inicializao da mquina com senha. Quando ativado, um atacante forado a inserir uma senha antes do BIOS lanar o gestor de incio.
Como os mtodos para denir uma senha para o BIOS variam de acordo com o fabricante do computador, consulte o manual de seu computador para obter instrues especcas. Se voc esquecer a senha do BIOS, ela pode ser restaurada com jumpers na placa-me ou desligando a bateria CMOS. Por esta razo, aconselhvel trancar o compartimento do computador, se possvel. No obstante, consulte o manual do computador ou da placa-me antes de tentar desligar a bateria CMOS. 4.2.1.1. Protegendo Plataformas No-x86 Outras arquiteturas usam programas diferentes para executar tarefas de nvel baixo, parecidas quelas do BIOS em sistemas x86. Por exemplo: computadores baseados no Intel Itanium usam a shell EFI (Extensible Firmware Interface). Para instrues sobre a proteo atravs de senha a programas parecidos com o BIOS em outras arquiteturas, consulte as instrues do fabricante.
Quando solicitada, digite a senha do GRUB e pressione [Enter]. Isto retornar um hash MD5 da senha. Em seguida, edite o arquivo de congurao do GRUB /boot/grub/grub.conf. Abra o arquivo e, abaixo da linha timeout na seo principal do documento, adicione a seguinte linha:
password --md5
password-hash
25
Na prxima vez que inicializar o sistema, o menu do GRUB no deixar voc acessar o editor ou a interface de comando sem que pressione [p] seguida da senha do GRUB. Infelizmente, esta soluo no impede que um atacante inicialize em um sistema operacional noseguro em um ambiente de boot duplo. Para isso, voc precisa editar uma parte diferente do arquivo /boot/grub/grub.conf. Procure pela linha title do sistema operacional no-seguro e adicione uma linha contendo lock logo abaixo dela. Para um sistema DOS, a estrofe deve comear similarmente a:
title DOS lock
password-hash
Ateno Voc deve ter uma linha password na seo principal do arquivo /boot/grub/grub.conf para que este mtodo funcione apropriadamente. Caso contrrio, um atacante poder acessar a interface de edio do GRUB e remover a linha lock.
Para criar uma senha diferente para um kernel ou sistema operacional especco, adicione uma linha lock na estrofe, seguida de uma linha para senha. Cada estrofe que voc proteger com uma senha nica deve comear com linhas similares ao exemplo seguinte:
title DOS lock password --md5
password-hash
adicional.
26
de cracking neste arquivo. Se houver uma senha desprotegida no arquivo, apenas uma questo de tempo para o cracker descobr-la. Senhas shadow eliminam a ameaa deste tipo de ataque, armazenando as senhas hash (misturadas) em um arquivo /etc/shadow, legvel somente pelo usurio root. Isto fora um atacante potencial a tentar craquear a senha remotamente se autenticando em um servio de rede na mquina, como SSH ou FTP. Este tipo de ataque de fora bruta bem mais lento e deixa rastros bvios, j que centenas de tentativas de autenticao mal-sucedidas so registradas nos arquivos do sistema. Claro que, se o cracker comear um ataque no meio da noite em um sistema com senhas fracas, ele pode obter acesso e editar os arquivos de registro para apagar seus rastros antes da luz do dia. Alm das questes de formato e armazenamento, h tambm a questo de contedo. A coisa mais importante que um usurio pode fazer para proteger sua conta de cracking de senha criar uma senha forte.
No Use Apenas Palavras ou Nmeros Nunca use somente palavras ou nmeros em uma senha. Alguns exemplos de senhas inseguras:
No Use Palavras Reconhecveis Palavras como nomes prprios, palavras de dicionrio ou at termos de shows de televiso ou novelas devem ser evitados, mesmo que sejam nalizados com nmeros. Alguns exemplos de senhas inseguras:
No Use Palavras em Idiomas Estrangeiros Programas de cracking de senhas frequentemente checam listas de palavras que incluem dicionrios de muitos idiomas. Conar em idiomas estrangeiros para proteger senhas no seguro. Alguns exemplos de senhas inseguras:
27
No Use Terminologia de Hacker Se voc se acha parte de uma elite por utilizar terminologia de hacker tambm chamada l337 (LEET) speak em sua senha, repense. Muitas listas de palavras incluem LEET speak. Alguns exemplos de senhas inseguras:
H4X0R 1337
No Use Informaes Pessoais Fique longe das informaes pessoais. Se o atacante souber quem voc , ele ter facilidade em descobrir sua senha. A seguir, veja uma lista de tipos de informao a evitar na criao de uma senha: Alguns exemplos de senhas inseguras:
Seu nome O nome de animais de estimao O nome de familiares Quaisquer datas de aniversrio Seu nmero de telefone ou cdigo postal
No Inverta Palavras Reconhecveis Bons vericadores de senha sempre revertem palavras comuns, portanto reverter uma senha ruim no a torna mais segura. Alguns exemplos de senhas inseguras:
No Anote Sua Senha Nunca guarde uma senha em papel. bem mais seguro memoriz-la. No Use a Mesma Senha Para Todas as Mquinas importante criar senhas separadas para cada mquina. Desta maneira, se um sistema for comprometido, todas as outras mquinas no estaro em risco imediato.
Faa o seguinte:
Crie uma Senha de no Mnimo Oito Caracteres Quanto mais longa a senha, melhor. Se voc estiver usando senhas MD5, deve ter 15 ou mais caracteres. Para senhas DES, use o tamanho mximo (oito caracteres). Misture Letras em Caixa Alta e Baixa O Red Hat Enterprise Linux sensvel a maisculas e minsculas, portanto misture-as para criar uma senha mais forte. Misture Letras e Nmeros Adicionar nmeros a senhas, especialmente no meio delas (no apenas no comeo e m), pode aumentar a fora da senha. Inclua Caracteres No Alfa-numricos Caracteres especiais como &, $ e tar bastante a fora de uma senha (isto no possvel se usar senhas DES).
podem aumen-
Escolha uma Senha que Voc Possa Lembrar A melhor senha do mundo de nada adianta se voc no conseguir lembr-la. Ento use acrnimos ou outros dispositivos mneumnicos para ajud-lo a memorizar senhas.
28
Com todas estas regras, parece difcil criar uma senha que siga todos os critrios e evitar as caractersticas de um senha ruim. Felizmente, h alguns passos simples a seguir para gerar uma senha memorizvel e segura. 4.3.1.1. Metodologia de Criao de Senha Segura H muitos mtodos usados para criar senhas seguras. Um dos mais conhecidos envolve acrnimos. Por exemplo:
Pense em uma frase memorvel, como: "o sol da liberdade em raios flgidos brilhou no cu da ptria neste instante." Em seguida, transforme-a num acrnimo (incluindo a pontuao). osdlerfbncdpni. Adicione complexidade substituindo letras por nmeros e smbolos no acrnimo. Por exemplo: substitua n por 9 e a letra d pelo smbolo arrouba (@): o7r@77w,7ghwg. Adicione mais complexidade colocando pelo menos uma das letras em caixa alta, como F. o7r@77w,7gHwg. Finalmente, nunca use o exemplo acima em nenhum de seus sistemas.
Criar senhas seguras imperativo, mas gerenci-las apropriadamente tambm importante, especialmente para administradores de sistemas em empresas maiores. A prxima seo detalha as boas prrticas para criar e gerenciar senhas de usurios em uma empresa.
29
Note, no entanto, que a vericao executada nas senhas no momento de sua criao no descobre senhas ruins to efetivamente quanto rodar um programa de cracking de senhas nas senhas da empresa inteira. H muitos programas de cracking de senhas que rodam no Red Hat Enterprise Linux, porm nenhum distribudo junto ao sistema operacional. Abaixo h uma breve lista de alguns dos programas de cracking de senhas mais conhecidos:
Nota Nenhuma destas ferramentas provida junto ao Red Hat Enterprise Linux, portanto no so suportadas pela Red Hat, Inc. de maneira nenhuma.
John The Ripper Um programa de cracking rpido e exvel. Permite o uso de listas de palavras mltiplas e capaz de craquear senhas com fora bruta. Est disponvel online em http://www.openwall.com/john/. Crack Talvez o programa de cracking mais conhecido, o Crack tambm muito rpido, porm no to fcil de usar quanto o John The Ripper. Pode ser encontrado online: http://www.crypticide.com/users/alecm/. Slurpie O Slurpie similar ao John The Ripper e ao Crack, mas desenvolvido para rodar em computadores mltiplos simultaneamente, criando um ataque de cracking de senha distribudo. Pode ser encontrado online, juntamente a outras ferramentas de avaliao de segurana contra ataques distribudos, em http://www.ussrback.com/distributed.htm.
Ateno Sempre obtenha autorizaes escritas antes de tentar craquear senhas dentro de uma empresa.
4.3.2.2. Idade da Senha Idade da senha uma outra tcnica usada por administradores de sistema para defender uma empresa contra senhas ruins. A idade da senha signica que depois de um determinado tempo (geralmente 90 dias) solicitado ao usurio criar uma nova senha. A teoria por trs disso se o usurio forado a trocar sua senha periodicamente, uma senha crackeada por um intruso ser til somente por um tempo limitado. A desvantagem desta tcnica, no entanto, que usurios tendem a anotar suas senhas. H dois programas principais usados para especicar a idade da senha sob o Red Hat Enterprise Linux: o comando chage ou a aplicao grca Administrador de Usurios (redhat-config-users). A opo -M do comando chage especica o nmero mximo de dias em que a senha vlida. Portanto, se um usurio quer que sua senha expire em 90 dias, deve digitar o seguinte comando:
chage -M 90
username
No comando acima, substitua username pelo nome do usurio. Para desabilitar a expirao da senha, comum usar o valor 99999 depois da opo -M (isso equivale a um pouco mais de 273 anos). A aplicao grca Administrador de Usurios tambm pode ser usada para criar normas de validade de senhas. Para acessar esta aplicao, v para o boto do Menu Principal (no Painel) => Conguraes do Sistema => Usurios & Grupos ou digite o comando redhat-config-users
30
em uma janela de comandos (num XTerm ou num terminal GNOME, por exemplo). Clique na aba Usurios, selecione o usurio da lista e clique em Propriedades no boto do menu (ou selecione Arquivo => Propriedades no menu suspenso). Ento clique na aba Informaes de Senha e insira o nmero de dias antes da senha expirar, conforme mostra a gura Figura 4-1.
Figura 4-1. Aba Informaes de Senha Para mais informaes sobre a congurao do usurio e grupo (inclusive instrues sobre como forar as primeiras senhas), veja o captulo Congurao de Usurio e Grupo do Guia de Administrao de Sistemas Red Hat Enterprise Linux. Para uma viso geral da administrao de usurios e recursos, consulte o captulo Gerenciando Contas de Usurio e Acesso a Recursos (Managing User Accounts and Resource Access) no Introduo Administrao de Sistemas Red Hat Enterprise Linux.
Para os administradores de sistema de uma empresa, no entanto, as escolhas devem ser feitas de acordo com o nvel de acesso administrativo que os usurios, dentro da organizao, devem ter em suas mquinas. Atravs de um mdulo PAM chamado pam_console.so, algumas atividades reservadas somente ao usurio root, como reinicializar e montar mdia removvel, so permitidas ao primeiro usurio que se autenticar no console fsico (veja o captulo intitulado Mdulos Plugveis de Autenticao (PAM) do Guia de Referncia do Red Hat Enterprise Linux para saber mais sobre o mdulo pam_console.so). Entretanto, outras tarefas importantes da administrao de sistemas, como alterar conguraes da rede ou do mouse, ou montar dispositivos de rede, so impossveis sem os privilgios administrativos. Consequentemente, os administradores devem decidir o grau de acesso que os usurios de sua rede devem receber.
31
M Congurao da Mquina Usurios com acesso root podem mal-congurar suas mquinas e pedir assistncia ou pior, abrir buracos na segurana sem saber. Rodar Servios Inseguros Usurios com acesso root podem rodar servios inseguros, como FTP ou Telnet, em suas mquinas, potencialmente arriscando nomes de usurios e senhas conforme trafegam sem criptograa pela rede. Anexando Arquivos em Emails como Root Apesar de raros, existem vrus de e-mail que afetam o Linux. A nica hora em que eles representam uma ameaa, no entanto, quando so executados pelo usurio root.
Alterar a Edite o arquivo shell root. /etc/passwd e altere a shell de /bin/bash para /sbin/nologin.
sudo
32 Mtodo Desativar acesso root atravs de qualquer dispositivo de console (tty). Descrio
/etc/securetty vazio
Captulo 4. Segurana da Estao de Trabalho Efeitos Impede o acesso conta root atravs do console ou rede. Os seguintes programas so impedidos de acessar a conta root: No Afeta Programas que no se logam como root, mas executam tarefas administrativas atravs de mecanismos setuid ou outros. Os seguintes programas no so impedidos de acessar a conta root:
Um arquivo
Desativar autenticaes root SSH. Edite o arquivo
/etc/ssh/sshd_config
e dena o parmetro
Impede o acesso root atravs do conjunto de ferramentas OpenSSH. Os programas a seguir so impedidos de acessar a conta root:
Utilizar o PAM para limitar o acesso root aos servios. Edite o arquivo para o servio em questo no diretrio /etc/pam.d/. Assegure que pam_listfile.so seja necessrio para a autenticao.a
Impede o acesso root para servios de rede noticados pelo PAM. Os seguintes servios so impedidos de acessar a conta root: clientes FTP clientes de Email
login gdm kdm xdm ssh scp sftp
Quaisquer servios noticados pelo PAM Notas: a. Consulte a Seo 4.4.2.4 para mais detalhes. Tabela 4-1. Mtodos para Desativar a Conta Root 4.4.2.1. Desativar a Shell Root Para impedir os usurios de se autenticar diretamente como root, o administrador de sistema pode congurar a shell da conta root para /sbin/nologin no arquivo /etc/passwd. Isto impede o acesso conta root atravs de comandos que requerem uma shell, como os comandos su e ssh.
33
Importante Programas que no requerem acesso shell, como clientes de email ou o comando sudo, ainda podem acessar a conta root.
4.4.2.2. Impossibilitando Autenticaes Root Para limitar acesso conta root, os administradores podem desativar autenticaes root no console editando o arquivo /etc/securetty. Este arquivo lista todos os dispositivos nos quais o usurio root pode se autenticar. Se o arquivo no existir, o usurio root pode se autenticar atravs de qualquer dispositivo de comunicao no sistema, seja atravs do console ou de uma interface de rede bruta. Isto perigoso pois um usurio pode acessar o Telnet em sua mquina como root, enviando sua senha em formato texto atravs da rede. Por default, o arquivo /etc/securetty do Red Hat Enterprise Linux permite somente ao usurio root se autenticar no console sicamente conectado mquina. Para impedir que root se autentique, remova o contedo deste arquivo digitando o seguinte comando:
echo > /etc/securetty
Ateno Um arquivo /etc/securetty em branco no impede o usurio root de se autenticar remotamente usando o conjunto de ferramentas OpenSSH porque o console no aberto antes da autenticao.
4.4.2.3. Impossibilitando Autenticaes Root SSH Para impedir autenticaes do root atravs do protocolo SSH, edite o arquivo de congurao do daemon SSH (/etc/ssh/sshd_config). Altere a linha que apresenta:
# PermitRootLogin yes
para o seguinte:
PermitRootLogin no
4.4.2.4. Impossibilitar Root de Usar PAM O PAM, atravs do mdulo /lib/security/pam_listfile.so, permite grande exibilidade em negar contas especcas. Isto permite que o administrador aponte o mdulo para uma lista de usurios que no so permitidos de autenticar. O exemplo abaixo mostra como o mdulo usado para o servidor FTP vsftpd no arquivo de congurao do PAM /etc/pam.d/vsftpd (o caracter \ no nal da primeira linha no exemplo a seguir no necessrio se a diretiva estiver em apenas uma linha):
auth required /lib/security/pam_listfile.so item=user \ sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
Isto diz ao PAM para consultar o arquivo /etc/vsftpd.ftpusers e negar a qualquer usurio listado acessar o servio. O administrador livre para alterar o nome deste arquivo e pode guardar listas separadas para cada servio ou usar uma lista geral para negar acesso a mltiplos servios.
34
Se o administrador quer negar acesso a mltiplos servios, uma linha similar pode ser adicionada aos servios de congurao do PAM, como /etc/pam.d/pop e /etc/pam.d/imap para clientes de mail ou /etc/pam.d/ssh para clientes SSH. Para mais informaes sobre o PAM, veja o captulo Mdulos Plugveis de Autenticao (PAM) no Guia de Referncia do Red Hat Enterprise Linux.
username
wheel.
username
Para usar o Administrador de Usurios para este propsito, clique no Boto do Menu Principal (no Painel) => Conguraes do Sistema => Grupos & Usurios ou digite o comando redhat-config-users numa janela de comandos. Selecione a aba Usurios, selecione o usurio da lista e clique em Propriedades a partir do menu do boto (ou selecione Arquivo => Propriedades a partir do menu suspenso). Ento selecione a aba Grupos e clique no grupo wheel, conforme mostra Figura 4-2.
35
Figura 4-2. Aba Grupos Em seguida, abra o arquivo de congurao do PAM para su (/etc/pam.d/su) em um editor de texto e remova o comentrio [#] da seguinte linha:
auth required /lib/security/$ISA/pam_wheel.so use_uid
Fazer isso permitir que somente membros do grupo administrativo wheel usem o programa.
4.4.3.2. O Comando sudo O comando sudo oferece uma outra maneira de dar acesso administrativo a usurios. Quando um usurio convel precede um comando administrativo com sudo, ele precisa inserir sua prpria senha. Ento, uma vez autenticado e assumindo que o comando permitido, o comando administrativo executado como se fosse pelo usurio root. O formato bsico do comando sudo o seguinte:
sudo
command
No exemplo acima, command ser substitudo por um comando normalmente reservado para o usurio root, como o comando mount.
Importante Usurios do comando sudo devem tomar cuidado extra para fazer logout antes de deixarem suas mquinas, j que possvel usar o comando novamente sem precisar indicar a senha, por um perodo de cinco minutos. Esta congurao pode ser alterada atravs do arquivo de congurao /etc/sudoers.
36
O comando sudo permite um grau de exibilidade maior. Por exemplo: somente os usurios listados no arquivo de congurao /etc/sudoers so permitidos a usar o comando sudo e o comando executado na shell do usurio, no numa shell root. Isto signica que a shell root pode ser completamente impossibilitada, conforme mostramos na Seo 4.4.2.1. O comando sudo tambm oferece um registro detalhado da sequncia de eventos. Cada autenticao bem-sucedida registrada no arquivo /var/log/messages e o comando submetido junto ao nome do usurio registrado no arquivo /var/log/secure. Outra vantagem do comando sudo que um administrador pode permitir a diferentes usurios acesso a comandos especcos baseado em suas necessidades. Administradores que queiram editar o arquivo de congurao do sudo, o /etc/sudoers, devem usar o comando visudo. Para dar privilgios administrativos totais a algum, digite visudo e adicione uma linha similar seguinte na seo de especicao de privilgios do usurio:
juan ALL=(ALL) ALL
Este exemplo estabelece que o usurio juan pode usar o sudo em qualquer mquina e executar qualquer comando. O exemplo abaixo ilustra a granularidade possvel ao congurar o sudo:
%users localhost=/sbin/shutdown -h now
Este exemplo estabelece que qualquer usurio pode submeter o comando /sbin/shutdown -h now desde que o faa pelo console. A pgina man de sudoers tem uma lista detalhada das opes para este arquivo.
Ataques Denial of Service (DoS) Ao inundar um servio com pedidos, um ataque de denial of service pode trazer ao sistema uma parada terrvel ao tentar registrar e responder cada pedido. Ataques Vulnerabilidade do Script Se um servidor estiver usando scripts para executar aes no lado do servidor, como servidores Web geralmente fazem, um cracker pode montar um ataque com scripts escritos inapropriadamente. Estes ataques vulnerabilidade do script podem acarretar na condio de sobrecarga do buffer ou permitir que o atacante altere arquivos no sistema. Ataques de Sobrecarga do Buffer (Buffer Overow) Servios que se conectam a portas numeradas de 0 a 1023 devem ser executados por um usurio administrativo. Se a aplicao tiver uma
37
sobrecarga explorvel do buffer, um atacante pode obter acesso ao sistema como o usurio rodando o daemon. Devido existncia de sobrecarga explorvel do buffer, os crackers usam ferramentas automatizadas para identicar sistemas com vulnerabilidades, e aps obterem acesso ao sistema, utilizam rootkits automatizados para mant-lo.
Nota A ameaa das vulnerabilidades da sobrecarga do buffer amenizada no Red Hat Enterprise Linux pelo ExecShield , uma tecnologia de segmentao e proteo da memria executvel suportada pelos kernels de mono ou mulit-processadores x86. O ExecShield reduz o risco de sobrecarga do buffer dividindo a memria virtual em segmentos executveis e no-executveis. Qualquer cdigo de programa que tentar executar fora do segmento executvel (como cdigo maldoso de um exploit da sobrecarga do buffer) aciona uma falha na segmentao e terminado. O Execshield tambm inclui suporte para a tecnologia No eXecute (NX) nas plataformas AMD64 e para a tecnologia eXecute Disable (XD) em sistemas Itanium e EM64T da Intel. Estas tecnologias trabalham em conjunto com o ExecShield para impedir que cdigo maldoso rode na poro executvel da memria virtual com uma granularidade de 4kb de cdigo executvel, diminuindo o risco de ataques exploits furtivos da sobrecarga do buffer. Para mais informaes sobre as tecnologias do ExecShield, NX ou XD, consulte o documento tcnico intitulado New Security Enhancements in Red Hat Enterprise Linux v.3, Update 3 , disponvel na seguinte URL: http://www.redhat.com/solutions/info/whitepapers/
Para limitar a exposio a ataques atravs da rede, todos os servios no utilizados devem ser desligados.
xinetd
Um super servidor que controla as conexes para uma mquina de servidores subordinados, como vsftpd e telnet. O agente de transporte Sendmail ativado por default, mas escuta apenas conexes a partir da mquina local (localhost). O servidor OpenSSH, um substituto seguro para o Telnet.
sendmail sshd
Ao determinar se estes servios devem ou no ser deixados rodando, melhor usar o bom senso e pecar pela precauo. Por exemplo: se uma impressora no est disponvel, no deixe o cupsd rodando. O mesmo vale para o portmap. Se voc no monta volumes NFSv3 ou no usa o NIS (o servio ypbind), ento o portmap deve ser desativado. O Red Hat Enterprise Linux distribudo com trs programas desenvolvidos para ligar e desligar servios. Eles so: Ferramenta de Congurao dos Servios (system-config-services), ntsysv e chkconfig. Para informaes sobre o uso destas ferramentas, consulte o captulo Controlando Acesso aos Servios do Guia de Administrao de Sistemas Red Hat Enterprise Linux.
38
Figura 4-3. Ferramenta de Congurao dos Servios Se voc no est certo sobre o propsito de um servio especco, a Ferramenta de Congurao dos Servios tem um campo de descrio, ilustrado na Figura 4-3, que pode lhe ser til. Mas vericar quais servios de rede esto disponveis para iniciar no momento de ligar a mquina (boot) no suciente. Bons administradores de sistema tambm devem vericar quais portas esto abertas e escutando. Veja a Seo 5.8 para mais informaes sobre o assunto.
Passem Nomes de Usurio e Senha No Criptografados por uma Rede Muitos protocolos antigos, como Telnet e FTP, no criptografam a seo de autenticao e devem ser evitados sempre que possvel. Passar Dados Importantes por uma Rede No-Criptografada Muitos protocolos passam dados atravs da rede no-criptografada. Estes protocolos incluem o Telnet, FTP, HTTP e o SMTP. Muitos sistemas de arquivo de rede, como o NFS e o SMB, tambm passam informaes atravs da rede no-criptografada. responsabilidade do usurio limitar o tipo de dados transmitidos ao utilizar estes protocolos. Servios dump de memria remota, como o netdump, passam o contedo da memria no criptografado atravs da rede. Dumps de memria podem conter senhas ou pior, informaes de banco de dados ou outras informaes delicadas. Outros servios como finger e rwhod revelam informaes sobre os usurios do sistema.
39
telnet vsftpd
Todos os programas de autenticao e shell (rlogin, rsh e telnet) devem ser evitados a favor do SSH. (Veja a Seo 4.7 para mais informaes sobre o sshd). O FTP no essencialmente to perigoso segurana do sistema quanto janelas de comando (shells) remotas, mas os servidores FTP devem ser congurados e monitorados cuidadosamente para evitar problemas. Veja a Seo 5.6 para mais informaes sobre a proteo de servidores FTP. Aqui esto alguns dos servios que devem ser implementados cuidadosamente e por trs de um rewall:
finger identd netdump netdump-server nfs rwhod sendmail smb
(Samba)
Voc pode consultar mais informaes sobre a proteo de servios de rede no Captulo 5. A prxima seo aborda as ferramentas disponveis para congurar um rewall simples.
40
OpenSSH Uma implementao livre do protocolo SSH para criptografar comunicaes de rede. Gnu Privacy Guard (GPG) Uma implementao livre da aplicao de criptograa PGP (Pretty Good Privacy) para criptografar dados.
OpenSSh uma maneira mais segura de acessar uma mquina remota e substitui servios no criptografados como telnet e rsh. OpenSSH inclui um servio de rede, chamado sshd, e trs aplicaes cliente de linha de comandos:
ssh scp
Um cliente de acesso seguro ao console remoto. Um comando seguro de cpia remota. Um cliente pseudo-ftp seguro que permite sees interativas de transferncia de arquivo.
sftp
altamente recomendado que qualquer comunicao remota com sistemas Linux ocorra usando o protocolo SSH. Para mais informae sobre o OpenSSH, veja o captulo OpenSSH do Guia de Administrao de Sistemas Red Hat Enterprise Linux. Para mais informaes sobre o Protocolo SSH, veja o captulo Protocolo SSH no Guia de Referncia do Red Hat Enterprise Linux.
Importante Apesar do servio sshd ser essencialmente seguro, ele deve ser mantido atualizado para evitar ameaas de segurana. Veja o Captulo 3 para mais informaes sobre esta questo.
GPG uma maneira de garantir a privacidade da comunicao por e-mail. Pode ser usado para enviar email com dados delicados atravs de redes pblicas e para proteger dados delicados em discos rgidos. Para mais informaes sobre o uso do GPG, consulte o apndice intitulado Guia de Iniciao do Gnu Privacy Guard do Guia Passo a Passo do Red Hat Enterprise Linux.
Captulo 5.
Segurana do Servidor
Quando um sistema usado como um servidor em um rede pblica, torna-se um alvo de ataques. Por esta razo solidicar e trancar os servios de suma importncia para o administrador de sistemas. Antes de aprofundar em questes especcas, voc deve revisar as seguintes dicas gerais para aumentar a segurana do servidor:
Mantenha todos os servios atualizados para proteg-los contra as ameaas recentes. Use protocolos seguros sempre que possvel. Oferea apenas um tipo de servio de rede por mquina sempre que possvel. Monitore todos os servidores cuidadosamente e atente para atividades suspeitas.
Dica uma boa idia usar regras de rewall do IPTables juntamente ao TCP wrappers e xinetd para criar redundncia nos controles de acesso ao servio. Consulte o Captulo 7 para mais informaes sobre a implementao de rewalls com comandos do IPTables.
Mais informaes sobre a congurao do TCP wrappers e xinetd podem ser encontradas no captulo intitulado TCP Wrappers e xinetd do Guia de Referncia do Red Hat Enterprise Linux;. As sub-sees seguintes assumem um conhecimento bsico de cada tpico e focam nas opes de segurana especcas.
42
Este exemplo implementa um banner para vsftpd. Para comear, crie um arquivo de banner. Pode estar em qualquer lugar do sistema, mas deve levar o mesmo nome que o daemon. Neste exemplo, o arquivo chamado /etc/banners/vsftpd. O contedo do arquivo parecido com o seguinte:
220-Hello, %c 220-All activity on ftp.example.com is logged. 220-Act up and you will be banned.
A expresso %c oferece uma gama de informaes do cliente, tais como nome de usurio e nome da mquina ou nome de usurio e endereo IP, para intimidar ainda mais a conexo. O Guia de Referncia do Red Hat Enterprise Linux tem uma lista de outras expresses disponveis para TCP wrappers. Para que este banner seja apresentado em futuras conexes, adicione a seguinte linha ao arquivo /etc/hosts.allow:
vsftpd : ALL : banners /etc/banners/
5.1.1.2. TCP Wrappers e Alertas de Ataque Se uma determinada mquina ou rede for agrada atacando o servidor, o TCP wrappers pode ser usado para alertar o administrador sobre ataques subsequentes desta mquina ou rede atravs da diretiva spawn. Neste exemplo, assuma que um cracker da rede 206.182.68.0/24 foi pego tentando atacar o servidor. Ao inserir a seguinte linha no arquivo /etc/hosts.deny, a tentativa de conexo negada e registrada em um arquivo especial:
ALL : 206.182.68.0 : spawn /bin/ date %c %d >> /var/log/intruder_alert
A expresso %d traz o nome do servio que o atacante estava tentando acessar. Para permitir a conexo e registr-la, insira o informativo spawn no arquivo /etc/hosts.allow.
Nota J que a diretiva spawn executa qualquer comando de linha, crie um script especial para noticar o administrador ou para executar uma srie de comandos na ocasio em que um determinado cliente tenta conectar ao servidor.
5.1.1.3. TCP Wrappers e Registro Aprimorado Se determinados tipos de conexes so mais preocupantes que outras, o nvel de registro pode ser elevado para estes servios atravs da opo severity. Neste exemplo, assuma que qualquer um tentando conectar porta 23 (a porta do Telnet) em um servidor FTP um cracker. Para denotar isso, insira um sinal emerg nos arquivos de registro ao invs do sinal default, info, e negue a conexo. Para fazer isso, insira a seguinte linha no arquivo /etc/hosts.deny:
in.telnetd : ALL : severity emerg
43
Isto usa a facilidade de registro authpriv default, mas eleva a prioridade do valor default info para emerg, o que envia mensagens de registro diretamente ao console.
Isto nega a mquina que tentou conectar porta por 30 minutos. Outros valores aceitveis para o atributo deny_time so FOREVER (sempre), que mantm o banimento efetivo at que o xinetd seja reiniciado, e NEVER (nunca), que permite a conexo e a registra. Finalmente, a ltima linha deve ser:
disable = no
Apesar de usar o SENSOR ser uma boa maneira de detectar e parar conexes de mquinas periogosas, h duas desvantagens:
No funciona contra scans secretos. Um atacante ciente de que voc est rodando o SENSOR pode montar um ataque denial of service contra determinadas mquinas forjando seus endereos IP e conectando porta proibida.
5.1.2.2. Controlando Recursos de Servidor Outra caracterstica importante do xinetd sua habilidade em controlar a quantidade de recursos que os servios sob seu controle podem utilizar. Ele o faz atravs das seguintes diretivas:
cps =
number_of_connections wait_period Determina as conexes permitidas ao servio por segundo. Esta diretiva aceita apenas valores inteiros.
"#!
"
44
instances =
$ $
per_source = rlimit_as =
$ $
number[K|M] Determina a quantidade de "memory address space" que o servio pode ocupar em kilobytes ou megabytes. Esta diretiva aceita tanto um valor inteiro como UNLIMITED. number_of_seconds Determina o tempo em segundos durante o qual um servio pode ocupar a CPU. Esta diretiva aceita tanto um valor inteiro como UNLIMITED.
rlimit_cpu =
Usando estas diretivas pode ajudar a prevenir que qualquer servio xinetd sobrecarregue o sistema, resultando em recusa de servio (denial of service).
Nota Proteger o portmap afeta somente as implementaes do NFSv2 e NFSv3, j que o NFSv4 no o requer mais. Se voc planeja implementar um servidor NFSv2 ou NFSv3, o portmap necessrio e a seo seguinte vlida.
importante usar o TCP wrappers para limitar quais redes ou mquinas tm acesso ao servio
Futuramente, use somente endereos IP ao limitar acesso para o servio. Evite usar estes nomes de mquinas (hostnames), j que eles podem ser forjados atravs do poisoning do DNS e outros mtodos.
45
Dica Consulte o Captulo 7 para mais informaes sobre a implementao de rewalls com comandos do IPTables.
/usr/sbin/rpc.ypxfrd /usr/sbin/yppush
Tambm chamado de servio ypxfrd, esse daemon responsvel pelas transferncias de mapa do NIS atravs da rede. Essa aplicao amplia bancos de dados NIS alterados para servidores NIS Este o servidor daemon do NIS.
mltiplos.
/usr/sbin/ypserv
O NIS bastante inseguro para os padres de hoje. No tem mecanismo de autenticao da mquina e passa toda a sua informao sem criptograa atravs da rede, incluindo uma gama de senhas. Como resultado, tenha muito cuidado ao congurar uma rede que usa NIS. Para complicar ainda mais, a congurao default do NIS essencialmente insegura.
portmap conforme descrito na Seo 5.2, e ento resolver as seguintes questes, como planejamento
da rede.
5.3.2. Use um Nome de Domnio e Nome da Mquina (hostname) NIS parecido com uma senha
Qualquer mquina com um domnio NIS pode usar comandos para extrair informaes do servidor sem autenticao, desde que o usurio saiba o o nome da mquina DNS e o nome de domnio NIS do servidor. Por exemplo: se algum conectar um laptop a uma rede ou violar a rede por fora (e conseguir roubar um endereo IP interno), o seguinte comando revela o mapa de /etc/passwd:
46
ypcat -d
& &
NIS_domain
' '
-h
& &
DNS_hostname
' '
passwd
Se este atacante for um usurio root, poder obter o arquivo /etc/shadow digitando o seguinte comando:
ypcat -d NIS_domain -h DNS_hostname shadow
Nota Se o Kerberos for usado, o arquivo /etc/shadow no estar armazenado em um mapa NIS.
Para dicultar o acesso aos mapas NIS a um atacante, crie uma srie randmica de caracteres para o nome da mquina DNS, tal como o7hfawtgmhwg.domain.com. Similarmente, crie um nome diferente de domnio NIS randomizado . Isto diculta bastante o acesso de um atacante ao servidor NIS.
Alerta Nunca inicie um servidor NIS pela primeira vez sem criar o arquivo /var/yp/securenets.
Essa tcnica no oferece proteo contra ataque de spoong de IP, mas pelo menos impe limites a quais redes o servidor NIS serve.
As seguintes regras do IPTables podem ser determinadas para reforar a qual rede o servidor escuta para estas portas:
iptables -A INPUT -p ALL -s! 192.168.0.0/24 iptables -A INPUT -p ALL -s! 192.168.0.0/24 --dport 834 -j DROP --dport 835 -j DROP
47
Dica Consulte o Captulo 7 para mais informaes sobre a implementao de rewalls com comandos do IPTables.
Importante A verso do NFS inclusa no Red Hat Enterprise Linux, NFSv4, no requer mais o servio portmap, conforme abordado na Seo 5.2. O trfego do NFS agora utiliza TCP em todas as verses (ao invs do UDP) e o requer no uso do NFSv4. O NFSv4 agora inclui a autenticao do Kerberos para usurio e grupo, como parte do mdulo RPCSEC_GSS do kernel. As informaes sobre o portmap ainda so inclusas, j que o Red Hat Enterprise Linux suporta o NFSv2 e NFSv3, que o utilizam.
48
/tmp/nfs/
bob.example.com(rw)
Por outro lado, esta linha do arquivo /etc/exports compartilha o mesmo diretrio com a mquina bob.example.com com permisso somente-leitura, e o compartilha com o mundo com permisses leitura e escrita devido um nico caractere de espao aps o nome da mquina (hostname).
/tmp/nfs/ bob.example.com (rw)
bom praticar a vericao de todos os compartilhamentos do NFS usando o comando showmount para checar o que foi compartilhado.
showmount -e
hostname
5.5.1. FollowSymLinks
Esta diretiva habilitada por default, portanto cuidado ao criar os links simblicos na raiz do documento do servidor Web. Por exemplo: uma m idia prover um link simblico para /.
49
Estas diretivas ativam a navegao em todos os diretrios de usurio, exceto no /root. Para adicionar usurios lista de contas desativadas, adicione uma lista de usurios delimitada por espao na linha UserDir disabled.
**
++
Tambm verique sempre se todos os scripts rodando no sistema funcionam como planejado antes de coloc-los em produo.
Um FTP daemon kerberizado baseado no xinetd que no passa informaes de autenticao atravs da rede.
Acelerador de Contedo Red Hat (tux) Um servidor Web com capacidades de FTP no espao do kernel. Uma implementao auto-suciente do servio FTP orientada segurana.
vsftpd
/etc/vsftpd/vsftpd.conf:
ftpd_banner= insert_greeting_here
Substitua saudao.
insert_greeting_here
Para banners com muitas linhas, melhor usar um arquivo de banner. Para simplicar o gerenciamento de banners mltiplos, coloque todos os banners em um novo diretrio chamado /etc/banners/. O arquivo de banners para conexes FTP, neste exemplo, /etc/banners/ftp.msg. O exemplo abaixo mostra como este arquivo se parece:
#################################################### # Hello, all activity on ftp.example.com is logged.# ####################################################
Nota No necessrio comear cada linha do arquivo com 220, conforme especicado na Seo 5.1.1.1.
Para referenciar este arquivo de banners de saudao do vsftpd, adicione a seguinte diretiva ao arquivo /etc/vsftpd/vsftpd.conf:
banner_file=/etc/banners/ftp.msg
Tambm possvel enviar banners adicionais para conexes entrantes usando TCP wrappers conforme descrito na Seo 5.1.1.1.
Ateno Se voc possibilitar o acesso annimo a um servidor FTP, tome cuidado onde armazena os dados importantes.
5.6.2.1. Upload Annimo Para permitir que usurios annimos faam upload, recomendado criar um diretrio somente-gravao (write-only) em /var/ftp/pub/. Para fazer isso, digite:
mkdir /var/ftp/pub/upload
51
Depois altere as permisses para que usurios annimos no possam ver o que est no diretrio, digitando:
chmod 730 /var/ftp/pub/upload
Alerta Administradores que permitem a usurios annimos ler e gravar em diretrios, frequentemente percebem que seu servidor se torna um depsito de software roubado.
Adicionalmente,
/etc/vsftpd/vsftpd.conf:
anon_upload_enable=YES
abaixo
de
vsftpd,
adicione
seguinte
linha
ao
arquivo
desativar
contas
de
usurio
em
vsftpd,
adicione
seguinte
diretiva
5.6.3.1. Restringindo Contas de Usurio A maneira mais fcil de desabilitar um grupo especco de contas, como o usurio root e aqueles com privilgios sudo, a acessar um servidor FTP, usar um arquivo de lista PAM conforme descrito na Seo 4.4.2.4. O arquivo de congurao PAM para o vsftpd /etc/pam.d/vsftpd. Tambm possvel desativar contas de usurio dentro de cada servio diretamente.
/etc/vsftpd.ftpusers.
52
O nmero de conexes que o servidor pode receber por segundo. Por default, o Sendmail no limita o nmero de conexes. Se um limite for denido e alcanado, conexes futuras tero demora. O nmero mximo de processos-lho que podem ser gerados pelo servidor. Por default, o Sendmail no determina um nmero limite de processos-lho. Se um limite for denido e alcanado, conexes futuras tero demora.
confMAX_DAEMON_CHILDREN
confMIN_FREE_BLOCKS
O nmero mnimo de blocos livres que devem estar disponveis para que o servidor aceite correspondncia. O default so 100 blocos. mensagem. mximo aceitvel (em bytes) para o cabealho de uma
53
Este output mostra que o sistema est rodando o portmap devido presena do servio sunrpc. No entanto, tambm h um servio misterioso na porta 834. Para vericar se a porta est associada lista ocial de servios conhecidos, digite:
cat /etc/services | grep 834
Este comando no retorna nenhum output. Isto indica que enquanto a porta est no intervalo reservado (de 0 a 1023) e requer acesso root para abrir, no est associada a um servio conhecido. Em seguida, verique as informaes sobre a porta usando netstat ou lsof. Para vericar a porta 834 usando netstat, use o seguinte comando:
netstat -anp | grep 834
A presena da porta aberta em netstat arma que um cracker que abrir clandestinamente uma porta num sistema hackeado provavelmente no permitir que esta seja revelada atravs deste comando. A opo [p] tambm revela o id do processo (PID) do servio que abriu a porta. Neste caso, a
54
portmap.
porta aberta pertence ao ypbind (NIS), que um servio RPC administrado juntamente ao servio
O comando lsof revela informaes similares j que capaz de ligar portas abertas a servios:
lsof -i | grep 834
Estas ferramentas podem revelar muitas informaes sobre o estado dos servios rodando em uma mquina. Estas ferramentas so exveis e podem prover uma riqueza de informaes sobre os servios e conguraes da rede. Portanto, recomendamos fortemente que voc consulte as pginas man do lsof, netstat, nmap e services.
Captulo 6.
Redes Privadas Virtuais (Virtual Private Networks)
Empresas com diversos escirtrios frequentemente se conectam atravs de linhas dedicadas por motivos de ecincia e proteo de dados sensveis transitando entre as diferentes localidades. Por exemplo: muitas empresas usam frame relay ou linhas Asynchronous Transfer Mode (ATM) como uma soluo de rede end-to-end para ligar um escritrio aos outros. Esta poder ser uma alternativa cara, especialmente para pequenas e mdias empresas que queiram expandir sem arcar com os altos custos associados a circuitos digitais dedicados, de nvel corporativo. Para atender a esta necessidade, foram desenvolvidas as Redes Privadas Virtuais (Virtual Private Networks - VPNs). Seguindo os mesmos princpios funcionais dos circuitos dedicados, as VPNs permitem a comunicao digital protegida entre duas partes (ou redes), criando uma Rede de rea Ampla (Wide Area Network - WAN) a partir de Redes de reas Locais (LANs) existentes. Ela difere do frame relay ou do ATM em seu meio de transporte. As VPNs transmitem atravs de IP usando datagramas como a camada de transporte, tornando-o um condutor seguro atravs da Internet, para um determinado destino. A maioria das implementaes VPN de software livre incorporam mtodos de criptograa de padro aberto para mascarar futuramente os dados em trnsito. Algumas empresas aplicam solues VPN de hardware para aumentar a segurana, enquanto outras usam software ou implementaes baseadas em protocolos. H diversos fabricantes de solues VPN de hardware como Cisco, Nortel, IBM e Checkpoint. Existe uma soluo VPN baseada em software gratuito para Linux chamada FreeS/Wan, que utiliza uma implementao padronizada do IPSec (ou Internet Protocol Security). Estas solues VPN, independentemente de serem baseadas em hardware ou software, atuam como roteadores especializados situados entre as conexes IP de dois escritrios. Quando um pacote transmitido de um cliente, enviado atravs do roteador ou porta de comunicao (gateway), que ento adiciona informaes de cabealho para roteamento e autenticao, chamado Cabealho de Autenticao (Authentication Header, AH). Os dados so criptografados e agrupados com instrues para resoluo e descriptograa, chamadas Encapsulating Security Payload (ESP). O roteador VPN receptor depura as informaes de cabealho, descriptografa os dados e os roteia ao destino pretendido (uma estao de trabalho ou um ndulo em uma rede). Usando uma conexo redea-rede, o ndulo receptor da rede local recebe os pacotes descriptografados e prontos para processar. O processo de criptograa/descriptograa numa conexo VPN rede-a-rede transparente para o ndulo local. Com um nvel to elevado de segurana, no basta ao cracker interceptar o pacote, mas tambm descriptografar o pacote. Intrusos que aplicarem um ataque man-in-the-middle entre um servidor e o cliente tambm devem ter acesso pelo menos uma das chaves privadas para sesses de autenticao. Como aplicam diversas camadas de autenticao e criptograa, as VPNs so um meio seguro e efetivo para conectar mltiplos ndulos remotos para atuar como uma intranet unicada.
56
6.2. IPsec
O Red Hat Enterprise Linux suporta o IPsec para conectar mquinas e redes remotas entre si usando um tnel seguro em uma rede de transporte comum, como a Internet. O IPsec pode ser implementado usando uma conexo mquina-a-mquina (uma estao de trabalho conectada a outra) ou rede-a-rede (uma LAN/WAN conectada a outra). A implementao do IPsec no Red Hat Enterprise Linux usa Troca de Chave de Internet (Internet Key Exchange, IKE ), um protocolo implementado pelo IETF (Internet Engineering Task Force) para ser usado em autenticao mtua e proteger associaes entre sistemas conectados. Uma conexo IPsec dividida em duas fases lgicas. Na fase 1, um ndulo do IPsec inicia a conexo com o ndulo ou rede remota. O ndulo/rede remota verica as credenciais do ndulo pedinte e ambas partes negociam o mtodo de autenticao da conexo. Nos sistemas Red Hat Enterprise Linux, uma conexo IPsec usa o mtodo de chave pr-compartilhada (pre-shared key) para autenticao do ndulo IPsec. Numa conexo IPsec com chave pr-compartilhada, ambas mquinas devem usar a mesma chave para prosseguir segunda fase da conexo IPsec. Durante a fase 2 de uma conexo IPsec criada uma associao de segurana (security association, SA) entre os ndulos IPsec. Essa fase estabelece um banco de dados de SAs com informaes de congurao, como o mtodo de criptograa, parmetros de troca de chaves de sesses secretas, dentre outras. Essa fase administra a conexo IPsec entre ndulos e redes remotas. A implementao do IPsec usa IKE para compartilhar chaves entre mquinas ao longo da Internet. O deamon do chaveiro racoon responsvel pela distribuio e troca de chaves IKE.
biblioteca que contm a interface socket de gerenciamento da chave de conana PF_KEY entre o kernel do Linux e a implementao do IPsec usada no Red Hat Enterprise Linux.
/sbin/setkey
manipula o gerenciamento da chave e atributos de segurana do IPsec no kernel. Este executvel controlado pelo daemon de gerenciamento da chave racoon. Para mais informaes sobre o setkey, consulte a pgina man (8) do setkey.
/sbin/racoon
o daemon de gerenciamento da chave IKE, usado para administrar e controlar as associaes de segurana e compartilhamento de chaves entre sistemas conectados pelo IPsec. Este daemon pode ser congurado editando o arquivo /etc/racoon/racoon.conf. Para mais informaes sobre o racoon, consulte a pgina man (8) do racoon. o arquivo de congurao do daemon do racoon usado para congurar vrios aspectos da conexo IPsec, incluindo mtodos de autenticao e algoritmos de criptograa usados na conexo. Para uma lista completa das diretivas disponveis, consulte a pgina man (5) do racoon.conf.
/etc/racoon/racoon.conf
A congurao do IPsec no Red Hat Enterprise Linux pode ser feita pela Ferramenta de Administrao de Rede ou manualmente editando os arquivos de congurao de rede e do IPsec. Para mais informae sobre o uso da Ferramenta de Administrao de Rede, consulte o Guia de Administrao de Sistemas Red Hat Enterprise Linux. Para conectar duas mquinas em rede atravs do IPsec, consulte a Seo 6.4. Para conectar uma LAN/WAN a outra atravs do IPsec, consulte a Seo 6.5.
57
O endereo IP das duas mquinas Um nome nico para identicar a conexo IPsec e distingu-la de outros dispositivos e conexes (ex.: ipsec0) Uma chave xa de criptograa ou uma gerada automaticamente pelo racoon Uma chave de autenticao pr-compartilhada, usada para iniciar a conexo e trocar chaves de criptograa durante a sesso
Por exemplo: suponha que as estaes de trabalho A e B queiram se interconectar atravs de um tnel IPsec. Pretendem se conectar usando uma chave pr-compartilhada com o valor foobarbaz e os usurios concordam em deixar que o racoon gere automaticamente e compartilhe uma chave de autenticao entre cada mquina. Ambos usurios das mquinas decidem nomear suas conexes como ipsec0. Veja o arquivo ifcfg da estao de trabalho (workstation) A para uma conexo IPsec mquina-a-mquina com a estao de trabalho B (o nome nico para identicar a conexo neste exemplo ipsec0, portanto o arquivo resultante nomeado como /etc/sysconfig/network-scripts/ifcfg-ipsec0).
DST=X.X.X.X TYPE=IPSEC ONBOOT=yes IKE_METHOD=PSK
A estao de trabalho A substituir X.X.X.X pelo endereo IP da estao de trabalho B, enquanto esta deve substituir X.X.X.X pelo endereo IP da estao de trabalho A. A conexo denida para iniciar na inicializao (boot-up) (ONBOOT=yes) e usa o mtodo de autenticao de chave prcompartilhada (IKE_METHOD=PSK).
/etc/sysconfig/network-scripts/keys-ipsec0) que ambas mquinas precisam para
seguir,
veja
contedo
do
arquivo
da
chave
pr-compartilhada
(chamado
autenticarem-se entre si. O contedo deste arquivo deve ser idntico nas duas estaes de trabalho, e somente o usurio root deve ser capaz de acessar ou gravar (read or write) este arquivo.
IKE_PSK=foobarbaz
Importante Para alterar o arquivo keys-ipsec0 para que somente o usurio root possa acess-lo ou edit-lo, execute o seguinte comando aps criar o arquivo:
chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0
58
Para alterar a chave de autenticao a qualquer momento, edite o arquivo keys-ipsec0 nas duas estaes de trabalho. As duas chaves devem ser idnticas para que a conexo funcione apropriadamente. O prximo exemplo mostra a congurao especca para a conexo da fase 1 mquina remota. O arquivo nomeado como X.X.X.X .conf (X.X.X.X substitudo pelo endereo IP do roteador IPsec remoto). Note que este arquivo gerado automaticamente quando o tnel IPsec ativado e no deve ser editado diretamente.
; remote X.X.X.X { exchange_mode aggressive, main; my_identifier address; proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group 2 ; } }
O arquivo de congurao default da fase 1, criado quando uma conexo IPsec iniciada, contm as seguintes asseres usadas pela implementao IPsec do Red Hat Enterprise Linux:
remote X.X.X.X
Especica que as asseres subsequentes deste arquivo de congurao aplicam-se somente ao ndulo remoto identicado pelo endereo IP X.X.X.X .
exchange_mode aggressive
A congurao default do IPsec no Red Hat Enterprise Linux usa um mtodo de autenticao agressivo, que reduz a sobrecarga da conexo enquanto permite a congurao de diversas conexes IPsec com mquinas mltiplas.
my_identifier address
Dene o mtodo de identicao a ser usado na autenticao dos ndulos. O Red Hat Enterprise Linux usa endereos IP para identicar os ndulos.
encryption_algorithm 3des
Dene a cifra de criptograa usada durante a autenticao. Por default, o Triple Data Encryption Standard (3DES) usado.
hash_algorithm sha1;
Especica o algoritmo hash usado durante a negociao entre ndulos da fase 1. Por default, usa-se o Secure Hash Algorithm verso 1.
authentication_method pre_shared_key
Dene o mtodo de autenticao usado durante a negociao dos ndulos. Por default, o Red Hat Enterprise Linux usa chaves pr-compartilhadas para autenticao.
dh_group 2
Especica o nmero do grupo Dife-Hellman para estabelecer chaves de sesses geradas dinamicamente. Por default, o grupo de 1024 bits usado.
59
Os arquivos /etc/racoon/racoon.conf devem ser idnticos em todos os ndulos IPsec, exceto pela assero include "/etc/racoon/X.X.X.X .conf". Esta assero (e o arquivo que referencia) gerada quando o tnel IPsec ativado. Para a estao de trabalho A, X.X.X.X na assero include o endereo IP da estao de trabalho B. O oposto vale para a estao de trabalho B. Veja a seguir um arquivo racoon.conf tpico quando a conexo IPsec ativada.
# Racoon IKE daemon configuration file. # See man racoon.conf for a description of the format and entries. path include "/etc/racoon"; path pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; sainfo anonymous { pfs_group 2; lifetime time 1 hour ; encryption_algorithm 3des, blowfish 448, rijndael ; authentication_algorithm hmac_sha1, hmac_md5 ; compression_algorithm deflate ; } include "/etc/racoon/X.X.X.X .conf"
Este arquivo racoon.conf default inclui localidades denidas para a congurao do IPsec, arquivos de chaves pr-compartilhadas e certicados. Os campos sainfo anonymous descrevem a SA da fase 2 entre os ndulos IPsec a natureza da conexo IPsec (incluindo os algoritmos suportados de criptograa usados) e o mtodo de troca de chaves. A lista a seguir dene os campos da fase 2:
sainfo anonymous
Denota que a SA pode iniciar anonimamente com qualquer par desde que as credenciais IPsec coincidam.
pfs_group 2
Dene o protocolo Dife-Hellman de troca de chaves, o que determina o mtodo atravs do qual os ndulos do IPsec estabelecem uma chave de sesso temporria mtua para a segunda fase da conectividade IPsec. Por default, a implementao IPsec do Red Hat Enterprise Linux usa o grupo 2 (ou modp1024) dos grupos de troca de chave criptogrca Dife-Hellman. O grupo 2 usa uma exponenciao modular de 1024 bits, evitando que atacantes descriptografem transmisses IPsec anteriores, mesmo que uma chave privada seja comprometida.
lifetime time 1 hour
Este parmetro especica o ciclo de vida de uma SA e pode ser quanticado por hora ou bytes de dados. A implementao IPsec do Red Hat Enterprise Linux especica o tempo de uma hora.
encryption_algorithm 3des, blowfish 448, rijndael
Especica as cifras de criptograa suportadas para a fase 2. O Red Hat Enterprise Linux suporta 3DES, 448-bit Blowsh e Rijndael (a cifra usada no Advanced Encryption Standard ou AES).
authentication_algorithm hmac_sha1, hmac_md5
Lista os algoritmos hash suportados para autenticao. Os modos suportados so os cdigos de autenticao de mensagem sha1 e md5 hashed (HMAC).
60
compression_algorithm deflate
Dene o algoritmo Deate de compresso para suporte IP Payload Compression (IPCOMP), que permite a transmisso potencialmente mais rpida de datagramas IP atravs de conexes lentas. Para iniciar a conexo, reinicialize a estao de trabalho ou execute o seguinte comando, como root, em cada mquina:
/sbin/ifup ipsec0
Para testar a conexo IPsec, execute o utilitrio tcpdump para visualizar os pacotes de rede sendo transferidos entre as mquinas (ou redes) e vericar se esto criptografadas via IPsec. O pacote deve incluir um cabealho AH e deve ser exibido como pacotes ESP. ESP signica que est criptografado. Por exemplo:
17:13:20.617872 pinky.example.com > ijin.example.com: \ AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF)
Figura 6-1. Uma conexo IPSec Rede-a-rede passando por um tnel O diagrama mostra duas LANs separadas pela Internet. Estas LANs usam roteadores IPSEC para autenticar e iniciar uma conexo, usando um tnel seguro atravs da Internet. Os pacotes interceptados em trnsito requerem descriptograa muito forte para craquear a cifra protegendo os pacotes entre estas LANs. O processo de comunicao entre um ndulo no intervalo IP 192.168.1.0/24 e outro no 192.168.2.0/24 completamente transparente aos ndulos, j que o processamento, criptograa/descriptograa e roteamento dos pacotes IPSEC so executados inteiramente pelo roteador IPSEC. As informaes necessrias para uma conexo rede-a-rede incluem:
Os endereos IP externamente acessveis dos roteadores IPsec dedicados Os intervalos de endereos de rede da LAN/WAN servida pelos roteadores IPsec, tal como 192.168.0.0/24 ou 10.0.1.0/24)
61
Os endereos IP dos dispositivos da porta de comunicao (gateway) que roteia os dados dos ndulos da rede para a Internet Um nome nico para identicar a conexo IPsec e distingu-la de outros dispositivos e conexes (ex.: ipsec0) Uma chave xa de criptograa ou uma gerada automaticamente pelo racoon Uma chave de autenticao pr-compartilhada, que inicia a conexo e troca chaves de criptograa durante a sesso
Por exemplo: suponha que a LAN A (lana.example.com) e LAN B (lanb.example.com) queiram se interconectar atravs de um tnel IPsec. O endereo de rede da LAN A est no intervalo 192.168.1.0/24, enquanto a LAN B usa o intervalo 192.168.2.0/24. O endereo IP da porta de comunicao (gateway) 192.168.1.254 para a LAN A e 192.168.2.254 para a LAN B. Os roteadores IPsec esto separados de cada porta de comunicao da LAN e usam dois dispositivos de rede: eth0 atribudo um endereo IP esttico acessvel externamente, que acessa Internet, enquanto eth1 atua como um ponto de roteamento para processar e transmitir pacotes da LAN de um ndulo da rede a outros ndulos da rede remota. A conexo IPsec entre as redes usa uma chave pr-compartilhada com o valor r3dh4tl1nux, e os administradores de A e B concordam em deixar que o racoon gere automaticamente e compartilhe uma chave de autenticao entre cada um dos roteadores IPsec. O administrador da LAN A decide nomear a conexo IPsec como ipsec0, enquanto o administrador da LAN B nomeia a conexo IPsec como ipsec1. Veja o contedo do arquivo ifcfg para uma conexo IPsec rede-a-rede da LAN A. O nome nico para identicar a conexo neste exemplo ipsec1, portanto o arquivo resultante nomeado como /etc/sysconfig/network-scripts/ifcfg-ipsec1.
TYPE=IPSEC ONBOOT=yes IKE_METHOD=PSK SRCGW=192.168.1.254 DSTGW=192.168.2.254 SRCNET=192.168.1.0/24 DSTNET=192.168.2.0/24 DST=X.X.X.X
A conexo congurada para iniciar na inicializao da mquina (ONBOOT=yes) e usa o mtodo de autenticao de chave pr-compartilhada (IKE_METHOD=PSK). O administrador da LAN A indica a porta de comunicao (gateway) de destino, que a porta de comunicao da LAN B (DSTGW=192.168.2.254) e tambm a porta de comunicao de origem, que o endereo IP da porta de comunicao da LAN A (SRCGW=192.168.1.254). O administrador ento indica a rede de destino, que o intervalo de rede da LAN B (DSTNET=192.168.2.0/24) e tambm a rede de origem (SRCNET=192.168.1.0/24). Finalmente, o administrador indica o endereo IP de destino, que o endereo IP externamente acessvel da LAN B (X.X.X.X ).
/etc/sysconfig/network-scripts/keys-ipsecX onde X (onde X 0 para a LAN A e 1 para
Veja
contedo
do
arquivo
da
chave
pr-compartilhada,
chamado
a LAN B), que as duas redes usam para autenticarem-se entre si. O contedo destes arquivos deve ser idntico e somente o usurio root pode ser capaz de acessar ou gravar este arquivo.
IKE_PSK=r3dh4tl1nux
Importante Para alterar o arquivo keys-ipsecX para que somente o usurio root possa acess-lo ou edit-lo, execute o seguinte comando aps criar o arquivo:
62
Para alterar a chave de autenticao a qualquer momento, edite o arquivo keys-ipsecX nos dois roteadores IPsec. As duas chaves devem ser idnticas para que a conexo funcione apropriadamente. Veja o contedo do arquivo de congurao /etc/racoon/racoon.conf da conexo IPsec. Note que a linha include na parte inferior do arquivo automaticamente gerada e aparece somente se o tnel IPsec est rodando.
# Racoon IKE daemon configuration file. # See man racoon.conf for a description of the format and entries. path include "/etc/racoon"; path pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; sainfo anonymous { pfs_group 2; lifetime time 1 hour ; encryption_algorithm 3des, blowfish 448, rijndael ; authentication_algorithm hmac_sha1, hmac_md5 ; compression_algorithm deflate ; } include "/etc/racoon/X.X.X.X .conf"
Veja a seguir o arquivo de congurao especco da conexo rede remota. O arquivo nomeado como X.X.X.X .conf (substitua X.X.X.X pelo endereo IP do roteador IPsec remoto). Note que este arquivo gerado automaticamente quando o tnel IPsec ativado e no deve ser editado diretamente.
; remote X.X.X.X { exchange_mode aggressive, main; my_identifier address; proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group 2 ; } }
Antes de iniciar a conexo IPsec, o encaminhamento de IP deve ser habilitado no kernel. Como root, habilite o encaminhamento de IP numa janela de comandos: 1. Edite /etc/sysctl.conf e dena net.ipv4.ip_forward para 1. 2. Execute o seguinte comando para habilitar a alterao:
sysctl -p /etc/sysctl.conf
Para iniciar a conexo IPsec, reinicialize os roteadores IPsec ou execute o seguinte comando como root em cada roteador:
/sbin/ifup ipsec0
63
As conexes so ativadas e as duas LANs, A e B, so capazes de comunicar entre si. As rotas so criadas automaticamente atravs do script de incio invocado pela execuo do ifup na conexo IPsec. Para visualizar uma lista de rotas da rede, execute o seguinte comando:
/sbin/ip route list
Para testar a conexo IPsec, execute o utilitrio tcpdump no dispositivo externamente rotevel (eth0 neste exemplo) para visualizar os pacotes de rede sendo transferidos entre as mquinas (ou redes) e para vericar se esto criptografados com IPsec. Por exemplo: para vericar a conectividade da LAN A, digite o seguinte:
tcpdump -n -i eth0 host lana.example.com
O pacote deve incluir um cabealho AH e deve ser exibido como um pacote ESP. ESP signica que est criptografado. Por exemplo (barras invertidas denotam a continuao de uma linha):
12:24:26.155529 lanb.example.com > lana.example.com: AH(spi=0x021c9834,seq=0x358): \ lanb.example.com > lana.example.com: ESP(spi=0x00c887ad,seq=0x358) (DF) \ (ipip-proto-4)
64
Captulo 7.
Firewalls
A segurana da informao comumente encarada como um processo e no como um produto. Entretanto, implementaes de segurana padronizadas geralmente utilizam alguma forma de mecanismo dedicado a controlar os privilgios de acesso e a restringir recursos de rede a usurios que so autorizados, identicveis e rastreveis. O Red Hat Enterprise Linux inclui muitas ferramentas poderosas para auxiliar administradores e engenheiros de segurana em questes de controle de acesso em nvel de rede. Juntamente s solues VPN, como CIPE ou IPSec (abordados no Captulo 6), os rewalls so um dos componentes centrais da implementao de segurana na rede. Diversos fabricantes comercializam solues de rewall para suprir todos os nichos do mercado: de usurios domsticos protegendo um PC at solues de centro de dados para proteger informaes corporativas vitais. Firewalls podem ser solues de hardware ligados intermitentemente, como as aplicaes de rewall da Cisco, Nokia e Sonicwall. Tambm h solues de software de rewall proprietrias desenvolvidas para os mercados domstico e corporativo por fabricantes como Checkpoint, McAfee e Symantec. Alm das diferenas entre hardware e software de rewall, tambm h diferenas na maneira como os rewalls funcionam, que separam uma soluo da outra. A Tabela 7-1 detalha trs tipos comuns de rewalls e como eles funcionam: Mtodo Descrio NAT Traduo do Endereo da Rede (Network Address Translation, NAT) insere sub-redes IP internas por trs de um ou um pequeno grupo de endereos IP pblicos, mascarando todos os pedidos para uma fonte ao invs de vrias. Vantagens Desvantagens
Pode ser congurado No pode evitar atividades transparentemente para maldosas uma vez que mquinas em uma LAN usurios se conectam a um servio fora do rewall A proteo de muitas mquinas e servios por trs de um ou mais endereos IP externos simplica tarefas de administrao A restrio de acesso do usurio de e para a LAN pode ser congurada abrindo e fechando portas no rewall/gateway da NAT
0 0
66 Mtodo Descrio Filtro de Pacotes Um rewall de ltragem de pacotes l cada pacote de dados que passa por dentro e por fora de uma LAN. Pode ler e processar pacotes pela informao do cabealho e ltrar o pacote baseado em conjuntos de regras programveis implementadas pelo administrador do rewall. O kernel do Linux tem a funcionalidade embutida de ltragem de pacotes atravs do sub-sistema Netlter do kernel. Firewalls de proxy ltram todos os pedidos de um determinado protocolo ou tipo dos clientes LAN para uma mquina proxy, que ento faz estes pedidos Internet representando o cliente local. Uma mquina proxy atua como um buffer entre usurios remotos maldosos e as mquinas dos clientes internos da rede. Vantagens Personalizvel atravs da funcionalidade front-end No requer nenhuma personalizao no lado do cliente, j que todas as atividades da rede so ltradas no nvel do roteador ao invs do nvel da aplicao J que os pacotes no so transmitidos atravs de um proxy, o desempenho da rede mais rpido devido conexo direta do cliente mquina remota
iptables
Captulo 7. Firewalls Desvantagens No pode ltrar pacotes para contedo similar a rewalls de proxy Processa pacotes na camada do protocolo, mas no pode ltrar pacotes numa camada de aplicao Arquiteturas de rede complexas podem fazer com que o estabelecimento de regras de ltragem de pacotes se torne difcil, especialmente se for usado com o mascaramento do IP ou sub-redes locais e redes DMZ
1 1
1 1
Proxy
D aos administradores o controle de quais aplicaes e protocolos funcionam fora da LAN Alguns servidores proxy podem armazenar dados frequentemente acessados no cache localmente, ao invs de ter que usar a conexo Internet para solicit-los, o que conveniente para reduzir o consumo desnecessrio de banda Os servios proxy podem ser registrados e monitorados de perto, permitindo um controle mais restrito sobre a utilizao de recursos na rede
1 1
Proxies so frequentemente especcos s aplicaes (HTTP, Telnet, etc.) ou restritos a protocolos (a maioria dos proxies funcionam com servios conectados por TCP, somente) Servios de aplicao no podem rodar por trs de um proxy, portanto seus servidores de aplicaes devem usar uma forma separada de segurana em rede Proxies podem se tornar um gargalo na rede, j que todos os pedidos e transmisses passam atravs de uma mesma fonte ao invs de passar diretamente do cliente para um servio remoto
1 1
Captulo 7. Firewalls
67
Ateno Os servios ip6tables devem ser desligados para usar o servio iptables com os seguintes comandos:
service ip6tables stop chkconfig ip6tables off
Para fazer com que o iptables inicie por default sempre que a mquina for inicializada, voc deve alterar o status do nvel de execuo (runlevel) do servio usando chkconfig.
chkconfig --level 345 iptables on
A sintaxe do iptables separada em camadas. A camada principal a corrente (chain). Uma corrente especica o estado no qual um pacote manipulado. O uso o seguinte:
iptables -A chain -j target
O -A acrescenta uma regra no m de um conjunto de regras existente. A corrente o nome da corrente para uma regra. As trs correntes embutidas do iptables (ou seja, as correntes que afetam todos os pacotes que trafegam pela rede) so INPUT, OUTPUT e FORWARD. Estas correntes so permanentes e no podem ser apagadas. A opo -j target (alvo) especica a localidade no conjunto de regras do iptables onde essa regra especca deve pular . Alguns alvos embutidos so ACCEPT, DROP e REJECT. Correntes novas (tambm chamadas de correntes denidas pelo usurio) podem ser criadas usando a opo -N. Criar uma corrente nova til para personalizar ou elaborar regras.
68
Captulo 7. Firewalls
especcos, analisando-os caso-a-caso. As seguintes regras bloqueiam todos os pacotes entrando e saindo de uma porta de comunicao (gateway) de rede:
iptables -P INPUT DROP iptables -P OUTPUT DROP
Adicionalmente, recomendado que qualquer pacote encaminhado trfego de rede roteado do rewall para seu ndulo de destino seja negado tambm, para restringir os clientes internos da exposio inadvertida Internet. Para fazer isso, use a seguinte regra:
iptables -P FORWARD DROP
Aps denir as normas de correntes, voc pode criar novas regras para a sua rede e seus requisitos de segurana em particular. As seguintes sees descrevem algumas regras que voc talvez implemente enquanto constri seu rewall iptables.
As regras so armazenadas no arquivo /etc/sysconfig/iptables e so aplicadas sempre que o servio iniciado, reiniciado ou quando a mquina reinicializada.
Isto permite a navegao Web normal atravs de sites que comunicam atravs da porta 80. Para permitir o acesso a sites seguros (como https://www.example.com/), voc deve abrir a porta 443 tambm.
iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
Importante Ao criar um conjunto de regras do iptables, crucial lembrar que a ordem importante. Por exemplo: se uma corrente especica que todos os pacotes da sub-rede local 192.168.100.0/24 so derrubados e uma outra corrente adicionada (-A) para permitir pacotes do 192.168.100.13 (que
Captulo 7. Firewalls
69
est dentro da sub-rede restrita derrubada), ento a regra adicionada ignorada. Voc deve denir uma regra para permitir 192.168.100.13 primeiro, e ento denir uma regra para derrubar na subrede. Para inserir uma regra arbitrariamente num conjunto de regras existentes, use -I, seguido pela corrente na qual deseja inserir a regra e o nmero da regra (1,2,3,...,n) onde voc deseja que a regra resida. Por exemplo:
iptables -I INPUT 1 -i lo -p all -j ACCEPT
A regra inserida como a primeira no conjunto INPUT para permitir o trfego do dispositivo loopback local.
Algumas vezes voc precisa de acesso remoto LAN de fora dela. Servios seguros, como SSH, podem ser usados para conexo remota criptografada aos servios da LAN. Para administradores com recursos baseados em PPP (tais como bancos de modem ou contas ISP volumosas), o acesso discado pode ser usado para circundar as barreiras do rewall seguramente, j que conexes via modem cam tipicamente por trs de um rewall/gateway por serem conexes diretas. Entretanto, casos especiais podem ser elaborados para usurios remotos com conexes de banda larga. Voc pode congurar o iptables para aceitar conexes de clientes SSH remotos. Por exemplo: para permitir o acesso SSH remoto, as seguintes regras podem ser usadas:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p udp --sport 22 -j ACCEPT
H outros servios para os quais voc talvez precise denir regras. Consulte o Guia de Referncia do Red Hat Enterprise Linux para informaes detalhadas sobre o iptables e suas vrias opes. Estas regras permitem o acesso de entrada e sada para um nico sistema, como um PC conectado diretamente Internet ou rewall/porta de comunicao (gateway). No entanto, no permitem que os ndulos por trs do rewall/porta de comunicao acessem estes servios. Para permitir o acesso LAN a estes servios, voc pode usar o NAT com regras de ltragem do iptables.
70
Captulo 7. Firewalls
Essa regra da acesso para a rede interna aos sistemas por trs do rewall/porta de comunicao. A porta de comuncao roteia os pacotes de um ndulo da LAN para o seu ndulo pretendido, passando todos os pacotes atravs de seu dispositivo eth1.
Nota Por default, a norma IPV4 nos kernels do Red Hat Enterprise Linux desabilita o suporte para encaminhamento do IP, o que evita que caixas rodando o Red Hat Enterprise Linux funcionem como roteadores de borda dedicados. Para habilitar o encaminhamento do IP, execute o seguinte comando:
sysctl -w net.ipv4.ip_forward=1
Se este comando for submetido em uma janela shell, a congurao no lembrada aps uma reinicializao da mquina. Voc pode denir o encaminhamento permanentemente, editando o arquivo /etc/sysctl.conf. Encontre e edite a linha a seguir, substituindo 0 por 1:
net.ipv4.ip_forward = 0
Aceitar pacotes encaminhados atravs do dispositivo IP interno do rewall permite que os ndulos da LAN comuniquem-se entre si; mas no permite que comuniquem-se externamente com a Internet. Para permitir que ndulos da LAN com endereos IP privados comuniquem-se com redes pblicas externas, congure o rewall com o mascaramento do IP, que mascara pedidos de ndulos da LAN com endereos IP do dispositivo externo do rewall (neste caso, eth0):
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
A regra usa a tabela de pacotes coincidentes da NAT (-t nat) e especica a corrente POSTROUTING embutida para a NAT (-A POSTROUTING) no dispositivo de rede externa do rewall (-o eth0). O POSTROUTING (ps-roteamento) permite que os pacotes sejam alterados conforme deixam o dispositivo externo do rewall. O alvo -j MASQUERADE especicado para mascarar o endereo IP privado de um ndulo com o endereo IP externo do rewall/porta de comunicao. Se voc tem um servidor em sua rede interna que deseja disponibilizar externamente, pode usar o alvo -j DNAT da corrente PREROUTING na NAT para especicar um endereo IP e porta de destino para onde encaminhar os pacotes de entrada requisitando uma conexo. Por exemplo: se voc deseja encaminhar os pedidos HTTP de entrada para seu servidor Servidor HTTP Apache dedicado para 172.31.0.23, submeta o seguinte comando:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT \ --to 172.31.0.23:80
Esta regra especica que a tabela NAT usa a corrente PREROUTING embutida para encaminhar pacotes HTTP de entrada exclusivamente para o endereo IP 172.31.0.23 listado.
Nota Se voc tem uma norma default DROP na sua corrente FORWARD, deve adicionar uma regra para permitir o encaminhamento de pedidos HTTP de entrada para possibilitar o roteamento do destino da NAT. Para fazer isso, submeta o seguinte comando:
Captulo 7. Firewalls
71
Esta regra permite o encaminhamento de pedidos de entrada HTTP do rewall para seu destino pretendido no Servidor HTTP Apache por trs do rewall.
Com este comando, todas as conexes HTTP para a porta 80 de fora da LAN so roteadas ao servidor HTTP em uma rede separada do resto da rede interna. Esta forma de segmentao de rede pode ser mais segura que permitir conexes HTTP para uma mquina na rede. Se o servidor HTTP estiver congurado para aceitar conexes seguras, ento a porta 443 deve ser encaminhada tambm.
Voc tambm pode bloquear as conexes externas que tentam espionar intervalos de endereos IP privados a m de inltrarem em sua LAN. Por exemplo: se uma LAN usa o intervalo 192.168.1.0/24, uma regra pode determinar que o dispositivo de rede que faz a interface com a Internet (eth0, por exemplo) derrube quaisquer pacotes parta este dispositivo com um endereo do intervalo de IP de sua LAN. Como norma default, recomendado rejeitar pacotes encaminhados, portanto qualquer outro endereo IP espionado ao dispositivo que faz a interface externa (eth0) rejeitado automaticamente.
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP
Nota H uma distino entre DROP (derrubar) e REJECT (rejeitar) um alvo quando estamos lidando com regras adicionais . REJECT um alvo nega acesso e retorna um erro connection refused (conexo negada) para usurios que tentarem se conectar ao servio. A ao DROP (derrubar) um alvo, como o nome sugere, derruba os pacotes sem nenhum aviso. Administradores podem usar sua prpria prudncia ao lidar com estes alvos; entretanto, para evitar a confuso do usurio e tentativas para continuar conectando, a REJECT alvo recomendada.
72
Captulo 7. Firewalls
(nova) Um pacote requisitando uma nova conexo, como um pedido HTTP. Um pacote que parte de uma conexo existente.
(relacionado) Um pacote solicitando uma nova conexo, mas que parte de uma conexo existente, como conexes FTP passivas, nas quais a porta de conexo 20, mas a porta de transferncia pode ser qualquer uma (de 1024 para cima) no usada. das conexes. Um pacote que no faz parte de nenhuma das conexes da tabela de registro
INVALID (invlido)
Voc pode usar a funcionalidade de estado do registro de conexes do iptables com qualquer protocolo de rede, mesmo que o prprio protocolo seja sem estado/stateless (como o UDP). O exemplo a seguir mostra uma regra que usa o registro de conexo para encaminhar somente os pacotes associados a uma conexo estabelecida:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ALLOW
7.7. ip6tables
A introduo do Protocolo de Internet de ltima gerao chamado IPv6, vai alm do limite de endereos de 32 bits do IPv4 (ou IP). IPv6 suporta endereos de 128 bits e, como tal, redes de transporte cientes do IPv6 so capazes de lidar com um nmero maior de endereos roteveis que o IPv4. O Red Hat Enterprise Linux suporta regras de rewall IPv6 usando o sub-sistema Netlter 6 e o comando ip6tables. O primeiro passo para usar o ip6tables iniciar o servio ip6tables. Isto pode ser feito com o comando:
service ip6tables start
Ateno Os servios iptables devem ser desligados para usar o servio ip6tables exclusivamente:
service iptables stop chkconfig iptables off
Para fazer com que o ip6tables inicie por default sempre que o sistema inicializado, altere o estado do nvel de execuo (runlevel) do servio usando chkconfig.
chkconfig --level 345 ip6tables on
Captulo 7. Firewalls
73
A sintaxe idntica do iptables em todos os aspectos, exceto pelo fato do ip6tables suportar endereos de 128 bits. Por exemplo: as conexes SSH em um servidor de rede ciente do IPv6 podem ser possibilitadas pela seguinte regra:
ip6tables -A INPUT -i eth0 -p tcp -s 3ffe:ffff:100::1/128 --dport 22 -j ACCEPT
Para mais informaes sobre redes com IPv6, consulte a pgina de informaes sobre o IPv6: http://www.ipv6.org/.
O Guia de Referncia do Red Hat Enterprise Linux inclui um captulo detalhado sobre o iptables, incluindo as denies de todas as opes de comandos. A pgina man do iptables tambm contm um breve resumo das vrias opes. Uma lista dos servios mais comuns e seus nmeros de porta pode ser encontrada no Apndice C e no arquivo /etc/services.
http://www.netlter.org/ O site ocial do Netlter e do projeto iptables. http://www.tldp.org/ O Projeto de Documentao do Linux contm diversos guias teis relacionados criao e administrao do rewall. http://www.iana.org/assignments/port-numbers A lista ocial de portas de servios comuns conforme denio da Internet Assigned Numbers Authority.
Red Hat Linux Firewalls, de Bill McCarty; Red Hat Press uma referncia detalhada para a criao de rewalls de rede e servidores usando tecnologia de ltragem open source como Netlter e iptables. Inclui tpicos como a anlise de registros de rewalls, criao de regras de rewall e a personalizao de seu rewall com ferramentas grcas como lokkit. Linux Firewalls, de Robert Ziegler; New Riders Press. contm muitas informaes sobre a criao de rewalls usando o ipchains do kernel 2.2, assim como o Netlter e iptables. Tpicos adicionais de segurana, como questes de acesso remoto e sistemas de deteco de intruso tambm so abordados.
74
Captulo 7. Firewalls
ndice
8. Avaliao de Vulnerabilidade....................................................................................................... 77
Captulo 8.
Avaliao de Vulnerabilidade
Dados o tempo, os recursos e a motivao, um cracker pode violar praticamente qualquer sistema. No nal das contas, todos os procedimentos e tecnologias de segurana atualmente disponveis no podem garantir que seus sistemas esto seguros contra uma intruso. Os roteadores ajudam a proteger suas portas de comunicao (gateways) com a Internet. Firewalls ajudam a proteger a fronteira da rede. Redes Privadas Virtuais (Virtual Private Networks - VPNs) podem transferir dados seguramente atravs de informaes criptografadas. Sistemas de deteco de intruso podem alert-lo sobre atividades malcas. No entanto, o sucesso de cada uma destas tecnologias depende de diversas variveis, incluindo:
O conhecimento dos funcionrios responsveis pela congurao, monitoramento e manuteno das tecnologias A habilidade em consertar e atualizar eciente e rapidamente os servios e os kernels. A habilidade dos responsveis em manter viglia constante sobre a rede.
Dado o dinamismo de sistemas e tecnologias de dados, proteger recursos corporativos pode ser bastante complexo. Devido essa complexidade, geralmente difcil encontrar peritos para todos os seus sistemas. Enquanto possvel ter pessoal com conhecimento em muitas reas de segurana da informao em um alto nvel, difcil reter funcionrios que so peritos em mais do que algumas reas. Isto ocorre principalmente porque cada rea da Segurana da Informao requer constante ateno e foco. A segurana da informao no para.
78
conceito se aplica aos sistemas, redes e dados eletrnicos. Usurios maldosos so os ladres e vndalos de seus dados. Foque em suas ferramentas, mentalidade e motivaes, e voc poder reagir rapidamente s suas aes.
Ateno Tentar explorar vulnerabilidades dos recursos de produo pode resultar em efeitos adversos na produtividade e ecincia de seus sistemas e rede.
Captulo 8. Avaliao de Vulnerabilidade A lista a seguir examina alguns dos benefcios em executar avaliaes de vulnerabilidade.
79
Cria foco pr-ativo na segurana da informao Encontra exploits potenciais antes que os crackers os encontrem Resulta em sistemas sendo mantidos atualizados e consertados Promove o crescimento e ajuda a desenvolver as habilidades dos funcionrios Reduz perdas nanceiras e publicidade negativa
http://www.isecom.org/projects/osstmm.htm The Open Source Security Testing Methodology Manual (O Manual de Metodologia de Testes de Segurana Open Source) - OSSTMM http://www.owasp.org/ The Open Web Application Security Project (O Projeto Livre de Segurana de Aplicaes Web)
80
Os resultados do scan (que podem levar at alguns minutos, dependendo de onde a mquina est localizada) devem se parecer com o seguinte:
Starting nmap V. 3.50 ( www.insecure.org/nmap/ ) Interesting ports on localhost.localdomain (127.0.0.1): (The 1591 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 25/tcp open smtp 111/tcp open sunrpc 443/tcp open https 515/tcp open printer 950/tcp open oftep-rpc 6000/tcp open X11 Nmap run completed -- 1 IP address (1 host up) scanned in 71.825 seconds
O Nmap testa as portas de comunicao mais comuns numa rede para escutar ou esperar servios. Esse conhecimento pode ser til a um administrador que deseja encerrar servios desnecessrios ou no-usados. Para mais informaes sobre o uso do Nmap, consulte o site ocial no endereo: http://www.insecure.org/
8.3.2. Nessus
O Nessus um scanner de segurana full-service. A arquitetura plug-in do Nessus permite que usurios personalizem-no para seus sistemas e redes. Assim como qualquer scanner, o Nessus to bom quanto o banco de dados de assinatura no qual ele se baseia. Felizmente, o Nessus frequentemente atualizado. Suas funcionalidades incluem relatrio completo, scanning da mquina e buscas de vulnerabilidades em tempo real. Lembre-se que pode haver falsos positivos e falsos negativos, mesmo numa ferramenta to poderosa e atualizada como o Nessus.
81
Nota O Nessus no est incluso no Red Hat Enterprise Linux e no suportado. Foi incluso neste documento como uma referncia para usurios que possam se interessar por esta aplicao to conhecida.
Para mais informaes sobre o Nessus, consulte o site ocial no endereo: http://www.nessus.org/
8.3.3. Nikto
O Nikto um scanner de script CGI excelente. Nikto no tem apenas a capacidade de vericar vulnerabilidades CGI, mas tambm de faz-lo de maneira evasiva, para enganar sistemas de deteco de intruso. Acompanha uma documentao excelente que dever ser revisada cuidadosamente antes de executar o programa. Se voc tem servidores Web servindo scripts CGI, o Nikto pode ser um excelente recurso para checar a segurana destes servidores.
Nota O Nikto no est incluso no Red Hat Enterprise Linux e no suportado. Foi incluso neste documento como uma referncia para usurios que possam se interessar por esta aplicao.
Mais informaes sobre o Nikto podem ser encontradas na seguinte URL: http://www.cirt.net/code/nikto.shtml
Nota O VLAD no est incluso no Red Hat Enterprise Linux e no suportado. Foi incluso neste documento como uma referncia para usurios que possam se interessar por esta aplicao.
Mais informaes sobre o VLAD podem ser encontradas no site da equipe RAZOR na seguinte URL: http://www.bindview.com/Support/Razor/Utilities/
82
ndice
9. Deteco de Invaso ...................................................................................................................... 85 10. Resposta ao Incidente ................................................................................................................. 91
Captulo 9.
Deteco de Invaso
Uma propriedade de valor necessita de proteo contra aes de roubo e destruio. Algumas casas so equipadas com sistemas de alarme capazes de deter ladres, noticar as autoridades na ocasio de uma invaso e inclusive alertar o proprietrio quando sua casa estiver sendo incendiada. Tais medidas so necessrias para assegurar a integridade das casas e a segurana de seus proprietrios. A mesma garantia de integridade e segurana tambm deve ser aplicada a sistemas de dados e computadores. A Internet facilitou o uxo de informaes, tanto pessoais como nanceiras. Ao mesmo tempo, tambm deu margem a muitos perigos. Usurios malcos e crackers procuram alvos vulnerveis como sistemas no seguros, sistemas infectados com vrus trojans e redes rodando servios no seguros. So necessrios alarmes para noticar os administradores e membros da equipe de segurana que uma intruso ocorreu para que eles possam agir em tempo real contra tal intruso. Sistemas de deteco de intruso foram elaborados para agir como este sistema de alerta.
86
9.2.1. Tripwire
O Tripwire o IDS do Linux baseado na mquina mais conhecido. A Tripwire, Inc., empresa dos desenvolvedores do Tripwire, recentemente divulgou o cdigo-fonte do software para a verso Linux e o licenciou sob os termos da GNU General Public License. O Tripwire est disponvel no site http://www.tripwire.org/.
Nota O Tripwire no est incluso no Red Hat Enterprise Linux e no suportado. Foi incluso neste documento como uma referncia para usurios que possam se interessar pelo uso desta aplicao conhecida.
Importante Alguns dos comandos da lista seguinte requerem a importao da chave pblica GPG da Red Hat para o chaveiro RPM do sistema. Esta chave verica se os pacotes instalados em seu sistema contm uma assinatura de pacote da Red Hat, o que assegura que seus pacotes foram originados
87
da Red Hat. A chave pode ser importada atribuindo o seguinte comando como root (substituindo version pela verso do RPM instalado no sistema):
rpm --import /usr/share/doc/rpm-
version
/RPM-GPG-KEY
rpm -V nome_do_pacote
A opo -V verica os arquivos do pacote instalado chamado nome_do_pacote. Se no exibir nenhum output e fechar, isto signica que nenhum dos arquivos foi modicado de maneira alguma desde a ltima vez em que o banco de dados RPM foi atualizado. Se houver algum erro, como
S.5....T c /bin/ps
ento o arquivo foi modicado de alguma maneira e voc deve decidir entre guardar o arquivo (como o caso de arquivos de congurao modicados no diretrio /etc/) ou apagar o arquivo e reinstalar o pacote que o contm. A lista a seguir dene os elementos do conjunto de 8 caracteres (S.5....T no exemplo acima) que notica uma falha de vericao.
. ? S 5 M D L U G T
O teste encontrou um arquivo que no pde ser lido, o que provavelmente uma questo de permisso do arquivo
O teste encontrou um arquivo menor ou maior do que era ao ser originalmente instalado no sistema
O teste encontrou um arquivo cuja vericao de consistncia (checksum) md5 no coincide com a consistncia original do arquivo instalado pela primeira vez O teste detectou um erro na permisso ou no tipo do arquivo O teste encontrou um conito em nmero maior/menor no arquivo de dispositivo O teste encontrou um link simblico que foi alterado para outra localizao de arquivo O teste encontrou um arquivo que teve sua propriedade de usurio alterada O teste encontrou um arquivo que teve sua propriedade de grupo alterada O teste encontrou erros de vericao mtime no arquivo
rpm -Va
A opo -Va verica todos os pacotes instalados e procura qualquer falha em seus testes de vericao (parecida com a opo -V, s que seu output mais verbalizado j que est vericando cada pacote instalado).
rpm -Vf /bin/ls
A opo -Vf verica arquivos individualmente em um pacote instalado. Ela pode ser til ao desempenhar uma vericao rpida em um arquivo suspeito.
rpm -K aplicao-1.0.i386.rpm
A opo -K til para checar a consistncia (md5 checksum) e a assinatura GPG de um arquivo de pacote RPM. Pode ser utilizada para vericar se um pacote prestes a ser instalado assinado pela Red Hat ou por qualquer organizao para a qual voc tenha a chave pblica GPG importada para um chaveiro GPG. Um pacote que no tenha sido assinado apropriadamente emitir uma mensagem de erro similar seguinte:
application-1.0.i386.rpm (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#897da07a)
88
Captulo 9. Deteco de Invaso Tenha cuidado ao instalar pacotes no assinados j que no so aprovados pela Red Hat, Inc. e podem conter cdigo malco.
O RPM pode ser uma ferramenta poderosa, como evidenciado por suas diversas ferramentas de vericao de pacotes instalados e arquivos de pacotes RPM. altamente recomendado que voc faa backup dos contedos do diretrio do banco de dados RPM (/var/lib/rpm/) para uma mdia somente-leitura (como um CD-ROM) aps instalar o Red Hat Enterprise Linux. Ao faz-lo, possvel vericar arquivos e pacotes com o banco de dados somente-leitura, ao invs do banco de dados do sistema, j que usurios mal intencionados podem corromper o banco de dados e desviar seus resultados.
Nota Estas aplicaes no esto inclusas no Red Hat Enterprise Linux e no so suportadas. Elas foram inclusas neste documento como referncia para usurios interessados em avali-las.
SWATCH http://www.stanford.edu/~atkins/swatch/ O WATCHer Simples (SWATCH) utiliza arquivos de registro gerados pelo syslog para alertar administradores sobre anomalias baseado em arquivos de congurao do usurio. SWATCH foi desenvolvido para registrar qualquer evento que o usurio queira adicionar ao arquivo de congurao; no entanto, tem sido amplamente adotado como um IDS baseado na mquina. LIDS http://www.lids.org O Sistema de Deteco de Intruso Linux (Linux Intrusion Detection System), LIDS, um conserto do kernel e uma ferramenta de administrao tambm capaz de controlar modicaes de arquivo com listas de controle de acesso (access control lists - ACLs), e proteger processos e arquivos, inclusive do usurio root.
Captulo 9. Deteco de Invaso Spoong do IP (alterao do endereo IP para parecer como outra mquina) ataques denial-of-service poisoning do cache arp (danicao do protocolo) Corrupo do domnio DNS ataques man-in-the-middle
89
A maioria dos IDSs baseados em rede requerem que o dispositivo de rede do servidor do sistema seja congurado para o modo promscuo, que permite o dispositivo a capturar todos os pacotes que passam na rede. O modo promscuo pode ser congurado atravs do comando ifconfig, conforme o seguinte:
ifconfig eth0 promisc
Executando ifconfig sem opes revela que eth0 agora est no modo promscuo (PROMISC).
eth0 Link encap:Ethernet HWaddr 00:00:D0:0D:00:01 inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.252.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:6222015 errors:0 dropped:0 overruns:138 frame:0 TX packets:5370458 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:2505498554 (2389.4 Mb) TX bytes:1521375170 (1450.8 Mb) Interrupt:9 Base address:0xec80 Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:21621 errors:0 dropped:0 overruns:0 frame:0 TX packets:21621 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1070918 (1.0 Mb) TX bytes:1070918 (1.0 Mb)
lo
Ao utilizar uma ferramenta como o tcpdump (incluso no Red Hat Enterprise Linux), possvel visualizar o trfego intenso uindo por uma rede:
tcpdump: listening on eth0 02:05:53.702142 pinky.example.com.ha-cluster > \ heavenly.example.com.860: udp 92 (DF) 02:05:53.702294 heavenly.example.com.860 > \ pinky.example.com.ha-cluster: udp 32 (DF) 02:05:53.702360 pinky.example.com.55828 > dns1.example.com.domain: \ PTR? 192.35.168.192.in-addr.arpa. (45) (DF) 02:05:53.702706 ns1.example.com.domain > pinky.example.com.55828: \ 6077 NXDomain* 0/1/0 (103) (DF) 02:05:53.886395 shadowman.example.com.netbios-ns > \ 172.16.59.255.netbios-ns: NBT UDP PACKET(137): QUERY; BROADCAST 02:05:54.103355 802.1d config c000.00:05:74:8c:a1:2b.8043 root \ 0001.00:d0:01:23:a5:2b pathcost 3004 age 1 max 20 hello 2 fdelay 15 02:05:54.636436 konsole.example.com.netbios-ns > 172.16.59.255.netbios-ns:\ NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 02:05:56.323715 pinky.example.com.1013 > heavenly.example.com.860:\ udp 56 (DF) 02:05:56.323882 heavenly.example.com.860 > pinky.example.com.1013:\ udp 28 (DF)
Note que pacotes no intencionados para a nossa mquina (pinky.example.com) ainda esto sendo scaneados e registrados pelo tcpdump.
90
9.3.1. Snort
Apesar do tcpdump ser uma ferramenta de auditoria importante, no considerado um IDS verdadeiro porque no analisa e aponta anomalias nos pacotes. Ao invs disso, o tcpdump exibe todas as informaes dos pacotes na tela de output ou num arquivo de registro sem anlise nenhuma. Um IDS apropriado analisa os pacotes, aponta transmisses de pacotes potencialmente malcas e as armazena num registro formatado. O Snort um IDS desenvolvido para ser detalhado e correto ao registrar com xito as atividades malcas da rede e noticar os administradores quando potenciais brechas ocorrerem. Snort utiliza a biblioteca padro libcap e o tcpdump como um registro especializado de pacotes. A caracterstica mais premiada do Snort, somada sua funcionalidade, o seu sub-sistema exvel de assinaturas de ataque. Snort tem um banco de dados de ataques constantemente atualizado que pode ser adicionado ou atualizado via Internet. Os usurios podem criar assinaturas baseadas em novos ataques de rede e envi-las s listas de discusso de assinaturas do Snort (http://www.snort.org/lists.html), para beneciar todos os usurios do Snort. Essa tica comunitria em compartilhar elevou o Snort a um dos IDSs mais atualizados e robustos disponveis no mercado.
Nota O Snort no est incluso no Red Hat Enterprise Linux e no suportado. Ele foi incluso neste documento como referncia para usurios interessados em avali-lo.
Para mais informaes sobre o uso do Snort, consulte o site ocial: http://www.snort.org.
Captulo 10.
Resposta ao Incidente
No caso da segurana de um sistema ter sido comprometida, uma resposta ao incidente se faz necessria. responsabilidade da equipe de segurana responder ao problema rpida e efetivamente.
1.
92 Investigao do Incidente Restaurao dos recursos afetados Reportando o indicente aos canais apropriados
Uma resposta a um incidente deve ser decisiva e executada rapidamente. Como h pouco espao para erros, essencial que as prticas de emergncia sejam ensaiadas e os tempos de resposta medidos. Desta maneira, possvel desenvolver uma metodologia que estimule a velocidade e a acuracidade, minimizando o impacto da indisponibilidade de recursos e os potenciais danos causados pelo comprometimento do sistema. Um plano de resposta ao incidente tem diversos requisitos, inclusive:
Um time de peritos internos (uma Equipe de Resposta s Emergncias de Computador ) Um estratgia aprovada e juridicamente revista Suporte nanceiro da empresa Suporte executivo/alta gerncia Um plano de ao factvel e testado Recursos fsicos, como armazenamento redundante, sistemas de standby e servios de backup
10.2.1. A Equipe de Resposta a Emergncias de Computador (The Computer Emergency Response Team - CERT)
O termo Equipe de Resposta s Emergncias de Computador (Computer Emergency Response Team - CERT) refere-se a um grupo de peritos internos preparados para agir rapidamente no caso de uma situao catastrca com computadores. Encontrar as competncias cruciais para uma CERT pode ser um desao. O conceito de pessoal apropriado vai alm das habilidades tcnicas e inclui questes de logstica, como localizao, disponibilidade e desejo de colocar a empresa frente da vida pessoal quando uma emergncia ocorre. Uma emergncia nunca um evento planejado; pode acontecer a qualquer momento e todos os membros da CERT devem aceitar a responsabilidade de responder a uma emergncia a qualquer hora. As equipes tpicas de uma CERT incluem adminsitradores de sistemas e de rede, assim como peritos em segurana da informao. Os administradores de sistema provm o conhecimento e habilidades dos recursos do sistema, inclusive backups de dados, backup de hardware disponvel para uso e outros. Administradores de rede provm seu conhecimento de protocolos de rede e a habilidade em redirecionar o trfego de rede dinamicamente. O pessoal de segurana da informao til para rastrear e investigar detalhadamente as questes de segurana assim como para analisar os sistemas comprometidos post-mortem (aps o ataque). Nem sempre possvel, mas deve haver redundncia no pessoal de uma CERT. Se no for vivel ter uma rea especializada na empresa, ento deve haver treinamento para outras reas sempre que possvel. Lembre-se que se somente uma pessoa tiver as informaes cruciais para a segurana e integridade dos dados, ento a organizao inteira car desamparada na ausncia desta pessoa.
93
de segurana, os perigos de registros pessoais, mdicos ou nanceiros de um cliente vazarem, e a importncia de restaurar os servios em ambiente crticos como hospitais e bancos.
Substitua file-name pelo nome do arquivo de registros do script. Sempre salve o arquivo de registros em outra mdia que no o disco rgido do sistema comprometido um disquete ou CD-ROM so boas opes para este propsito. Ao registrar todas as suas aes, cria-se um rastro de auditoria que pode ser valioso se o atacante for pego.
file-name
94
Este comando cria um nico arquivo chamado image1 usando o tamanho de um bloco de 1k para velocidade. As opes conv=noerror,sync foram o dd a continuar lendo e descarregando os dados mesmo se encontrar setores danicados no disco suspeito. Agora possvel estudar o arquivo imagem resultante ou at tentar recuperar arquivos apagados.
Nota Para informaes detalhadas sobre cada ferramenta, consulte suas respectivas pginas man.
Comando
dd
Funo Cria uma pequena cpia da imagem (ou disk dump) dos arquivos e parties. Combinado vericao dos md5sums de cada imagem, administradores podem comparar uma imagem pr-infrao de uma partio ou arquivo com um sistema que sofreu uma infrao para vericar se as consistncias coincidem.
Exemplo
dd if=/bin/ls of=ls.dd |md5sum ls.dd >ls-sum.txt
95 Exemplo
ps auxw |grep /bin
Funo Encontra trechos de informao (texto) teis dentro de arquivos e diretrios, assim como revela permisses, alteraes de script, atributos de arquivos e muito mais. Utilizado principalmente como um comando casado (piped) com outro, como o ls, ps ou o ifconfig. Imprime os trechos de caracteres imprimveis em um arquivo. mais til para examinar anomalias em arquivos executveis como comandos mail para endereos desconhecidos ou para registrar em arquivos de registro fora do padro.
strings
file
Determina as caractersticas de file /bin/ls arquivos baseado no formato, cdigo, bibliotecas com as quais est ligado (se houver) e tipo de arquivo (binrio, texto ou outros). til para determinar se um executvel, como /bin/ls, foi modicado usando bibliotecas estticas, o que um sinal certeiro de que o executvel foi substitudo por outro instalado por um usurio malco. Busca determinados arquivos em diretrios. uma ferramenta til para procurar na estrutura do diretrio por palavra-chave, data e hora de acesso, permisses e outros critrios. Tambm pode ser til para administradores que executam auditorias gerais do sistema em determinados arquivos ou diretrios. Exibe informaes sobre o status de um arquivo, inclusive a hora do ltimo acesso, permisses, conguraes UID e GID e outras. til para vericar quando um sistema que sofreu infrao foi utilizado ou modicado pela ltima vez.
find -atime +12 -name *log* -perm u+rw
find
stat
stat /bin/netstat
96 Comando
md5sum
Calcula o checksum (vericao de md5sum /usr/bin/gdm consistncia) de 128 bits usando o >>md5sum.txt algoritmo md5 hash. Use este comando para criar um arquivo texto que lista todos os executveis cruciais que so frequentemente modicados ou substitudos em um comprometimento da segurana. Redirecione as somas para um arquivo, a m de criar um simples banco de dados de consistncias, e ento copie o arquivo para uma mdia somente-leitura como um CD-ROM.
97
o sistema de trojans, buracos na segurana e dados corrompidos. A maioria dos rootkits (programas ou pacotes usados por um cracker para obter acesso root em seu sistema), comandos de sistema trojan e ambientes de janela de comandos so desenvolvidos para ocultar atividades malcas de auditorias superciais. Se voc optar pelo conserto, use somente binrios conveis (ex.: a partir de um CDROM montado e somente-leitura).
98
V. Apndices
Esta parte aborda algumas das maneiras mais comuns usadas por intrusos para quebrar a segurana de sistemas de computador ou interceptar dados em trnsito. Esta parte tambm detalha alguns dos servios mais utilizados e os nmeros de suas portas associadas, que podem ser teis a um administrador que pretende atenuar os riscos de ter seus sistemas crackeados.
ndice
A. Proteo ao Hardware e Rede................................................................................................ 101 B. Exploits e Ataques Comuns....................................................................................................... 107 C. Portas Comuns ........................................................................................................................... 111
Apndice A.
Proteo ao Hardware e Rede
A melhor prtica antes de empregar uma mquina em um ambiente de produo ou conectar sua rede Internet determinar as necessidades de sua empresa, e como a segurana pode atender a estes requisitos da maneira mais transparente possvel. J que o objetivo principal do Guia de Segurana do Red Hat Enterprise Linux explicar como proteger o Red Hat Enterprise Linux, um exame mais detalhado da segurana do hardware e da rede fsica est alm do escopo deste documento. No entanto, este captulo apresenta uma breve viso geral do estabelecimento de polticas de segurana em relao a hardware e redes fsicas. Alguns fatores importantes a considerar incluem como os requisitos computacionais e de conectividade so endereados na estratgia de segurana. A seguir, uma explicao detalhada de alguns destes fatores.
A computao envolve mais do que somente estaes de trabalho rodando software. Empresas modernas requerem um grande poder computacional e servios de alta disponibilidade, que podem incluir mainframes, clusters de aplicao ou de computador, estaes de trabalho poderosas e aplicaes especializadas. Com estes requisitos corporativos, entretanto, aumentou a propenso a falhas de hardware, desastres naturais e a interfrencias no ou roubo do equipamento. Conectividade o mtodo atravs do qual o administrador pretende conectar recursos dspares a uma rede. Um administrador pode usar a Ethernet (cabeamento CAT-5/RJ-45 de hub ou de comutador), token ring, cabo coaxial 10-base-2 ou mesmo tecnologias sem-o (802.11x ). Dependendo do meio que o administrador escolher, determinadas mdias e tecnologias de rede requerem tecnologias complementares, como hubs, roteadores, comutadores, estaes base e pontos de acesso. Determinar uma arquitetura de rede funcional facilitar o processo administrativo se surgirem questes de segurana.
A partir destas consideraes gerais, os administradores podem obter uma viso melhor da implementao. A estrutura de um ambiente computacional pode ser baseado em ambos necessidades da corporao e consideraes de segurana uma implementao que atenda uniformemente aos dois fatores.
102
Ethernet comuns usando esta topologia fsica, ento os rings no so comumente empregados, exceto em conguraes legadas ou institucionais com uma grande base de ndulos instalados (em uma universidade, por exemplo). A.1.1.2. Topologia de Canal Linear (Linear Bus) A topologia de canal linear consiste de ndulos conectados a um cabo linear principal terminado (o backbone). A topologia de canal linear requer um mnimo de cabeamento e equipamento de rede, o que a torna a topologia de custo mais baixo. No entanto, o canal linear depende do backbone estar constantemente disponvel, tornando-o um ponto nico de falha, caso seja necessrio coloc-lo ofine ou esteja separado. Topologias de canal linear so comumente usadas em LANs par-a-par (peer-topeer) usando cabeamento coaxial e terminadores de 50-93 ohm nas duas extremidades do canal. A.1.1.3. Topologia Estrela A topologia Estrela (Star) incorpora um ponto central onde os ndulos se conectam e atravs do qual a comunicao passada. Este ponto central, chamado de hub pode ser transmitido ou comutado. Esta topologia introduz um ponto nico de falha no hardware de rede centralizado que conecta os ndulos. Entretanto, devido essa centralizao, as questes de rede que afetam segmentos ou a LAN inteira so facilmente rastreveis para esta fonte nica.
103
104
sobre a criptograa WEP. Ao usar esta norma, um usurio malco externo rede que craquear a criptograa WEP, tambm ter que craquear a criptograa VPN ou SSH. Dependendo do mtodo, pode-se empregar at criptograa de algoritmo DES de 168 bits de fora tripla (3DES), ou algoritmos proprietrios com fora ainda maior. Os administradores que aplicarem estas normas devem restringir protocolos somente-texto (como Telnet ou FTP), j que senhas e dados podem ser expostos usando quaisquer dos ataques mencionados anteriormente. Um mtodo recente de segurana e autenticao, adotado por fabricantes de equipamento de rede, o Wi- Protected Acces (Acesso Sem-o Protegido - WPA). Os administradores podem congurar o WPA em sua rede usando um servidor de autenticao que administra as chaves de clientes que acessam a rede sem-o. O WPA melhor que a criptograa WEP pois usa o Temporal Key Integrity Protocol (Protocolo de Integridade da Chave Temporal - TKIP), um mtodo de usar uma chave compartilhada e associ-la ao endereo MAC da placa da rede sem-o instalada no sistema cliente. Os valores da chave compartilhada e do endereo MAC ento so processados por um vetor de inicializao (IV), que usado para gerar uma chave que criptografa cada pacote de dados. O IV altera a chave cada vez que um pacote transferido, prevenindo os ataques mais comuns s redes sem-o. No entanto, o WPA usando o TKIP tido como uma soluo temporria. Solues usando cifras de criptograa mais fortes (como AES) esto sob desenvolvimento e tm o potencial de aumentar a segurana da rede sem-o no mbito corporativo. Para mais informaes sobre os padres 802.11, consulte a seguinte URL:
http://standards.ieee.org/getieee802/802.11.html
105
Estaes de trabalho de funcionrios no so, na maioria dos casos, potenciais alvos de ataques remotos, especialmente aquelas atrs de um rewall congurado apropriadamente. No entanto, h algumas medidas de proteo que podem ser implementadas para evitar um ataque fsico ou interno aos recursos de estaes de trabalho individualmente. Estaes de trabalho e PCs caseiros modernos usam um BIOS que controla os recursos do sistema no nvel do hardware. Usurios de estaes de trabalho podem determinar senhas administrativas no BIOS para impedir que usurios malcos acessem ou inicializem o sistema. Senhas do BIOS impedem que usurios malcos inicializem o sistema de todas as maneiras, detendo o usurio de acessar rapidamente ou roubar as informaes armazenadas no disco rgido. Mas, se o usurio malco roubar o PC (o caso mais comum de roubo entre viajantes que carregam laptops e outros dispositivos portteis) e lev-lo a um lugar onde ele pode desmontar o computador, a senha do BIOS no evita que o atacante remova o disco rgido. Assim, pode instal-lo em outro PC sem restries de BIOS e acessar o disco rgido para ler seu contedo. Nestes casos, recomendado que estaes de trabalho tenham bloqueios para restringir o acesso ao hardware interno. Dispositivos especiais de segurana, como cabos de ao com cadeados, podem ser ligados ao chassis do PC e do laptop para evitar roubo, assim como bloqueios de chave no prprio chassis para evitar acesso interno. Este tipo de hardware amplamente disponibilizado por fabricantes como Kensington e Targus. O hardware de servidor, especialmente servidores de produo, geralmente montado em racks em salas de servidores. Armrios de servidor comumente possuem portas com trancas; e chassis individuais de servidores tambm esto disponveis com trancas na frente para aumentar a segurana contra o desligamento errneo (ou intencional). As empresas tambm podem usar provedores de co-locao para guardar seus servidores, j ques estes oferecem banda mais alta, suporte tcnico 24h 7 dias por semana e conhecimento em segurana de sistemas e servidores. Este pode ser um meio efetivo de terceirizar as necessidades de segurana e conectividade para transaes HTTP ou servios de streaming media. No entanto, a co-locao pode ter um alto custo, especialmente para pequenas e mdias empresas. As estruturas de co-locao so conhecidas por ser altamente protegidas por seguranas treinados e monitoradas o ininterruptamente.
106
Apndice B.
Exploits e Ataques Comuns
A Tabela B-1 detalha alguns dos exploits e pontos de entrada mais comuns usados por intrusos para acessar recursos de rede de organizaes. As explicaes de como estes exploits so executados e como administradores podem proteger sua rede apropriadamente so muito importantes contra tais ataques. Exploit Senha em branco ou default Descrio Deixar senhas administrativas em branco ou usar a senha default provida pelo fabricante. Isto mais comum em hardware, como roteadores e rewalls, porm alguns dos servios que rodam no Linux podem conter senhas default de administrador (apesar do Red Hat Enterprise Linux no distribu-las). Notas Comumente associado a hardware de rede, como roteadores, rewalls, VPNs e aplicaes de armazenamento anexo rede (network attached storage - NAS); Comum em muitos sistemas operacionais legados, especialmente aqueles que compoem servios (como UNIX e Windows). s vezes, administradores criam algumas contas de usurios privilegiados com pressa e deixam a senha vazia, um ponto de entrada perfeito para usurios maldosos que descobrem a conta. Mais comum em pontos de acesso sem-o e aplicaes de servidor seguro pr-conguradas CIPE (consulte o Captulo 6) contm uma amostra de chave esttica que deve ser alterada antes da aplicao em um ambiente de produo
Servios seguros s vezes empacotam chaves de seurana default para desenvolvimento ou para testes de avaliao. Se estas chaves permanacerem inalteradas e estiverem localizadas em um ambiente de produo na Internet, qualquer usurio com as mesmas chaves default tem acesso a este recurso de chave compartilhada e a quaisquer informaes importantes contidas neste.
108 Exploit Spoong do IP (alterao do endereo IP para parecer como outra mquna) Descrio
Apndice B. Exploits e Ataques Comuns Notas O Spoong bem difcil j que requer que o atacante adivinhe os nmeros de TCP/IP SYN-ACK para coordenar uma conexo que almeje os sistemas, mas h diversas ferramentas disponveis para auxiliar crackers a execut-lo. Depende de almejar sistemas que estejam rodando servios (tais como rsh, telnet, FTP e outros) que utilizam tcnicas de autenticao baseadas na fonte, no recomendadas quando comparadas PKI ou outras formas de autenticao criptografada usadas no ssh ou SSL/TLS. Este tipo de ataque geralmente funciona com protocolos de transmisso somente-texto, como transferncias Telnet, FTP e HTTP. O atacante remoto deve ter accesso a um sistema comprometido em uma LAN para poder executar um ataque deste tipo. Geralmente o cracker usa um ataque ativo (como um spoong de IP ou man-in-the-middle) para comprometer um sistema na LAN Medidas preventivas incluem servios com troca de chave criptogrca, senhas descartveis ou autenticao criptografada para impedir snooping de senha. Tambm recomenda-se a alta criptograa durante as transmisses
Uma mquina remota age como um ndulo em sua rede local, encontra vulnerabilidades em seus servidores e instala um programa backdoor ou trojan horse para obter controle sobre seus recursos de rede.
Coleta de dados que trafegam entre dois ndulos ativos em uma rede atravs do eavesdropping na conexo entre estes dois ndulos.
Apndice B. Exploits e Ataques Comuns Exploit Vulnerabilidades do Servio Descrio Um atacante encontra um defeito ou uma infrao em um servio executado pela Internet atravs desta vulnerabilidade. O atacante compromete o sistema inteiro e quaisquer dados que este possa conter; e tambm possvel que comprometa outros sistemas da rede. Notas
109
Servios baseados em HTTP, tais como o CGI, so vulnerveis a execues de comandos remotos e at mesmo a acesso atravs da janela de comandos. Mesmo que o servio HTTP seja executado por um usurio no-privilegiado, como "ningum", as informaes como arquivos de congurao e mapas de rede podem ser lidas, ou o atacante pode iniciar um ataque denial of service que drena os recursos do sistema ou torna-os indisponveis a outros usurios. s vezes, os servios podem ter vulnerabilidades que passam desapercebidas durante o desenvolvimento e testes. Estas vulnerabilidades (tais como sobrecarregamentos do buffer , nos quais o atacante derruba um servio usando valores arbitrrios que preenchem o buffer da memria de uma aplicao, oferecendo ao atacante uma janela de comandos interativa, a partir da qual ele pode executar qualquer comando) podem oferecer controle administrativo completo a um atacante. Administradores devem certicar-se que os servios no sejam executados com o usurio root e estar atentos a atualizaes de erratas e consertos para suas aplicaes, de fabricantes ou empresas de segurana como CERT e CVE.
Apndice B. Exploits e Ataques Comuns Notas Estaes de trabalho e computadores pessoais so mais propensos a exploits porque os funcionrios no tm a mesma habilidade ou experincia para impedir ou detectar o comprometimento; essencial informar aos indivduos sobre os riscos que correm ao instalar software no autorizado ou abrir arquivos anexos de e-mails no solicitados. Algumas defesas podem ser implementadas de modo que este software de cliente de e-mail no abra ou execute automaticamente arquivos anexos. Adicionalmente, a atualizao automtica do software da estao de trabalho atravs da Red Hat Network ou outros servios de gerenciamento de sistemas, podem aliviar a carga de aplicaes de segurana para um ambiente multi-usurio. O caso de DoS (denial of service) ocorrido em 2000 mais reportado: diversos sites comerciais e governamentais de alto trfego tornaram-se indisponveis por um ataque ping ood coordenado, usando vrios sistemas comprometidos com conexes de banda larga atuando como zumbis, ou ndulos de transmisso redirecionados. Pacotes fonte geralmente so forjados (e tambm retransmitidos), dicultando a investigao da verdadeira origem do ataque. Avanos na ltragem do ingresso (ingress ltering - IETF rfc2267), usando iptables e IDs de Rede como snort, ajudam administradores a rastrear e impedir ataques DoS distribudos.
Atacantes encontram falhas em aplicaes de computadores pessoais e estaes de trabalho (como clientes de e-mail) e executam cdigo arbitrrio, implantando trojans para comprometer ou danicar os sistemas futuramente. Exploits podem ocorrer no futuro se a estao de trabalho comprometida tiver privilgios administrativos sobre o resto da rede.
Ataques Denial of O atacante ou grupo de atacantes Service (DoS) coordena um ataque a recursos de rede ou de servidor de uma empresa enviando pacotes no autorizados para a mquina alvo (um servidor, um roteador ou uma estao de trabalho). Isto fora o recurso a car indisponvel aos usurios legtimos.
Apndice C.
Portas Comuns
As tabelas a seguir listam as portas de comunicao mais comuns usadas pelos servios, daemons e programas inclusos no Red Hat Enterprise Linux. Esta lista tambm pode ser encontrada no arquivo /etc/services. Para acessar uma lista ocial das portas Bem Conhecidas (Well Knnown), Registradas (Registered) e Dinmicas (Dynamic) conforme designadas pela IANA (Internet Assigned Numbers Authority), consulte o site: http://www.iana.org/assignments/port-numbers
Nota A Camada, quando listada, denota se o servio ou protocolo usa TCP ou UDP para transporte. Se no estiver especicada, o servio/protocolo pode usar ambos, TCP e UDP.
A Tabela C-1 lista as Portas Conhecidas (Well Known Ports) conforme denidas pela IANA e so usadas pelo Red Hat Enterprise Linux como as portas de comunicao default para vrios servios, incluindo FTP, SSH e Samba. Nmero da Nome Porta / Camada 1 5 7 9 11 13 17 18 19 20 21 tcpmux rje echo descartar systat daytime qotd msp chargen ftp-data ftp Comentrio
Multiplexador do servio da porta do TCP Entrada de Tarefa Remota Servio Echo Servio zero para teste de conexo Servio de Estado do Sistema para listar as portas conectadas Envia data e hora para a mquina requerente Envia a citao do dia para a mquina conectada Protocolo de Envio de Mensagem Servio de Gerao de Caractere; envia trechos innitos de caracteres Porta de dados do FTP Porta do Protocolo de Transferncia de Arquivos (FTP); por vezes usada pelo Protocolo de Servio de Arquivos (FSP - File Service Protocol) Servio Secure Shell (SSH) O servio Telnet
22 23
ssh telnet
112 Nmero da Nome Porta / Camada 25 37 39 42 43 49 smtp time rlp nameserver nicname tacacs Comentrio
Protocolo de Transferncia de Correspondncia Simples (SMTP- Simple Mail Transfer Protocol) Protocolo de Hora Protocolo de Localidade de Recursos Servio de Nomes da Internet Servio do diretrio WHOIS Sistema de Controle de Acesso do Controlador de Acesso do Terminal para autenticao e acesso baseado no TCP/IP Protocolo de Vericao de Correspondncia Remota servios de nome de domnio (tal como BIND) WHOIS++, servios WHOIS extendidos Servios do Protocolo de Bootstrap (BOOTP); tambm usado pelos servios do Protocolo de Congurao da Mquina Dinmica (Dynamic Host Conguration Protocol, DHCP) Cliente boostrap (BOOTP); tambm usado por clientes do Protocolo de Controle da Mquina Dinmica (DHCP) Protocolo de Transferncia de Arquivos Triviais (TFTP Trivial File Transfer Protocol) Ferramenta de busca e recuperao de documentos de Internet Gopher Servio de Tarefa Remota Servio de Tarefa Remota Servio de Tarefa Remota Servio de Tarefa Remota Servio nger para informaes de contato do usurio Protocolo de Transferncia de HperTexto (HTTP) para servios WWW (World Wide Web) Sistema de autenticao de rede Kerberos Extenso do protocolo telnet Servios de nomes para mquinas SRI-NIC Aplicaes de rede do Ambiente de Desenvolvimento ISO (ISODE) Servidor de nomes da caixa de correspondncia; tambm usado pelo servidor de nomes CSO Telnet remoto Verso 2 do Protocolo do Post Ofce
50 53 63 67
bootpc tftp gopher netrjs-1 netrjs-2 netrjs-3 netrjs-4 nger http kerberos supdup hostname iso-tsap csnet-ns rtelnet pop2
Apndice C. Portas Comuns Nmero da Nome Porta / Camada 110 111 pop3 sunrpc Comentrio
113
Verso 3 do Protocolo do Post Ofce Protocolo da Chamada de Procedimento Remoto (RPC) para execuo de comandos remotos, usado pelo Sistema de Arquivo de Rede (NFS) Protocolos de autenticao e identicao Servios do Protocolo de Transferncia de Arquivos Seguros (SFTP) Servios da Localidade do Protocolo de Cpia Unix-para-Unix (UUCP - Unix-to-Unix Copy Protocol) Protocolo de Transferncia de Notcias de Rede (Network News Transfer Protocol, NNTP) para o sistema de discusso USENET Protocolo de Hora da Rede (NTP - Network Time Protocol) Servio de Nome do NETBIOS usado no Red Hat Enterprise Linux pelo Samba Servio de Datagrama do NETBIOS usado no Red Hat Enterprise Linux pelo Samba Servio de Sesses do NETBIOS usado no Red Hat Enterprise Linux pelo Samba Protocolo de Acesso Mensagem via Internet (Internet Message Access Protocol, IMAP) Protocolo de Administrao de Rede Simples (SNMP Simple Network Management Protocol) Armadilhas SNMP Protocolo de Informaes de Administrao Comum (CMIP - Common Management Information Protocol) Protocolo de Informaes de Administrao Comum (CMIP - Common Management Information Protocol) la de transporte de e-mail MAILQ Protocolo de Controle da Administrao de Exibio do X (XDMCP) Servidor de janelas do NeXTStep Protocolo da Porta de Comunicao da Divisa (Border Gateway Protocol) Servios de sistema de arquivo distribudos Prospero Internet Relay Chat (IRC) Multiplexador UNIX para SNMP Roteamento do AppleTalk
123 137 138 139 143 161 162 163 164 174 177 178 179 191 194 199 201
ntp netbios-ns netbios-dgm netbios-ssn imap snmp snmptrap cmip-man cmip-agent mailq xdmcp nextstep bgp prospero irc smux at-rtmp
114 Nmero da Nome Porta / Camada 202 204 206 209 210 213 at-nbp at-echo at-zis qmtp z39.50 ipx Comentrio
Ligao de nomes do AppleTalk Eco do AppleTalk Informaes da zona do AppleTalk Protocolo de Transferncia de Correspondncia Rpida (QMTP - Quick Mail Transfer Protocol) Banco de dados NISO Z39.50 Troca de Pacotes entre Redes (Internetwork Packet Exchange, IPX), um protocolo de datagrama geralmente usado em ambientes Netware do Novell Protocolo de Acesso a Mensagens via Internet verso 3 LINK / Servio iQuery 3-DNS Servidor de administrao de ta e arquivos FATMEN Tnel RSVP Portmapper do sistema de arquivo Coda Servios de autenticao do sistema de arquivo Coda UNIX LISTSERV Protocolo de Acesso ao Diretrio Lightweight (LDAP Lightweight Directory Access Protocol) Protocolo de Localizao do Servio (SLP - Service Location Protocol) Agente do Protocolo de Internet (IP) Administrador do Protocolo de Internet (IP) Mvel Protocolo de Transferncia de Hypertexto Seguro (HTTPS - Secure Hypertext Transfer Protocol) Protocolo de Paging de Rede Simples Server Message Block (SMB) sobre TCP/IP Servios de alterao da senha e chave do Kerberos Protocolo de administrao da chave da sesso do Photuris Protocolo de Transferncia de Arquivos Assncronos Simples (SAFT - Simple Asynchronous File Transfer) Servios de Segurana Genrica (Generic Security Services, GSS) para o HTTP Rendezvous Point Discovery (RP-DISC) para os servios do Protocol Independent Multicast (PIM) Protocolo de Administrao da Chave e da Associao da Segurana de Internet (ISAKMP - Internet Security Association and Key Management Protocol)
220 245 347 363 369 370 372 389 427 434 435 443 444 445 464 468 487 488 496 500
imap3 link fatserv rsvp_tunnel rpc2portmap codaauth2 ulistproc ldap svrloc mobileip-agent mobilip-mn https snpp microsoft-ds kpasswd photuris saft gss-http pim-rp-disc isakmp
Apndice C. Portas Comuns Nmero da Nome Porta / Camada 535 538 546 547 554 563 iiop gdomap dhcpv6-client dhcpv6-server rtsp nntps Comentrio
115
Protocolo Internet Inter-Orb (IIOP) Mapeador de Objetos Distribudos do GNUstep (GDOMAP - GNUstep Distributed Objects Mapper) Protocolo de Congurao da Mquina Dinmica (DHCP - Dynamic Host Conguration Protocol) verso 6 cliente Protocolo de Congurao da Mquina Dinmica (DHCP - Dynamic Host Conguration Protocol) verso 5 Servio Protocolo de Controle do Stream em Tempo Real (RTSP Real Time Stream Control Protocol) Protocolo de Transporte de Notcias de Rede sobre a SSL (NNTPS - Network News Transport Protocol over Secure Sockets Layer) lista whoami de IDs de usurios Agente de Submisso da Mensagem de Correio (MSA Mail Message Submission Agent) Protocolo de Administrao dos Perifricos de Rede (NPMP - Network Peripheral Management Protocol) local / Sistema de Ordenao Distribuda (DQS - Distributed Queueing System) Protocolo de Administrao dos Perifricos de Rede (NPMP - Network Peripheral Management Protocol) GUI / Sistema de Ordenao Distribuda (DQS - Distributed Queueing System) Indicao do Protocolo de Administrao do HyperMedia (HMMP) / DQS Protocolo de Impresso da Internet (IPP - Internet Printing Protocol) Protocolo de Acesso ao Diretrio Lightweight sobre a SSL (LDAPS - Lightweight Directory Access Protocol over Secure Sockets Layer) Protocolo de Acesso Congurao da Aplicao (ACAP Application Conguration Access Protocol) Servios heartbeat para Clusters de Alta Disponibilidade Administrao do banco de dados kadmin do Kerberos verso 5 (v5) Servios do Kerberos verso 4 (v4) Dicionrio da Rede Catlogo de Telefones da Rede servios de transferncia de arquivos rsync Telnet sobre a Secure Sockets Layer (TelnetS)
611
npmp-gui
Protocolo de Acesso a Mensagens da Internet sobre a SSL (IMAPS - Internet Message Access Protocol over Secure Sockets Layer) Internet Relay Chat sobre Secure Sockets Layer (IRCS) Protocolo do Post Ofce verso 3 sobre SSL (POP3S Post Ofce Protocol version 3 over Secure Sockets Layer)
994 995
ircs pop3s
Tabela C-1. Portas Bem Conhecidas A Tabela C-2 lista as portas especcas do UNIX e abrange os servios desde e-mail a autenticao, dentre outros. Os nomes entre colchetes (ex.: [servio]) so nomes de daemons do servio ou codenome(s) comuns. Nmero da Nome Porta / Camada 512/tcp 512/udp 513/tcp 513/udp 514/tcp 514/udp 515 517/udp 518/udp 519 520/tcp 520/udp 521 525 526/tcp 530/tcp 531/tcp exec biff [comsat] login who [whod] shell [cmd] syslog printer [spooler] talk ntalk utime [unixtime] efs router [route, routed] ripng timed [timeserver] tempo [newdate] courier [rpc] conference [chat] Comentrio
Autenticao para execuo do processo remoto Cliente de Mail (biff) e servio (comsat) assncronos Autenticao Remota (rlogin) daemon whod de autenticao do usurio shell remota (rshell) e cpia remota (rcp) sem autenticao Servio de autenticao do sistema UNIX spooler da impressora em linha (lpr) Servio e cliente de chamada remota talk Cliente e Servio do Network talk (ntalk) remote calling Protocolo de hora do UNIX (utime) Servidor de Nomes Extendidos de Arquivo (EFS Extended Filename Server) Protocolo de Informaes de Roteamento (RIP- Routing Information Protocol) Protocolo de Informaes de Roteamento para o Protocolo de Internet verso 6 (IPv6) Daemon de hora (timed) Tempo Protocolo de Chamada do Processo Remoto de Mensageiro (RPC - Remote Procedure Call) Internet Relay Chat
Apndice C. Portas Comuns Nmero da Nome Porta / Camada 532 533/udp 540/tcp 543/tcp 544/tcp 548 556 netnews netwall uucp [uucpd] klogin kshell afpovertcp remotefs [rfs_server, rfs] Comentrio
117
Servio de newsgroup Netnews Netwall para transmisses de emergncia Servios de cpia UNIX-para-UNIX Autenticao remota do Kerberos verso 5 (v5) Shell remota do Kerberos verso 5 (v5) Protocolo de Arquivamento do Appletalk (AFP) sobre o Protocolo de Controle da Transmisso (TCP) Sistema de Arquivo Remoto de Brunhoff (RFS)
Tabela C-2. Portas Especcas do UNIX A Tabela C-3 lista as portas submetidas pela rede e pela comunidade do software para o IANA, a m de registr-las formalmente: Nmero da Nome Porta / Camada 1080 1236 1300 1433 1434 1494 1512 1524 socks bvcontrol [rmtcfg] h323hostcallsc ms-sql-s ms-sql-m ica wins ingreslock Comentrio
Servios proxy da aplicao de rede SOCKS Servidor de Congurao Remota dos comutadores de rede Gracilis Packetena H.323 telecommunication Host Call Secure Sefrvidor do Microsoft SQL Monitor do Microsoft SQL Cliente Citrix ICA Servidor de Nomes Internet do Microsoft Windows Servios de bloqueio do Sistema de Administrao do Banco de Dados Ingres (DBMS - Database Management System) Prospero no-privilegiado Datametrics / entrada do radius antigo sa-msg-port / entrada do radacct antigo Servio de administrao e transferncia de arquivos Kermit Protocolo de Tunneling da Camada 2 (LT2P - Layer 2 Tunneling Protocol) / Encaminhamento da Camada 2 (L2F - layer 2 forwarding) H.323 telecommunication Gatekeeper Discovery
1718
h323gatedisc
118 Nmero da Nome Porta / Camada 1719 1720 1758 1759/udp 1789 1812 1813 1911 1985 1986 1997 2049 2102 2103 2104 2401 2430/tcp 2430/udp 2431/tcp 2431/udp 2432/udp 2433/tcp 2433/udp 2600 2601 2602 h323gatestat h323hostcall tftp-mcast mtftp hello radius radius-acct mtp hsrp licensedaemon gdp-port nfs [nfsd] zephyr-srv zephyr-clt zephyr-hm cvspserver venus venus venus-se venus-se codasrv codasrv-se codasrv-se hpstgmgr [zebrasrv] discp-client [zebra] discp-server [ripd] Comentrio
H.323 telecommunication Gatekeeper Status H.323 telecommunication Host Call setup Multi-transmisso do FTP Trivial FTP Trivial de Multi-transmisso (MTFTP) Protocolo de comunicao do roteador hello Servios de autenticao e contabilidade da discagem do radius Contabilidade do Radius Protocolo de Transporte Multimdia das Redes Starlight (MTP) Protocolo do Roteador Standby do Cisco Hot Daemon da Administrao de Licensa Cisco Protocolo da Descoberta da Porta de Comunicao Cisco (GDP) Sistema de Arquivo de Rede (NFS) Servidor de mensagens distribudas Zephyr cliente Zephyr Administrador da mquina Zephyr Concurrent Versions System (CVS) cliente/operaes de servidor Administrador de cache Venus para o sistema de arquivo Coda (porta codacon) Administrador de cache Venus para o sistema de arquivo Coda (callback/interface wbc) efeitos colaterais do Protocolo de Controle de Transmisso (TCP) Venus Efeitos colaterais do Protocolo de Datagrama de Usurio Vnus (Venus User Datagram Protocol, UDP) porta do servidor do sistema de arquivo Coda efeitos colaterais do TCP do sistema de arquivo Coda efeitos colaterais do SFTP do UDP do sistema de arquivo Coda Roteamento do Zebrab cliente discp; shell integrada do Zebra servidor discp; daemon do Protocolo de Informaes de Roteamento (ripd)
Apndice C. Portas Comuns Nmero da Nome Porta / Camada 2603 2604 2605 2606 2809 3130 3306 3346 4011 4321 4444 5002 5308 5999 6000/tcp 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 9876 servicemeter [ripngd] nsc-ccs [ospfd] nsc-posa netmon [ospf6d] corbaloc icpv2 mysql trnsprntproxy pxe rwhois krb524 rfe cfengine cvsup [CVSup] x11 [X] afs3-leserver afs3-callback afs3-prserver afs3-vlserver afs3-kaserver afs3-volser afs3-errors afs3-bos afs3-update afs3-rmtsys sd Comentrio
119
Medidor do Servio; daemon do RIP para IPv6 NSC CCS; daemon do Open Shortest Path First (ospfd) NSC POSA; daemon do Protocolo da Porta de Comunicao da Divisa (bgpd) Dell Netmon; OSPF para o dameon do IPv6 (ospf6d) Common Object Request Broker Architecture (CORBA) nomeando localizador de servios Protocolo do Cache da Internet verso 2 (v2); usado pelo servidor de caching do proxy Squid Servio de banco de dados MySQL Proxy transparente servio do Ambiente de Pr-execuo (PXE Pre-execution Environment) Servio remoto Whois (rwhois) tradutor de ticket do Kerberos verso 5 (v5) para a verso 4 (v4) Sistema de transmisso de udio Radio Free Ethernet (RFE) Mecanismo de Congurao (Cfengine - Conguration Engine) ferramenta de atualizao e transferncia de arquivos CVSup Servios do Sistema X Window Servidor de arquivos do Sistema de Arquivo Andrew (AFS - Andrew File System) porta AFS para callbacks do administrador do cache banco de dados dos grupos e usurios do AFS banco de dados da localizao de volumes do AFS servio de autenticao do Kerberos para o AFS Servidor de administrao dos volumes do AFS Servio de interpretao de erros do AFS processo de superviso bsica do AFS atualizador servidor-para-servidor do AFS servio de administrao do cache remoto do AFS Diretor de Sesso para conferncias multi-transmisso de IPs
servios de backup do Arquivador de Disco de Rede Automtico Maryland Avanado (Amanda - Advanced Maryland Automatic Network Disk Archiver) Pretty Good Privacy (PGP) / servidor de chaves pblicas GNU Privacy Guard (GPG) H.323 Call Signal Alternate Daemon dos Pedidos de Backup de Rede Veritas (bprd NetBackup Request Daemon) Administrador do Banco de Dados de Backup de Rede Veritas (bpdbm - NetBackup Database Manager) Java do Backup de Rede Veritas / Protocolo do Microsoft Visual C++ (MSVC) Utilitrio de rede Veritas tBackupde Rede Veritas Daemon de autenticao de VOPIE Veritas Sistema de converso Kana/Kanjic servidores de jogos multi-jogadores do Quake (e relacionados) Wnn6 Kana/Servidor Kanji ferramenta de rastreamento da rede Traceroute
11371 11720 13720 13721 13722 13724 13782 13783 22273 26000 26208 33434
pgpkeyserver h323callsigalt bprd bpdbm bpjava-msvc vnetd bpcd vopied wnn6 [wnn4] quake wnn6-ds traceroute
Notas: a. Comentrio do /etc/services: "A porta 1236 est registrada como bvcontrol, mas tambm usada pelo servidor de congurao remota Gracilis Packeten. O nome ocial est listado como o nome principal, e o nome no-registrado como codenome." b. Comentrio do /etc/services: "As portas numeradas de 2600 a 2606 so usadas pelo pacote zebra sem serem registradas. Os nomes primrios so nomes registrados e os nomes no-registrados usados pelo zebra esto listados como codenomes (aliases)." c. Nota do /etc/services: "Esta porta registrada como wnn6, mas tambm usada sob o nome no-registrado wnn4 pelo pacote FreeWnn." Tabela C-3. Portas Registradas A Tabela C-4 lista as portas relacionadas ao Protocolo de Entrega do Datagrama (DDP) usadas em redes AppleTalk. Nmero da Nome Porta / Camada 1/ddp 2/ddp 4/ddp rtmp nbp echo Comentrio
Protocolo de Administrao da Tabela de Roteamento Protocolo de Ligao de Nomes (Name Binding Protocol) Protocolo Echo do AppleTalk
Apndice C. Portas Comuns Nmero da Nome Porta / Camada 6/ddp zip Comentrio
121
Tabela C-4. Portas do Protocolo de Entrega do Datagrama A Tabela C-5 uma lista das portas relacionadas ao protocolo de autenticao de rede Kerberos. Onde estiver indicado, v5 refere-se ao protocolo do Kerberos verso 5. Note que estas portas no so registradas na IANA. Nmero da Nome Porta / Camada 751 752 754 760 1109 2053 2105 kerberos_master passwd_server krb5_prop krbupdate [kreg] kpop knetd eklogin Comentrio
autenticao do Kerberos Servidor de Senha do Kerberos (kpasswd) Propagao do Kerberos v5 escravo registro do Kerberos Protocolo Post Ofce do Kerberos (KPOP) Des-multiplexador do Kerberos autenticao remota criptografada do Kerberos v5 (rlogin)
Tabela C-5. Portas do Kerberos (Projeto Athena/MIT) J a Tabela C-6 uma lista de portas no-registradas que so usadas por servios e protocolos que podem ser/estar instalados no seu sistema Red Hat Enterprise Linux ou so necessrios para a comunicao entre o Red Hat Enterprise Linux e outros sistemas operacionais. Nmero da Nome Porta / Camada 15/tcp 98/tcp 106 465/tcp 616/tcp 808 871/tcp 901/tcp netstat linuxconf poppassd smtps gii omirr [omirrd] supleserv swat Comentrio
Estado da Rede (netstat) Ferramenta de Administrao do Linux Linuxconf Daemon de alterao da Senha do Protocolo Post Ofce (POPPASSD) Protocolo de Transferncia de Correspondncia Simples sobre Secure Sockets Layer (SMTPS) Interface Interativa do Gated (daemon de roteamento) Servios de espelhamento de arquivo Online Mirror (Omirr) Servidor do Protocolo de Atualizao de Software (Software Upgrade Protocol, SUP) Ferramenta de Administrao Web do Samba (SWAT Samba Web Administration Tool)
122 Nmero da Nome Porta / Camada 953 1127/tcp 1178/tcp 1313/tcp 1529/tcp 2003/tcp 2150 2988 3128/tcp 3455 5432 4557/tcp 4559/tcp 5232 5354 rndc supledbg skkserv xtel suporte [prmsd, gnatsd] cnger ninstall afbackup squid prsvp postgres fax hylafax sgi-dgl noclog Comentrio
Ferramenta de congurao remota Berkeley Internet Name Domain verso 9 (BIND 9) Depurao do Protocolo de Atualizao de Software (SUP - Software Upgrade Protocol) Kana Simples para Kanji (SKK) servidor de input em Japons Sistema de informaes de texto French Minitel Sistema de rastreamento de erros GNATS Finger do GNU Servio de Instalao de Rede sistema de backup cliente-servidor afbackup Cache de proxy Squid Web porta RSVP Banco de dados PostgreSQL Servio de transmisso de FAX (servio antigo) Protocolo cliente-servidor HylaFAX (servio novo) Biblioteca Grca Distribuda SGI Daemon de autenticao do centro de operaes de rede NOCOL (noclogd - NOCOL network operation center logging daemon) Monitoramento de mquina do centro de operaes de rede NOCOL Interface do input dos caracteres Japoneses Canna Secure Shell (SSH) X11 forwarding offset Daemon do Internet Relay Chat (ircd) Servidor de Fontes do X (XFS) Servio proxy do IRC Tircproxy Protocolo de Transferncia de Hipertexto (HTTP) alternado Servio de caching da World Wide Web (WWW) Proxy Transparente Servio de impresso de rede da Hewlett-Packard (HP) JetDirect Programa de spawning Parallel Mandelbrot para o Sistema X Window Servio de backup Amanda sobre o Kerberos
5355 5680/tcp 6010/tcp 6667 7100/tcp 7666/tcp 8008 8080 8081 9100/tcp 9359 10081
hostmon canna x11-ssh-offset ircd xfs tircproxy http-alt webcache tproxy jetdirect [laserjet, hplj] mandelspawn [mandelbrot] kamanda
Apndice C. Portas Comuns Nmero da Nome Porta / Camada 10082/tcp 10083/tcp 20011 20012 22305/tcp 22289/tcp 22321/tcp 24554 27374 60177 60179 amandaidx amidxtape isdnlog vboxd wnn4_Kr wnn4_Cn wnn4_Tw binkp asp tdo do Comentrio
123
Servidor de ndice Amanda Servios de ta Amanda Sistema de autenticao da Rede Digital de Servios Integrados (ISDN - Integrated Systems Digital Network) Daemon da caixa de voz da ISDN (vboxd - voice box dameon) Sistema de input Coreano kWnn Sistema de input Chins cWnn Sistema de input Chins tWnn (Taiwan) Daemon de correspondncia Binkley TCP/IP Fidonet Protocolo de Busca de Endereos Servio de correspondncia compatvel ao FidoNet Ifmail Rede de notcias e correspondncia eletrnica FidoNet
124
ndice Remissivo
Smbolos
802.11x, 103 e segurana, 103 tica do hacker, 9
cupsd, 37
D
dd auditoria de arquivos usando, 94 coletando evidncias com, 94 Denial of Service - DoS (Negao de Servio) distribudos, 4 DMZ (Ver Zona Desmilitarizada (Demilitarized Zone)) (Ver networks)
A
atacantes e riscos, 9 ative sua assinatura, v atualizaes (Ver erratas de segurana) auditoria de arquivos ferramentas, 94
E
equipe de resposta a emergncias de computador, 92 erratas de segurana, 17 aplicando alteraes, 20 atravs do site de erratas da Red Hat, 18 quando reinicializar, 20 via Red Hat Network, 17 exploits e ataques comuns, 107 tabela, 107
B
BIOS no-equivalentes ao x86 senhas, 24 segurana, 23 senhas, 23
F C
coletando evidncias (Ver resposta ao incidente) ferramentas de auditoria de arquivos, 94 dd, 94 le, 94 nd, 94 grep, 94 md5sum, 94 script, 93 stat, 94 strings, 94 consideraes de segurana hardware, 101 redes fsicas, 101 sem-o, 103 transmisso de rede, 102 controles, 5 administrativos, 6 fsicos, 6 tcnicos, 6 convenes documentos, ii cracker hacker de chapu preto, 9 crackers denio, 9 Ferramenta de Congurao dos Servios, 37 ferramentas de comunicao seguras, 40 GPG, 40 OpenSSH, 40 le auditoria de arquivos usando, 94 nd auditoria de arquivos usando, 94 rewalls, 65 de estado, 72 e registro de conexo, 72 e vrus, 71 iptables, 66 normas, 67 pessoal, 39 recursos adicionais, 73 tipos, 65 FTP acesso annimo, 50 apresentando, 49 banner de saudao, 49 contas de usurio, 51 TCP wrappers e, 51 upload annimo, 50 vsftpd, 49
126
G
gestores de incio GRUB senha protegendo, 24 segurana, 24 grep auditoria de arquivos usando, 94
H
hacker de chapu b ranco (Ver hackers) hacker de chapu cinza (Ver hackers) hacker de chapu preto (Ver crackers) hackers chapu branco, 9 chapu cinza, 9 chapu preto (Ver cracker) denio, 9 hardware, 101 e segurana, 104 estaes de trabalho, 104 laptops, 104 servidores, 104
inspeo de estado, 72 estados, 72 normas, 67 recursos adicionais, 73 registro de conexo, 72 estados, 72 regras, 68 comum, 68 encaminhamento (forwarding), 69 NAT, 70, 71 restaurando, 68 salvando, 68 usando, 67
K
Kerberos NIS, 47
L
lpd, 37 lsof, 53
M
md5sum auditoria de arquivos usando, 94 mdulos de autenticao plugveis (pluggable authentication modules - PAM) forando uma senha forte, 28
I
idade da senha, 29 IDS (Ver sistemas de deteco de invaso) introduo, i categorias, usando este manual, i outros manuais do Red Hat Enterprise Linux, i tpicos, i ip6tables, 72 IPsec, 56 congurao, 60 mquina-a-mquina, 57 fases, 56 instalando, 56 mquina-a-mquina, 57 rede-a-rede, 60 iptables, 66 correntes, 67 FORWARD, 69 INPUT, 68 OUTPUT, 68 POSTROUTING (ps-roteamento), 70 PREROUTING (pr-roteamento), 70, 71 e DMZs, 71 e vrus, 71
N
NAT (Ver Traduo do Endereo de Rede (Network Address Translation - NAT)) Nessus, 80 Netlter, 66 recursos adicionais, 73 Netlter 6, 72 netstat, 53 NFS, 47 e Sendmail, 52 erros de sintaxe, 47 planejamento de rede, 47 Nikto, 81 NIS apresentando, 45 IPTables, 46 Kerberos, 47 nome de domnio do NIS, 45 planejando a rede, 45 portas estticas, 46
127
securenets, 46 nmap, 53, 80 verso linha de comando, 80 criando um plano, 91 denio de, 91 e questes legais, 92 equipe de resposta a emergncias de computador (computer emergency response team - CERT), 92 implementao, 93 introduzindo, 91 investigao, 93 post-mortem, 93 reportando o incidente, 97 restaurando e recuperando recursos, 96 restaurando e recuperando recursos, 96 consertando o sistema (patching), 96 reinstalando o sistema, 96 riscos consertos e erratas, 11 estaes de trabalho e PCs, 12, 12 aplicaes, 12 portas abertas, 10 redes, 10 arquiteturas, 10 servidores, 10 administrao desatenta, 11 servios inseguros, 11 root, 31 desativar acesso, 31 limitar acesso, 34 com Administrador de Usurios, 34 e o su, 34 e o sudo, 35 mtodos de desativao, 31 alterar a shell root, 33 com PAM, 33 impossibilitar autenticaes SSH, 33 permitindo acesso, 31 RPM e deteco de intruso, 86 importando a chave GPG, 18 vericando pacotes assinados, 18, 19
O
OpenSSH, 40 scp, 40 sftp, 40 ssh, 40
P
plano de resposta ao incidente, 91 portas comuns, 111 monitorando, 53 portas comuns tabela, 111 portas de comunicao, 111 portmap, 37 e IPTables, 44 e TCP wrappers, 44 post-mortem, 93
Q
questes legais, 92
R
redes, 101 comutadores, 102 e segurana, 101 hubs, 102 segmentao, 104 sem-o, 103 zonas desmilitarizadas (de-militarized zones DMZs), 104 Redes Privadas Virtuais (Virtual Private Networks), 55 IPsec, 56 congurao, 60 instalando, 56 mquina-a-mquina, 57 Redes Wi-Fi (Ver 802.11x) registre sua assinatura, v registro da assinatura, v reportando o incidente, 97 resposta ao incidente coletando evidncias usando o dd, 94 coletando informao ps-infrao, 94
128
S
segurana da estao de trabalho, 23 avaliando BIOS, 23 comunicaes, 23 controle administrativo, 23 rewalls pessoais, 23 gestores de incio, 23 senhas, 23 BIOS, 23 gestores de incio senhas, 24 segurana da senha, 25 e PAM, 28 em uma empresa, 28 ferramentas de auditoria, 29 Crack, 29 John the Ripper, 29 Slurpie, 29 forando, 28 idade, 29 metodologia, 28 senhas fortes, 26 segurana do servidor FTP, 49 acesso annimo, 50 banner de saudao, 49 contas de usurio, 51 TCP wrappers e, 51 upload annimo, 50 vsftpd, 49 NFS, 47 erros de sintaxe, 47 planejamento de rede, 47 NIS, 45 IPTables, 46 Kerberos, 47 nome de domnio do NIS, 45 planejando a rede, 45 portas estticas, 46 securenets, 46 portas monitorando, 53 portmap, 44 Sendmail, 52 e NFS, 52 limitando DoS, 52 Servidor HTTP Apache, 48 diretivas, 48 segurana cgi, 49 TCP wrappers, 41 alertas de ataque, 42 banners, 41 registro, 42 viso geral da, 41
xinetd, 43 gerenciando recursos com, 43 prevenindo DoS (recusa de servio) com, 43 SENSOR armadilha, 43 segurana sem-o, 103 802.11x, 103 sendmail, 37 apresentando, 52 e NFS, 52 limitando DoS, 52 senhas dentro de uma empresa, 28 Servidor HTTP Apache apresentando, 48 diretivas, 48 segurana cgi, 49 servios, 53 servios de co-locao, 104 servios de rede, 36 identicando e congurando, 37 riscos, 36 denial-of-service (negao de servio), 36 sobrecarga do buffer, 36 vulnerabilidade do script, 36 sobrecarga do buffer ExecShield, 37 servios inseguros, 38 rsh, 38 Telnet, 38 vsftpd, 38 Shell EFI segurana senhas, 24 sistema bsico de input e output (Ver BIOS) sistemas de deteco de invaso, 85 baseado em rede, 88 Snort, 90 baseado no servidor, 86 denindo, 85 e arquivos de registro, 86 Gestor de Pacotes RPM (RPM), 86 tipos, 85 Tripwire, 86 Snort, 90 sshd, 37 stat auditoria de arquivos usando, 94 strings auditoria de arquivos usando, 94 su e root, 34 sudo e root, 35
129
T
TCP wrappers alertas de ataque, 42 banners, 41 e FTP, 51 e portmap, 44 registro, 42 tipos de rewall, 65 ltro de pacotes, 65 proxy, 65 traduo do endereo da rede (network address translation - NAT), 65 topologias de rede, 101 canal linear (linear bus), 101 estrela (star), 101 ring, 101 Traduo do Endereo de Rede (Network Address Translation - NAT), 69 com iptables, 69 Tripwire, 86
X
xinetd, 37 gerenciando recursos com, 43 prevenindo DoS (recusa de servio) com, 43 SENSOR armadilha, 43
Z
Zona Desmilitarizada (Demilitarized Zone), 71
U
usurio root (Ver root)
V
viso geral, 1 viso geral de segurana, 1 concluso, 7 controles (Ver controles) denindo segurana em computadores, 1 Denial of Service - DoS (Negao de Servio), 4 evoluo da segurana em computadores, 1 vrus, 4 VLAD the Scanner, 81 VPN, 55 vulnerabilidades avaliando com Nessus, 80 avaliando com Nikto, 81 avaliando com Nmap, 80 avaliando com o VLAD the Scanner, 81 estimativa, 77 denindo, 78 estabelecendo uma metodologia, 79 testes, 78 vrus trojans, 4
Consideraes nais
Os manuais so escritos no formato DocBook SGML verso 4.1. Os formatos HTML e PDF so produzidos usando stylesheets DSSSL personalizadas e scripts jade wrapper personalizados. Os arquivos SGML do DocBook so escritos em Emacs com o auxlio do modo PSGML. Garrett LeSage criou as imagens de alerta (nota, dica, importante, ateno e aviso). Elas podem ser distribudas livremente com a documentao da Red Hat. A Equipe de Documentao de Produtos da Red Hat Linux composta pelas seguintes pessoas: Sandra A. Moore Autora Principal/Mantenedora do Red Hat Enterprise Linux Guia de Instalao para sistemas x86, Itanium, AMD64 e Intel Extended Memory 64 Technology (EM64T da Intel); Autora Principal/Mantenedora do Red Hat Enterprise Linux Guia de Instalao para Arquitetura POWER da IBM; Autora Principal/Mantenedora do Red Hat Enterprise Linux Guia de Instalao para as Arquiteturas IBM S/390 e IBM eServer zSeries John Ha Autor Principal/Mantenedor do Congurando e Administrando um Cluster do Red Hat Cluster Suite; Co-autor/Co-mantenedor do Guia de Segurana do Red Hat Enterprise Linux; Mantenedor dos stylesheets e scripts DocBook personalizados Edward C. Bailey Autor Principal/Mantenedor do Introduo Administrao de Sistemas Red Hat Enterprise Linux; Autor Principal/Mantenedor das Notas de Verso; Autor contribuinte do Guia de Instalao para sistemas x86, Itanium, AMD64 e Intel Extended Memory 64 Technology (EM64T da Intel) do Red Hat Enterprise Linux Karsten Wade Autora Principal/Mantenedora do Red Hat SELinux Guia do Desenvolvimento de Aplicaes; Autora Principal/Mantenedora do Red Hat SELinux Guia das Normas de Escrita Andrius Benokraitis Autor Principal/Mantenedor do Guia de Referncia do Red Hat Enterprise Linux; Co-autor/Co-mantenedor do Guia de Segurana do Red Hat Enterprise Linux; Autor Contribuinte do Guia de Administrao de Sistemas Red Hat Enterprise Linux Paul Kennedy Autor Principal/Mantenedor do Guia do Administrador do Red Hat GFS; Autor Contribuinte do Congurando e Administrando um Cluster do Red Hat Cluster Suite Mark Johnson Autor Principal/Mantenedor do Guia de Administrao e Congurao do Desktop Red Hat Enterprise Linux Melissa Goldin Autora Principal/Mantenedora do Guia Passo a Passo do Red Hat Enterprise Linux A Equipe de Internacionalizao da Red Hat composta pelas seguintes pessoas: Amanpreet Singh Alam tradues para Punjabi Jean-Paul Aubry tradues para o Francs David Barzilay tradues para o Portugus Brasileiro Runa Bhattacharjee tradues para Bengali Chester Cheng tradues para o Chins Tradicional Verena Fuehrer tradues para o Alemo Kiyoto Hashida tradues para o Japons N. Jayaradha tradues para Tamil Michelle Jiyeen Kim tradues para o Coreano Yelitza Louze tradues para o Espanhol Noriko Mizumoto tradues para o Japons Ankitkumar Rameshchandra Patel tradues para Gujarati Rajesh Ranjan tradues para Hindi
132 Nadine Richter tradues para o Alemo Audrey Simons tradues para o Francs Francesco Valente tradues para o Italiano Sarah Wang tradues para o Chins Simplicado Ben Hung-Pin Wu tradues para o Chins Tradicional