Backup Artigo Equipe Final
Upcoming SlideShare
Loading in...5
×
 

Backup Artigo Equipe Final

on

  • 2,786 views

 

Statistics

Views

Total Views
2,786
Views on SlideShare
2,764
Embed Views
22

Actions

Likes
2
Downloads
85
Comments
0

3 Embeds 22

http://bsi07.blogspot.com 19
http://www.bsi07.blogspot.com 2
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Backup Artigo Equipe Final Backup Artigo Equipe Final Document Transcript

  • Plataforma de Ferramentas de Gerenciamento: Visando a Segurança na Rede Ana Claudine Siqueira Corrêa , Fábio Corrêa Rodrigues , João Batista Xavier , Marlison 1 1 1 Henrique Paiva Freitas , Rafael Allan Almeida Batalha Rodrigues , Romário Roberto de 1 1 Pádua Andrade 1 1 Faculdade de Sistemas de Informação – Universidade Federal do Pará (UFPA) annkatlover@gmail.com raf.bsiufpa@gmail.com noturnobsi31@hotmail.com marlisonhbsi@gmail.com randrade2006@gmail.com jb.xavier@hotmail.com Resumo. Vulnerabilidades em redes crescem a cada dia, e isso é motivo de preocupação pra os gerentes que pretendem manter sua rede o mais integra possível. Por esse motivo o gerenciamento deve ser bem administrado, controlado, delimitado e planejado, buscando principalmente a segurança e integridade de seus dados. Tendo em vista esse contexto o presente artigo busca servir como referência apresentando uma plataforma básica de gerência composta de seis ferramentas que visam à segurança de uma rede local. 1. Introdução As redes de computadores estão a cada dia mais vulneráveis a ataques de hackers e crackers. Essa vulnerabilidade é matéria de noticiários na TV, grandes sistemas do governo sendo invadidos, sendo o ataque mais recente ao sistema de energia elétrica controlado pelo governo federal. Isso acontece quase sempre porque essas redes não apresentam uma plataforma de gerenciamento eficaz, que evite esses ataques, protegendo dados sigilosos. Bons administradores devem levar em consideração questões de segurança no desenvolvimento de projetos de redes para que dados e recursos imprescritíveis de uma empresa, por exemplo, não sejam acessados por pessoas e/ou fontes externas não autorizadas, contudo a segurança não se dá de forma total e efetiva. Segundo SOARES(1995) vulnerabilidade é qualquer falha ou fraqueza que pode ser explorada para se ter acesso a um sistema ou os dados que ele contém. Segurança pode ser definida como a minimização das vulnerabilidades dos recursos ou a diminuição do valor de qualquer recurso na rede. Considerando isso, pode-se atentar com mais cuidado para a segurança no gerenciamento de uma rede, estando para isso munido de uma excelente plataforma de gerenciamento que vise principalmente o bloqueio ao acesso de estranhos a sua rede, porém não ignorando a necessidade de prevenir ataques provenientes de usuários internos. Nesse artigo será apresentada uma plataforma de gerenciamento experimental composta por seis ferramentas que, entre outras coisas, vão ajudar a detectar possíveis vulnerabilidades em uma rede e prevenir ataques a essa mesma rede. As ferramentas escolhidas foram: Iptables, Nmap, Nessus, Wireshark, Rootkit Hunter e Lanspy. Para cada ferramenta será apresentada uma breve apresentação e uma demonstração de como a ferramenta pode ser útil na solução do problema. A seção seguinte pretende delimitar o
  • problema principal a ser resolvido e detalhar a preparação do ambiente onde foi realizado o estudo de caso para melhor compreensão do conteúdo deste artigo. 2. Detalhamento do Problema e Ambiente de Configuração O problema definido para estudo foi a exploração de vulnerabilidades e possibilidades de ataque, ou seja, manutenção da segurança. Portanto a plataforma construída usando as seis ferramentas já citadas se propõe a detectar mudanças ou anomalias em redes levando o gerente a analisar a situação através dos dados coletados e tomar providências para sanar as deficiências nela encontradas. Como a plataforma visa apenas à segurança, é necessário que esta trabalhe paralelamente a mais ferramentas de gerência que executem contabilidade de inventário e levantamento de desempenho para maior eficácia. A instalação e configuração das ferramentas foi realizada no laboratório L1 em uma máquina com Sistema Operacional Ubuntu/Linux e Windows XP rodando em uma máquina virtual. Estas ferramentas são todas freeware, não precisam de licença paga para uso. Algumas das ferramentas abordadas e dependências necessárias não vêm no repositório padrão do Ubuntu, sendo portanto necessário atualizar o repositório. Para atualizar o repositório, deve-se adicionar algumas linhas no arquivo /etc/apt/sources.list. Esta operação é detalhada no fórum oficial da distribuição ubuntu, sendo que a configuração da sources.list utilizada neste estudo está disponível no tópico http://ubuntuforum-br.org/index.php?topic=50071.0 . Antes da configuração das ferramentas escolhidas, é necessário preparar o ambiente para a instalação dos aplicativos, atualizando a lista de pacotes e instalando a máquina virtual, para isso deve-se executar os comandos: # apt-get update # apt-get upgrade # apt-get install virtualbox A configuração da máquina virtual não será abordada nesse artigo, mas pode ser acessada através dos endereços http://www.virtualbox.org e http://www.vivaolinux.com.br/ artigo/Como-configurar-e-instalar-o-VirtualBox/. Uma vez preparado o ambiente, pode-se iniciar a instalação e os testes com as ferramentas de gerenciamento, os processos serão detalhados nas seções seguintes. Todas as opções adicionais das ferramentas abordadas, com exceção do Lanspy, podem ser acessadas através do manual ou help que acompanham os pacotes através dos comandos: $ man <nome_da_ferramenta> $ <nome_da_ferramenta> --help
  • 3. Explorando Brevemente as Ferramentas Iptables, Nmap, Nessus, Wireshark, Rootkit Hunter e Lanspy Como dito anteriormente, a plataforma de gerenciamento consistirá em um conjunto de seis ferramentas, que serão descritas abaixo. Para cada uma dessas ferramentas será apresentada uma breve descrição seguida de uma demonstração do uso da ferramenta de forma prática, procurando focar o problema em questão, vulnerabilidades na rede. 3.1. Wireshark O Wireshark é o melhor analisador de tráfego de rede que se conhece. Ele verifica os pacotes transmitidos pela placa de rede e placa de fax modem, por exemplo. É um sniffer, um software voltado para detectar problemas de rede, conexões suspeitas e qualquer outra atividade relacionada à rede. O programa funciona basicamente analisando os pacotes recebidos e organiza-os por protocolo. Todo o tráfego de entrada e saída é analisado e mostrado em uma lista de fácil navegação. Com este analisador de protocolos o gerente da rede pode controlar tudo o que os usuários estão acessando. Dessa forma ele pode detectar a ocorrência de alguma irregularidade, algum intruso. 3.1.1. Utilizando o wireshark Após iniciar o programa, será necessário escolher uma interface para assim poder analizar o tráfego de pacotes naquela interface. Clicando no ícone "Live list of the capture interfaces", você escolherá a interface, após isso é necessário clicar em "Start". Assim o software começará a analisar todo o tráfego de pacotes que passar pela interface. Figura 1. Interface do Wireshark. View slide
  • O wireshark permite fazer filtros dos pacotes, caso verifique-se que o tráfego de pacotes seja muito grande na rede. Você faz isso clicando em "Expression", quando então irá aparecer uma lista para filtrar esses pacotes, tornando fácil a análise de cada pacote. Dessa forma você somente o pacotes que desejar analisar. Figura 2. Filtro de pacotes por protocolo. O wireshark lhe permite escolher as opções de captura, ou seja, você pode capturar pacotes endereçados a todas as máquinas da rede ou então pacotes endereçados apenas a sua máquina. Caso escolha a primeira opção deixe marcado a opção "Capture packets in promiscuous mode". O software também lhe permite ver os pacotes no momento em que são capturados ou você pode capturá-los para vê-los posteriormente. Caso você queira ver os pacotes enquanto são capturados, deixe a opção "Update list of packets in real time", marcada. E ainda há uma opção para você parar a captura de pacotes depois de uma certa quantidade de dados ser capturados. 3.2. Iptables No Linux, a filtragem de pacotes por firewall ocorre dentro do kernel, através de um framework chamado netfilter. Esse framework realiza a filtragem de todos os pacotes que atravessam as interfaces de redes do firewall. Versões mais antigas do kernel do linux apresentavam o ipchains como modulo de comunicação com o Netfilter. A partir da versão 2.4. do kernel, houve uma reformulação nos comandos do ipchains, dando origem ao iptables. O iptables veio de modo a substituir o ipchains e ipfwadm e tem como característica fundamental manter estabilidade e uma melhor flexibilidade na implementação de regras de filtragem de pacotes do que seu antecessor ipchains. View slide
  • 3.2.1. Funcionamento do IpTables Segundo Elgio Schlemer, o iptables usa o conceito de "ganchos" do Netfilter, permitindo avaliar um datagrama em alguns pontos dentro do kernel. Desse modo pode-se aplicar as lista de regras de filtragem tanto em pacotes que chegam a maquina através da rede, quanto pacotes gerados na maquina com o destino a própria maquina. Basicamente o iptables se baseia em pares de regras e ações. As regras definem em quais pacotes atuar e as ações definem qual atitude deve ser tomada quando um pacote bater com a regra em questão. As regras e ações são armazenadas pelo iptables listas de tabelas. Além de realizar suas tarefas de forma veloz, segura, eficaz e econômica, apresenta um leque de possibilidades tais como: • Implementação de filtros de pacotes; • Desenvolvimento de QOS sobre o tráfego; • suporte a Source Network Address Translation (SNAT) e DNAT; • Direcionamento de endereços e portas; • Mascaramento de tráfego; • Detecção de fragmentos; • Monitoração de tráfego; • Bloqueio de ataque de Spoofing, Syn-Flood, DOS scanners ocultos, pings da morte, entre muitos outros. 3.2.2. Tabelas IPTables O iptables possui tabelas onde ficam armazenados às regras para filtragem de pacotes, assim ao grosso modo iptables é um banco de dados sobre regras de filtragem de pacotes. Das tabelas existentes no iptabes as mais importantes são as tabelas Filter, Nat e Mangle. 3.2.2.1. Tabela Filter Nessa tabela estão contidas as regras que determinam se um pacote deve ser aceito ou não pelo firewall. As regras que estão inseridas nessa tabela não podem modificar/alterar as configurações dos pacotes analisados. 3.2.2.2. Tabela NAT A tabela NAT (Network Address Translation) possui um conjunto de regras para roteamento de pacotes que entram na interface de rede. As regras definidas na tabela NAT têm o privilegio de alterar as características como destino e origem de um pacote. Assim como a tabela filter, a tabela NAT possui três conjuntos de regras: PREROUTING, POSTROUTING e OUTPUT.
  • 3.2.2.3. Tabela Mangle Implementa alterações especiais em pacotes em um nível mais complexo. A tabela mangle pode alterar a prioridade de entrada e saída de um pacote baseado no type of service (TOS) ao qual o pacote se destinava. 3.2.3. Opções Adicionais Os comandos das chains são definidos por: • -A: adiciona um nova entrada ao fim da lista de regras; • –D: apaga uma regra específica da lista; • –L: exibe as regras existentes na lista; • –P: altera a política padrão das chains. Inicialmente, todas as chains estão setadas como ACCEPT, ou seja, aceitam todo e qualquer tipo de tráfego; • –F: este comando remove todas as entradas adicionadas a lista de regras sem alterar a política padrão (-P); • –I: insere uma nova regra ao início da lista de regras, contrário do comando - A; • –R: substitui uma regra já adicionada por outra; • –N: este comando nos permite inserir ou criar uma nova chain na tabela específica. • –E: renomeia uma chain; • –X: apaga uma chain criada pelo administrador do Firewall. As seguintes ações pode serem configuradas: • -p: especifica o protocolo aplicado a regra. Pode ser qualquer valor numérico • Especificado no arquivo /etc/protocol ou o próprio nome do protocolo (TCP, UDP, ICMP, etc...); • –i: especifica a interface de entrada a ser utilizada. Como um Firewall possui mais de uma interface, esta regra acaba sendo muito importante para distinguir a que interface de rede o filtro deve ser aplicado. • –o: especifica a interface de saída a ser utilizada e se aplica da mesma forma que a regra –i, porém somente as regras de OUTPUT e FORWARD se aplicam as regras; • –s: especifica a origem do pacote ao qual a regra deve ser aplicada. A origem pode ser um host ou uma rede; • –d: especifica o destino do pacote ao qual a regra deve ser aplicada. Sua utilização se dá da mesma maneira que a a opção –s; • !: significa exclusão e é utilizada quando se deseja aplicar um exceção a um regra. É utilizada juntamente com as opções –s, -d, -p. –i. –o; • –j: define o alvo (target) do pacote caso o mesmo se encaixe em uma regra;
  • • --sport: porta de origem do pacote, com está opção é possível aplicar filtros com base na porta de origem do pacote. Somente a aplicados os protocolos TCP ou UDP; • --dport: porta de destino, especifica a porta de destino do pacote e funciona da forma similar a regra –sport. • Os seguintes alvos podem ser configurados: • ACCEPT: corresponde a aceitar, ou seja, permitir que a entrada e passagem do pacote em questão; • DROP: corresponde a descartar um pacote que é conduzido a este alvo (Target) é descartado imediatamente. O Target DROP não informa ao dispositivo emissor do pacote o que houve; • REJECT: corresponde a rejeitar um pacote conduzido para este alvo (Target) é automaticamente descartada, a diferença do REJECT para o DROP é que o mesmo retorna uma mensagem de erro ao host emissor do pacote informando o que houve; • LOG: cria uma entrada de log no arquivo /var/log/messages sobre a utilização dos demais alvos (Targets), justamente por isso deve ser utilizado antes dos demais alvos. • RETURN: retorna o processamento do chain anterior sem processar o resto do chain atual; • QUEUE: encarrega um programa em nível de usuário de administrar o processamento de fluxo atribuído ao mesmo; • SNAT: altera o endereço de origem das máquinas clientes antes dos pacotes serem roteados; • DNAT: altera o endereço de destino das máquinas clientes; • REDIRECT: realiza o redirecionamento de portas em conjunto com a opção --toport; • TOS: prioriza a entrada e saída de pacotes baseados em seu tipo de serviço, informação que esta no header do IPV4. (BORSCHEID 2005) 3.3. Nmap Nmap é um poderoso e eficiente portscan (varredor de porta) capaz de gerar respostas em tempo hábil da situação das portas TCP e UDP de um ou inúmeros computadores de uma rede. Esta ação é importante, pois uma vez sendo sabedor de quais portas estão abertas pode-se o quanto mais rápido possível recuperar-las e se proteger contra prováveis ataques de criminosos. 3.3.1. Utilizando o Nmap Para usufruir de todas as funcionalidades do Nmap você precisa estar logado como superusuario/root (#) em um terminal. Para começar pode-se realizar a varredura diretamente em uma máquina na rede, através do seguinte comando:
  • # nmap <ip_da_maquina_a_ser_escaneada> Exemplo: # nmap 10.125.100.20 Caso queira escanear de uma única vez uma faixa inteira de endereços, digite: # nmap <faixa_de_endereços> Exemplo: # nmap 10.125.100.20-40 Se você acrescentar a opção “-sV” terá mais detalhes da maquina # nmap -sV <ip_da_maquina_a_ser_escaneada > Outra opção significativa é “-O” o qual faz com que o nmap identifique qual é o Sistema Operacional (SO) utilizado pelas máquinas dispersas na rede. # nmap -O <faixa_de_ip’s> A opção “-sS” dificulta o reconhecimento de invasão por parte das máquinas-alvo. Essa possibilidade de se reconhecer o agente da scans torna-se real quando a maquina-alvo tem instalado uma espécie de detector de intrusos como é o caso do Snort. # nmap -sS <faixa_de_ip’s> Ao acrescentar opção “-p” é possivel realizar varreduras em uma porta específica. # nmap -sS -p <porta> <faixa_de_ip’s> # nmap -sS -p 0-65535 10.125.100.1-254 3.4. Lan Spy A ferramenta Lan Spy é um scanner de segurança de rede, que permite obter informações diferentes sobre computadores: Domínio e nomes de NetBios, endereços MAC, informações do servidor, Domínio e informações sobre o controlador de domínio, controle remoto, Tempo, Discos, Transportes, usuários, os usuários globais e grupos locais, As definições de política, recursos compartilhados, sessões, abrir arquivos, serviços, registro de eventos e informações de log. Esse programa apresenta um conjunto de utilitários de redes facilitando a vida do administrador, apresentando também uma interface gráfica amigável para realizações de suas tarefas. È importante ressaltar que o Lan Spy roda na plataforma Windows.
  • A ferramenta Lan Spy apresenta as seguintes informações sobre usuários remotos: *Ping * Nome de Domínio * Nomes NetBios * Endereço MAC * Informações do servidor * Domínio (workgroup) de informação * Os controladores de domínio * Controle Remoto * Time * Discos * Transportes * Usuários * Usuários logados * Os grupos globais * Os grupos locais * As opções de segurança * Recursos compartilhados * Sessões * Abrir arquivos * Serviços * Processos * Registro * Registro de eventos *Scanner de portas TCP *UDP port scanner 3.5. Nessus O Nessus é uma ferramenta de auditoria para segurança de redes, muito utilizada na detecção e correção de PCs de uma rede local. Tem como principal caracteŕistica realizar varreduras de portas detectando servidores ativos e simulando invasões para detectar vulnerabilidades. Uma característica importante é que o Nessus procura por servidores ativos não apenas nas portas padrão, mas em portas TCP. Ele é capaz de detectar uma vulnerabilidade no seu Apache (Servidor), mesmo que ele esteja ativo na porta 46580 por exemplo. 3.5.1. Utilizando o Nessus Depois de instalado você precisa criar um login de usuário para utiliza-lo .Este login é válido apenas para o Nessus, não é um login de sistema. Para criar o login, chame o programa nessus – adduser. Ele pedirá o login e senha, o tipo de autenticação (escolha sempre o cipher) e permitirá que você adicione regras para o usuário. Login:seu nome Password:mais_que_12_caracteres
  • Authentification:cipher Rules: Is that ok(y/n)?y Depois de criar o usuário rode o comando nessus-mkcert que criará um certificado SSL pra o servidor Nessus. Esta etapa só é necessária se voce tiver o pacote SSL instalado no sistema. O Nessus utililiza um sistema cliente-servidor,onde uma vez iniciado o módulo servidor passa ser possível rodar o cliente em qualquer máquina da rede(para isso é criado o login de usuário). Para finalizar ,inicializa-se o servidor,ainda como root usando o comando : # nessud -D Em seguida,volte ao seu login de usuário e abra o cliente ,com o comando: $ nessus Se você quiser um teste completo, use a faixa 1-65536. Alguns testes do Nessus podem travar alguns PCs vulneráveis, A opção "Safe checks" desativa testes potencialmente perigosos, evitando prejuízos aos usuários . De qualquer forma, o ideal é fazer o teste à noite, ou em algum horário em que os PCs não estejam sendo utilizados. Na seção "Target Selection" do Nessus você define o alvo, fornecendo seu IP. Se você quiser testar as vulnerabilidades da própria máquina local, o endereço é o "localhost". Se você quiser testar de uma vez toda a sua rede local, basta fornecer o endereço da rede, como em "192.168.0.0" ou "10.0.0.0". Concluído o teste, ele exibe uma lista com as vulnerabilidades encontradas em cada PC. Existem três níveis de alerta; o primeiro e mais grave tem o símbolo de uma luz vermelha e indica uma brecha de segurança em um servidor ativo na máquina. Em muitos casos o Nessus ajuda também a detectar erros de configuração, que podem ser perigosos. Concluindo, os relatórios gerados pelo Nessus podem ser salvos em diversos formatos, incluindo html, latex e PDF, um recurso extremamente interessante na hora de apresentar os resultados e explicar os problemas para outras pessoas. 3.6. Rootkit Hunter Atualmente, rootkits representam uma das mais perigosas ameaças de invasões, são trojans que se utilizam de diversas técnicas para apagar os rastros de sua presença quando invadem um sistema. Assim, dificilmente são detectados pelo sistema ou mesmo por antivirus. [3]. Atuando nesse contexto, o Rkhunter realiza uma varredura verificando se uma máquina está contaminada por rootkits, além de buscar por backdoors e invasores locais através de testes como procura de arquivos padrão usados pelos rootkits, procura de arquivos escondidos, entre outros. [4]. Para instalar e configurar o Rkhunter, os seguintes comandos devem ser executados: # apt-get install rkhunter # rkhunter --propupd
  • # rkhunter –update Figura 3. Configurando o rkhunter. O primeiro comando irá instalar o pacote rkhunter mais recente. O comando rkhunter --propud cria o arquivo rkhunter.dat, e permite ao rkhunter comparar as varreduras posteriormente realizadas com os dados registrados inicialmente nesse arquivo. Se essa opção não for usada o verificador de propriedades de arquivos só pode executar alguns dos testes (aqueles que não exigem o arquivo rkhunter.dat).[5]. Pode-se executar --propud mesmo sendo este comando recomendado apenas em instalações limpas (logo após a instalação do Sistema Operacional na máquina), porém é extremamente recomendado que este seja executado sem conexão com a internet. O commando rkhunter --update requer conexão com a internet, atualizando os arquivos em busca de modificações. Concluída a configuração do rkhunter, pode-se iniciar uma primeira varredura manualmente pelo terminal como superusuario, através do comando: # rkhunter -c 4. Estudo de Caso: A União das Ferramentas Após a compreensão das ferramentas escolhidas, configuração e instalação, um estudo de caso com a união das ferramentas para atacar o problema determinado foi elaborado. Primeiramente não foi detectado em momento algum conflito entre as ferramentas. Em seguida, tendo como base a problemática da segurança, tarefas foram definidas para cada ferramenta. As ferramentas selecionadas para compor a plataforma possuem características semelhantes, que podem realizar uma mesma tarefa tornando o gerenciamento redundante se mal organizado. Por isso foi determinado que as funções ficariam dispostas da seguinte forma: Iptables – configurado como firewall Nmap – para buscar informações de PC’s Wireshark – capturando pacotes para análise Nessus - varrendo portas atrás de vulnerabilidades
  • Rootkit Hunter – varrendo arquivos do servidor em busca de rootkits, malwares e portas abertas Lanspy – para coletar informações sobre laptops/notebooks conectados na rede 4.1. Configuração do Iptables Decidiu-se que o Iptables iria agir como firewall, filtrando os pacotes da rede. Primeiramente se ativa os módulos reponsáveis pelo funcionamento do iptables, para tanto deve-se executar os seguintes comandos: # modprobe ip_tables # modprobe ipt_REJECT # modprobe ipt_multiport # modprobe ipt_MASQUERADE Após a ativação dos módulos devemos limpar todas as possíveis configurações existentes de implementações anteriores. # iptables –t filter –F # iptables –t nat –F # iptables –t filter –Z # iptables –t nat –Z Definindo as políticas de filtragem a cada uma das chains das tabelas filter e nat. # iptables –t filter –P INPUT DROP # iptables –t filter –P FORWARD DROP # iptables –t filter –P OUTPUT DROP # iptables –t nat –P POSTROUTING DROP # iptables –t nat –P PREROUTING DROP # iptables –t nat –P OUTPUT DROP Chain Input Aceitando conexão “loopback” # iptables –t filter –A INPUT –i lo –j ACCEPT Configura a pacotes TCP e UDP para serem aceitos caso a conexão esteja estabelecida e relacionada. # iptables –t filter –A INPUT –p tcp –m state --state ESTABLISHED,RELATED –j ACCEPT # iptables –t filter –A INPUT –p udp –m state --state ESTABLISHED,RELATED –j ACCEPT Aceitando pacotes ICMP (ping) com tolerância de um pacote por segundo (proteção contra“ping-da-morte”):
  • # iptables –t filter –A INPUT –p icmp –m limit --limit 1/s –j ACCEPT Chain Forward Iniciamente devemos habilitar o repasse de pacotes # echo “1” > /proc/sys/net/ipv4/ip_forward Configurando ping para o firewall proveniente da rede interna # iptables –t filter –A FORWARD –p icmp –s 10.1.1.0/24 –m limit --limit 2/s –j ACCEPT Habilitando o repasse de pacotes da interface de rede eth0 para eth1 salvando um log sobre o trafego nas portas 25, 80, 110 e 443 (SMTP, HTTP, POP3 e HTTPS). # iptables –t filter –A FORWARD –i eth0 –o eth1 –p tcp –m multiport --dports 20,21,22,25,80,110,443 –j ACCEPT # iptables –t filter –A FORWARD –d 192.168.5.0/24 –i eth1 –o eth0 –m state --state ESTABLISHED,RELATED –j ACCEPT # iptables –t filter –A FORWARD –j LOG --log-prefix "FIREWALL: FORWARD " Liberando envio de mensagens (net send) entre as estações da rede: # iptables –t filter –A FORWARD –i eth0 –p udp –m multiport --dports 135, 137, 138 –j ACCEPT # iptables –t filter –A FORWARD –i eth0 –p tcp –m multiport --dports 135, 139, 445 –j ACCEPT Liberando acesso ao servidor FTP e SSH à todas as estações da rede: # iptables –t filter –A FORWARD –p tcp –s 10.1.1.0/24 –d 10.1.1.1 --dport 20 –j ACCEPT # iptables –t filter –A FORWARD –p tcp –s 10.1.1.0/24 –d 10.1.1.1--dport 21 –j ACCEPT # iptables –t filter –A FORWARD –p tcp –s 10.1.10/24 –d 10.1.1.1 --dport 22 –j ACCEPT Conexões TCP e UDP que forem originadas pelo Firewall são aceitas: # iptables –t filter –A OUTPUT –p tcp –m state --state NEW,ESTABLISHED,RELATED –j ACCEPT # iptables –t filter –A OUTPUT –p udp –m state --state NEW,ESTABLISHED,RELATED –j ACCEPT Aceitando conexão “loopback” : # iptables –t filter –A OUTPUT –o lo –j ACCEPT Estabelecendo um limite para o número de pacotes “ping” (um por segundo) vindos da Internet:
  • # iptables –t filter –A input–p icmp –m limit --limit 1/s –j ACCEPT Registra tentativas de conexão não-autorizadas vindas da Internet: # iptables –t filter –A input –p udp --dport 53 –j LOG --log-prefix "FIREWALL: dns" # iptables –t filter –A input –p tcp --dport 113 –j LOG --log-prefix "FIREWALL: identd " # iptables –t filter –A input –p udp --dport 111 –j LOG --log-prefix "FIREWALL: rpc " # iptables –t filter –A input –p tcp --dport 111 –j LOG --log-prefix "FIREWALL: rpc" # iptables –t filter –A input –p tcp --dport 137:139 –j LOG --log-prefix "FIREWALL:samba " # iptables –t filter –A ppp-input –p udp --dport 137:139 –j LOG --log-prefix "FIREWALL:samba " Mascaramento de IP liberando conexão da rede local para a Internet com restrição aos serviços (SMTP, POP3, HTTP e HTTPS): # iptables –t nat –A POSTROUTING –p tcp –m multiport --dports 25,80,110,443 –s 10.1.1.0/24 –o eth0–j MASQUERADE Liberando conexão da rede local à Internet limitada aos serviços (SMTP, POP3, HTTP e HTTPS): # iptables –t nat –A PREROUTING –i eth0–p tcp –s 200.140.2.45 --dport 25 –j SNAT --to192.168.5.2:25 # iptables –t nat –A PREROUTING –i eth0 –p tcp –s 10.1.1.1 --dport 25 –j ACCEPT # iptables –t nat –A PREROUTING –i eth0 –p tcp –s 200.140.2.45 --dport 80 –j SNAT --to10.1.1.1:80 # iptables –t nat –A PREROUTING –i eth0 –p tcp –s 10.1.1.1--dport 80 –j ACCEPT # iptables –t nat –A PREROUTING –i eth0 –p tcp –s 200.140.2.45 --dport 110 –j SNAT –to 10.1.1.1:110 # iptables –t nat –A PREROUTING –i eth0 –p tcp –s 10.1.1.1 --dport 110 –j ACCEPT # iptables –t nat –A PREROUTING –i eth0 –p tcp –s 200.140.2.45 --dport 443 –j SNAT –to 10.1.1.1:443 # iptables –t nat –A PREROUTING –i eth0 –p tcp –s 10.1.1.1 --dport 443 –j ACCEPT
  • 4.2. Rodando Nmap O Nmap será utilizado para coletar informações sobre um determinado computador, logo pode-se usar as opções citadas na subseção 3.3.1 para esse fim. O comando executado resultou na seguinte saída: root@labin23:/# nmap -sV 10.125.100.83 Starting Nmap 4.53 ( http://insecure.org ) at 2009-11-05 18:00 BRST Interesting ports on 10.125.100.83: Not shown: 1713 closed ports PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5 with Suhosin-Patch) Service detection performed. Please report any incorrect results at http://insecure.org/nmap/ submit/ . Nmap done: 1 IP address (1 host up) scanned in 6.703 seconds 4.3. Executando Wireshark A partir da execução do wireshark, tudo o que trafegar na rede ele captura. A partir daí o gerente da rede pode pode uma boa noção do que está acontecendo com a rede, bastando para isso saber interpretar o que encontra-se na figura abaixo. Um exemplo: clicando em cima de um pacote e precionando a opção "Follow TCP Stream", o wireshark irá lhe mostrar toda a conversação em modo texto. Com a monitoração de entrada e saída de pacotes na rede podem ser detectadas anomalias que, em uma análise mais detalhada, podem indicar tentativas de invasões e quebra de senha. Figura 4. Pacotes capturados pelo wireshark. 4.4. Varrendo portas com Nessus Após o login e senha no Nessus, foi utilizado o parâmetro End:10.125.100.1-85 para analisar uma vulnerabilidade: o serviço telnet habilitado em uma máquina.
  • Figura 5. Tela de alerta do Nessus. Solução: Se você estiver executando um sistema tipo Unix, OpenSSH pode ser usado em vez de telnet. Para os sistemas Unix, você pode comentar as "telnet" linha no arquivo / etc / inetd.conf. Para os sistemas Unix, que usam o xinetd, você precisará modificar os serviços de telnet arquivo no / etc / pasta / xinetd.d. Depois de fazer quaisquer alterações ou xinetd arquivos de configuração do inetd, você deve reiniciar o serviço para que as alterações tenham efeito. Além disso, o roteador diferente e muitos fabricantes de comutadores suporte SSH como uma substituição de Telnet. Você deverá contactar o fornecedor para obter uma solução que utiliza uma sessão criptografada. Fator de risco: Baixo CVE: CAN-1999-0619 Nessus ID: 10280 Informativos telnet (23/tcp) Um servidor de telnet parece estar em execução nesta porta Nessus ID: 10330 Informativos telnet (23/tcp) Remote banner telnet: /--------- CANYPO Motorola Broadband Wireless Technology Center (Copyright 2001-2009 Motorola, Inc.) Login: " Nessus ID: 10281 4.5. Buscando Malwares e Rootkits com Rootkit Hunter Após a execução no terminal, como superusuário, do comando rkhunter –c, uma tela de saída semelhante à seguinte será exibida.
  • Figura 6. Saída inicial do comando rkhunter -c . Figura 7. Buscando rootkits conhecidos. A figura 6 mostra a busca por rootkits no host, pode-se verificar que nenhum foi detectado(not found). A figura seguinte mostra “warnings” ou alertas, que são os arquivos/diretórios/portas suspeitos de contaminação ou passíveis de ataque, neste caso são eventos conhecidos que não geram alarme, entre eles o acesso ssh como root que está habilitado. Figura 8. Alertas detectados nas configurações do sistema.
  • A saída final da verificação exibe o caminho onde foi salvo o log, /var/log/rkhunter.log. 4.6. Coletando Informações de Notebooks com Lanspy Nesse exemplo mostrado abaixo a ferramenta Lan Spy identificou dados sobre um notebook conectado á rede do laboratório do campus III da UFPA/Santarém. Com o ip da rede 10.125.100.81 foi identificado com o nome de dns RALLAN com o endereço MAC 00:1B:38:C9:47:8F. 5. Conclusão Considerando o fato de que os ataques a servidores, cada vez mais avançados, são motivo de preocupação por parte dos gerentes que desejam manter sua rede protegida, verifica-se a importância do conhecimento e aprofundamento da gerência acerca das ferramentas que auxiliam na proteção da integridade das redes. Atualmente não se deve mais ignorar a necessidade de se elaborar políticas de segurança que abrangem desde as permissões de usuário até a política de criação de senhas, e ter softwares que possibilitem um suporte à essas tarefas e à execução correta delas é uma evolução que não devemos passar despercebido. Portanto conclui-se que a junção de diversas ferramentas específicas de segurança, auxilia, e muito, na manutenção e saúde de uma rede. Aliadas à uma gerência pró-ativa são extremamente confiáveis, apenas necessitando de uma ferramenta de backup para completar a segurança dos sistemas conectados.
  • Referências Bibliográficas [1] Wireshark - Artigo. http://www.vivaolinux.com.br/artigo/Wireshark-Artigo/?pagina=1; Dezembro. [2] Usando o Wireshark. http://www.guiadohardware.net/tutoriais/wireshark/; Dezembro. [3] Instalando e Usando o Rkhunter. http://0fx66.com/blog/Linux/instalando-e-usando-o- rkhunter/ [4] Manual SIDUX. http://manual.sidux.com/pt-br/vir-rtkits-pt-br.htm [5] SPRKH wiki. http://sourceforge.net/apps/trac/rkhunter/wiki/SPRKH SOUSA, Lindeberg Barros de. Redes de computadores – Dados, voz e imagem (5ª edição), São Paulo: Érica, 2002. CHESWICK, William R.; BELLOVIN, Steven M.; RUBIN, Aviel D. Firewall e segurança na Internet. 2. ed. Tradução Edson Frumankiewicz. São Paulo: Bookman, 2003 NETO, Urubatan. Dominado Linux Firewall Iptables. Rio de Janeiro: Ciência Moderna, 2004. http://www:lantricks.com/lanspy Acessado em 10 de dez. 2009. http:www.snapfiles.com/get/lanspy/ Acessado em 12 de dez. 2009. http://pplware.sapo.pt/2007/10/22/lanspy-200155/ Acessado em 12 de dez. 2009. http://www.baixaki.com.br/categorias/294-ferramentas-para-rede.htm/Acessado em 12 de dez. 2009.