Pedro Pereira

Linux, Cisco, *BSD's, um pouco de Windows e o que mais eu achar interessante :)

Mega post: ACLs – Entenda de uma vez por todas!

Uma ACL, no contexto dos produtos Cisco, é um recurso do IOS que permite a você filtrar determinados pacotes, exatamente como um firewall faria porém de uma maneira muito mais simplificada e com menos recursos. Utilizando ACLs no seu equipamento você pode filtrar tentativas de conexões indo/vindo de/para hosts específicos; pode bloquear completamente um determinado protocolo antes de tal requisição entrar na sua rede (claro que isso depende do posicionamento da ACL); controlar atualizações enviadas por protocolos de roteamento, etc. Enfim, ACLs tem uma importância enorme e você tem que saber como trabalhar com elas seja para ser um profissional melhor seja para passar nos exames de certificação.

Aqui você vai entender melhor o que é uma ACL e uma descrição geral de quais são os seus tipos e funcionalidades. Também vou tentar mostrar alguns exemplos simples de uso de cada uma das ACLs.

Ler o resto do post »

O SPAM hoje em dia é um problema tão sério que todos somos obrigados a tomar medidas duras para conseguir diminuir a quantidade de recursos disperdiçados por lixo eletrônico. De acordo com algumas pesquisas, o SPAM chega a representar mais de 80% de todas as mensagens de e-mail trocadas no mundo.

Dado um problema tão sério, é de se imaginar que soluções tenham sido desenvolvidas para resolvê-lo. O problema é que por causa destas soluções, muitas vezes as mensagens legítimas dos nossos servidores acabam sendo tratadas errôneamente como SPAM. Neste rápido post, vou tentar indicar alguns dos motivos que podem levar as mensagens do seu servidor a serem marcadas como SPAM. Aqui você não vai encontrar informações detalhadas sobre como configurar alguma coisa, vai apenas entender que aquilo vai influenciar e que medidas você pode tomar para sanar o problema.

Ler o resto do post »

Kippo: honeypot SSH

O Kippo é um honeypot que simula o serviço SSH e permite a você entender como um atacante age quando consegue comprometer um sistema através deste serviço, dando a oportunidade de melhorar bastante a proteção do seu sistema para que um dos seus servidores reais não seja a próxima vítima.

Vou tentar explicar de forma resumida o conceito de honeypot e falar como instalar, configurar e usar o Kippo.

Ler o resto do post »

Como configurar e usar o sudo

Muitas vezes você precisa executar um programa com as credenciais de um outro usuário do sistema (geralmente o root). Quando isso acontece você (ou qualquer outra pessoa que quer executar este programa com outras credenciais) deve saber a senha desta outra conta. Nos casos em que você precisa executar algo como root, você já começa a ter um problemão: você teria que começar a informar a senha de root para outras pessoas. Assim você:

  • Diminui muito a eficácia do método de autenticação utilizando senhas já que você não sabe o cuidado que essas outras pessoas terão com esta senha (e se eles passarem esta senha para outra pessoa em quem você não confia?);
  • Não tem como rastrear quem fez o que no sistema já que todos estão usando a mesma conta para fazer o que quer que seja no sistema. Por exemplo, embora os usuários A, B e C tenham usado a conta do root ontem, os logs vão registar apenas que o root executou o comando X e não que o usuário A usou a conta de root para executar tal comando. Isso é um grande problema.

Nestes casos você pode utilizar a que talvez seja a ferramenta mais ignorada pelos administradores de sistemas: o sudo! Algumas vantagens do sudo:

  • Você não precisa passar a senha de root para outras pessoas. A senha que deve ser utilizada com o sudo é a do próprio usuário;
  • É mais rápido usar o sudo que o su;
  • Você pode cortar o acesso de uma conta aos poderes de root sem ter que mudar a senha de root. Basta alterar o /etc/sudoers (como veremos mais à frente) e o usuário já perde o acesso à conta root;
  • Você sabe exatamente quais contas tem acesso root e pode controlar mais facilmente este acesso.

Neste post vou te ensinar a configurar o sudo para que um usuário normal possa executar comandos como se fosse o root sem precisar saber a senha de root. Tentei ser o mais completo possível mostrando várias opções que nem eu mesmo conhecia antes de escrever este texto! Se você encontrar algum erro ou tiver alguma dúvida sobre alguma opção que eu não citei aqui, deixe um comentário.

Ler o resto do post »

Criando views no Cisco IOS

O Cisco IOS (Internetwork Operating System), o sistema operacional utilizado na maioria dos dispositivos da Cisco, tem uma funcionalidade muito interessante: views (na literatura da Cisco – publicada pela Cisco Press – é provável que você encontre isso sendo chamado de “Role-Based Command-Line Interface Access”. Aqui vou chamar de views por ser mais fácil). As views podem ser vistas como uma jail em sistemas Unix-like por permitirem acesso apenas a comandos pré-definidos pelo administrador do equipamento. Por exemplo, você pode fazer com que a view X tenha acesso a todos os comandos “show” porém a view Y só tenha acesso ao comando “ping”.

A flexibilidade desta funcionalidade é tanta que você pode, por exemplo, definir que uma view pode acessar o “show version” mas não pode acessar o “show ip interfaces”. Assim, você pode conceder apenas o acesso necessário para que um determinado usuário execute o seu trabalho sem correr o risco de “destruir” o roteador ou fazer coisas que ele não poderia.

Esta funcionalidade do IOS está disponível à partir da versão 12.3(7)T do IOS. A única versão anterior à esta que também possui tal funcionalidade é a 12.2(33)SRB. Portanto, verifique a versão do IOS no seu dispositivo antes de começar a configurar.

A criação das views é uma operação extremamente simples. O que realmente dá trabalho é definir o que cada usuário pode fazer no sistema. Neste post vou te ensinar a criar as views e a fazer configurações básicas, permitindo ou negando acessos a determinados comandos.

Ler o resto do post »

Como usar o TCPDump

Um sniffer é um programa cuja principal função é capturar pacotes que estão sendo transmitidos através de uma rede. Assim, ela permite a você, o administrador de redes, analisar o comportamento da rede auxiliando muito na hora de encontrar problemas, máquinas infectadas, tráfego malicioso, gargalos, etc.

Para que o sniffer consiga capturar os pacotes gerados por e destinados a outras estações, é necessário que esses pacotes cheguem à interface de rede da máquina onde o sniffer está sendo executado. Numa rede que usa switches isso não acontece, então é necessário configurar uma span port para que todo o tráfego que passa nas outras portas do switch seja enviado também para a porta onde o sniffer está rodando. Em uma rede com hub, isso não é necessário já que por padrão todas as portas receberão todos os pacotes que passam pelo dispositivo (alguém ainda usa hubs? :) ).

Aqui vou ensinar você a usar o TCPDump (site oficial www.tcpdump.org). Ele funciona em sistemas Unix-like (Linux, *BSD’s, Mac OS) e Windows – através do port chamado WinDump) e foi criado em 1987 por desenvolvedores do Lawrence Berkeley Laboratory Network Research Group. A interface dele é puramente através da linha de comando, não existe uma interface gráfica disponível (pelo menos que eu conheça, se você conhecer me avise aí nos comentários!). As capturas de pacotes executadas pelo TCPDump podem ser escritas em um arquivo e lidas no Wireshark ou pelo próprio TCPDump, por exemplo.

Uma das funcionalidades mais importantes do TCPDump são os filtros. Com eles você consegue especificar detalhadamente qual o tráfego que você quer que seja capturado para posterior análise. Aqui mostrarei uma introdução básica aos filtros para que você não precise capturar 2GB de tráfego para analisar somente 2MB :)

Lembre-se que para executar o TCPDump em um host é necessário que você seja o root (ou tenha permissões equivalentes).

Provavelmente o TCPDump já está instalado no seu sistema. Caso não esteja, é muito provável que haja um pacote pré-compilado para ele pronto para instalar nos repositórios oficiais da sua distribuição. Portanto, antes de sair compilando tudo e demorando horas resolvendo os problemas, tente usar o YUM, APT-GET, etc. para instalar!

Ler o resto do post »

Configurando Syslog e NTP no Cisco IOS

Quando um atacante invade um sistema, a primeira coisa que ele faz é tentar apagar os rastros que ele deixou. E onde ficam esses rastros? Em grande parte, nos arquivos de log do sistema. Lá tudo é registrado: que usuário logou, quais logins falharam, quantas vezes falharam, qual usuário mudou a senha, configurou o IOS etc. Porém, como você já pode imaginar, é uma quantidade absurda de informação que faria você ficar o dia todo apenas lendo o log do sistema.

Uma forma de facilitar o gerenciamento de logs, centralizando tudo, permitindo que você organize tudo de uma maneira melhor é usar o Syslog. O Syslog foi desenvolvido nos anos 80 e até hoje é utilizado (obviamente com novas funcionalidades adicionadas ao longo dos anos). Ele é o software padrão para centralização de logs em sistemas Unix e Unix-like (como o Linux) e também para dispositivos de rede (como roteadores). Ele permite que você divida as mensagens por criticidade (variando de 0, para erros críticos que impedem o uso do sistema; até 7, mensagens de debug) e também por software que as gerou. O Syslog usa o UDP (porta 514) para transferir os dados entre cliente e servidor.

Porém, não adianta você ter um sistema de logs e não ter um horário uniforme entre todos os dispositivos da sua rede. Se cada dispositivo tem um horário diferente, como você vai correlacionar os eventos para tentar entender um ataque? A solução para esse problema é utilizar o NTP (Network Time Protocol). Este protocolo sincroniza automaticamente os horários de vários hosts através da rede bastando instalar um software cliente. Ele usa o UDP (porta 123) para transferir os dados e o melhor de tudo: você pode utilizar servidores públicos de hora, bastando apenas configurar o cliente.

Aqui vou ensinar você a configurar o Syslog e o NTP em roteadores Cisco. Vou considerar que você já tenha um servidor Syslog e um roteador com a configuração básica já feita (se não souber fazer isso, leia aqui como configurar um roteador Cisco) funcionais na sua rede. Quanto ao servidor NTP, você pode simplesmente configurar o servidor público a.ntp.br, que tem a hora oficial do Brasil.

Ataques brute force com o Hydra

Senhas são talvez o elo mais fraco em qualquer sistema de segurança existente hoje em dia. Nem sempre o administrador, que tem conhecimento de questões relacionadas à segurança da informação, pode acompanhar o usuário e garantir que ele faça uma escolha de senha segura. Muitas vezes, nem mesmo quando se define regras para senhas pode-se ter 100% de certeza que uma senha segura será a escolhida. Por exemplo, imagine que você definiu uma regra que requer que seja escolhida uma senha de no mínimo 8 caracteres, letras maiúsculas e minúsculas e números. Se o seu usuário escolher algo como “Pedro123″ você continuará a ter uma senha insegura.
Mas o pior lado dessa estória é que o atacante também sabe que senhas são inseguras e muito frequentemente se aproveita desse fato para ganhar acesso ilegal ao seu sistema. A técnica mais simples utilizada por usuários maliciosos é o brute forcing. Neste post, vou definir o que é brute force e também vou mostrar a ferramenta THC Hydra utilizada em ataques deste tipo.

Configuração de roteadores Cisco

Um roteador, ou router, nada mais é que um computador especializado em realizar uma tarefa específica. Neste caso, o roteador é especializado em interconectar redes. Sejam redes a quilômetros de distância ou duas redes no mesmo prédio: o roteador define como chegar de uma rede à outra, define quais rotas o pacote pode pegar e também faz um filtro de pacotes (através das ACL‘s) básico, para controlar o acesso.

A Cisco Systems é hoje a maior fornecedora de equipamentos de rede do mundo. Fundada em 1984 por Len Bosack e Sandy Lerner, a Cisco Systems produz diversos equipamentos de rede para finalidades distintas: roteadores, switches, telefones IP, etc., atendendo desde redes pequenas e bem simples, até redes de grandes provedores e companhias telefônicas (como a Telefônica, por exemplo). Atualmente, também está entrando no mercado doméstico através da aquisição da Linksys e das câmeras Flip.

Neste post vou te ensinar a fazer a configuração básica de um roteador Cisco. Coisas como definir hostname, descrição de uma determinada interface, configurar endereços IP’s, etc., que você deve sempre saber de cór e salteado. Além disso, grande parte do que explico aqui é tópico na prova Cisco CCNA.
Ler o resto do post »

Instalando e configurando o JBoss no Linux

Como instalar e configurar o JBoss no LinuxO JBoss é um application server para aplicativos web desenvolvidos em Java, que implementa Java EE.

Ele surgiu como um projeto independente, se transformou em uma empresa e algum tempo depois acabou sendo comprado pela Red Hat que o manteve gratuito e sob a GPL. Ele possui várias funcionalidades que o tornam uma excelente escolha para ambientes corporativos e aplicações críticas, entre elas:

  • Possibilidade de configurá-lo para funcionar em cluster;
  • Failover;
  • Load balancing;
  • Integração com Hibernate;
  • JDBC;
  • Facilidade de instalação, administração e deploy de aplicações;
  • entre várias outras.

Neste tutorial vou ensiná-lo a fazer uma configuração extremamente básica do JBoss versão 6.0.0.M4 (versão mais recente enquanto escrevo este post) no CentOS 5.5. Embora eu tenha me baseado no CentOS para escrever este post, você provavelmente conseguirá adaptá-lo a praticamente qualquer distribuição.

Ler o resto do post »

Acompanhe!

    Assine o feed RSS! Me acompanhe no Twitter! Me adicione no LinkedIn!

Creative Commons


Mais lidos