quinta-feira, 13 de março de 2008

Cisco IOS - Nomenclatura e Versões (Parte 1)

Entender como funciona a nomenclatura e as versões do Cisco IOS é importante quando estamos instalando um novo equipamento e mais ainda quando estamos fazendo uma atualização. Isso por que uma simples confusão pode resultar em um serviço que, "sem um motivo aparente", parou de funcionar depois da atualização.

_Versões


Primeiro veremos como funiona a numeração das versões do Cisco IOS. O formato geral para a numeração é a.b(c.d)e, onde:

  • "a" e "b" identificam a versão principal ou main version ("a" é chamado de major version e "b" minor version).
  • "c" é a versão de lançamento (release).
  • "d" (que é muitas vezes omitido) representa o número da versão intermediária (interim build number).
  • "e" (podendo ser nenhuma, uma ou duas letras) representa qual train pertence o IOS. Neste caso, podemos encontrar nenhuma letra (representa a train principal ou mainline), T (para Technology), E (para Enterprise), etc. Mais detalhes adiante.
Vejamos um exemplo: 12.3(1)T é a primeira release da train T da versão principal 12.3. A imagem 12.3(2)T é a release subsequente neste caso.

Juntamente com este padrão de numeração para as versões a Cisco adota um padrão de desenvolvimento onde as novas funcionalidades são adicionadas às versões da train T que, no final de seu ciclo de desenvolvimento e testes, irão integrar uma nova main release. Esta nova main release só receberá correções de bugs, ficando a cargo da nova train T receber a implementação de novas funcionalidades. Este processo está descrito na figura abaixo:

Ainda é importante citar as versões rebuilds, que são versões liberadas geralmente com apenas uma correção e de forma mais rápida e constante. Por exemplo, 12.1(8)E14 é a décima-quarta rebuild da imagem 12.1(8)E.

Ainda temos que destacar as seguintes trains:
  • A train mainline (que não possui letra) é a mais estável dentre as demais e o seu conjunto de funcionalidades não cresce durante o seu tempo de vida. As novas versões dentro desta train possuem apenas correções para bugs e problemas de segurança.
  • A train T (Technology train) recebe atualizações de bugs, problemas de segurança e novas funcionalidades e, portanto, é menos estável que a train mainline.
  • A train S (Service Provider) é aconselhada para equipar os roteadores do núcleo principal de provedores de serviço e é personalizada para tanto.
  • A train E (Enterprise) é personalizada para ambientes Enterprise.
  • A train B (Broadband) possui suporte especial para funcionalidades de banda-larga (broadband access).
  • As trains X* (XA, XB, ...) possuem funcionalidades especiais que devem ser documentadas conforme o lançamento das mesmas.

_Nomenclatura

Até meados de 2006 a Cisco utilizava um conjunto de códigos de letras para especificar as diversas funcionalidades disponíveis no IOS que hoje são agrupudas em pacotes (ou packages). A lista abaixo reúne os códigos de letras mais utilizados na nomeclatura das imagens do IOS até 2006:
  • i - IP routing
  • j - Enterprise
  • p - Service Provider
  • y/y5 - IP Routing (low-end routers, missing some IP routing/features like BGP)
  • k2/k8/k9 - Encryption(DES=k8, 3DES=k9)
  • o - Firewall
  • s - Plus, or "LAN Only" on Cat6K/7600
  • l - Runs from Flash
  • m - Runs from RAM
  • z - Compressed image
Para uma lista completa de códigos deve-se consultar a documentação clicando aqui. Nada melhor que um bom exemplo para clarear as idéias; c2600-ik9o3s3-mz.122-15.T9.bin é o nome do arquivo de uma imagem do IOS com as seguintes características:
  • c2600 = Imagem para a plataforma 2600 series.
  • i = versão com funcionalidades de IP routing.
  • k9 = possui suporte a criptografia.
  • o3 = versão com suporte a firewall/ids.
  • s3 = versão "Basic limited routing / limited memory"
  • mz = é executada da memória RAM e está comprimida.
  • 122-15.T9 = é a versão 12.2, já houve 15 atualizações, train T e está na 9a. compilação.
É importante entender esta nomenclatura para saber quais os pacotes de funcionalidades necessários no caso de um upgrade de uma imagem que ainda está no modelo antigo para uma imagem do IOS que segue o novo modelo de nomenclatura.

Este novo modelo segue um padrão um pouco menos complicado e com menos opções, além de poder ser utilizado em todas as plataformas de roteadores igualmente (cross-plataform). Os pacotes disponíveis para os roteadores são (nomes dos arquivos correspondentes entre parênteses):
  • IP Base (cxxxx-ipbase-mz)
  • IP Voice (cxxxx-ipvoice-mz)
  • Advanced Security (cxxxx-advsecurityk9-mz)
  • Service Provider Services, also known as SP Services (cxxxx-spservicesk9-mz)
  • Enterprise Base (cxxxx-entbase-mz)
  • Advanced IP Services (cxxxx-advipservicesk9-mz)
  • Enterprise Services (cxxxx-entservicesk9-mz)
  • Advanced Enterprise Services (cxxxx-adventerprisek9-mz).
Já as funcionalidades estão distribuídas entre os diversos pacotes de acordo com o diagrama abaixo, onde o pacote Advanced Enterprise Services é um conjunto completo de todas as funcionalidades disponíveis em uma versão do IOS:
Lembre-se que até agora estamos falando do IOS para roteadores. A forma de pacotes e funcionalidades para switches segue um padrão ligeiramente diferente. Para maiores informações é necessário consultar a documentação oficial da Cisco aqui. Este documento também pode ser consultado para saber mais detalhes sobre as funcionalidades existentes em cada pacote. Sempre que estivermos trabalhando com imagens de IOS é importante consultar as ferramentas web oficiais da Cisco:Para finalizar, se você quiser verificar qual a imagem está em execução no seu equipamento, basta entrar com o comando show version no modo de execução global e procurar por uma descrição semelhante a que vemos abaixo:
System image file is "flash:c3725-entbase-mz.124-6.T.bin"
Veja também:

quarta-feira, 12 de março de 2008

Atualizações de Segurança da Cisco

A Cisco anunciou recentemente que irá mudar a política de liberação de atualizações de segurança para o seu sistema operacional carro-chefe Cisco IOS. As atualizações serão liberadas duas vezes ao ano (na quarta quarta-feira de março e de setembro) começando no próximo dia 26 de março. De acordo com as informações do site da Cisco, esta ação é uma resposta aos pedidos dos clientes para que as atualizações fossem liberadas ao público seguindo um calendário pré-definido.

A reação nas listas de discussão foi imediata. Há aqueles que gostaram e há aqueles que não gostaram. À primeira vista pode parecer estranho atualizar as brechas de segurança duas vezes ao ano, no entanto, essa visão pode não ser tão clara quanto parece. Atualmente a Oracle e a Microsoft (duas empresas que também possuem um parque instalado muito grande) também seguem um padrão para liberação de correções de segurança; quadrimestral e mensal, respectivamente. Entretanto, nenhuma destas empresas deixou de responder a um problema crítico de segurança da forma mais ágil possível e é isso que a Cisco está prometendo:

"This schedule change will not restrict us from promptly publishing an individual IOS Security Advisory for a serious vulnerability which is publicly disclosed or for which we are aware of active exploitation." (Ufa!)

Até o momento a Cisco tem liberado as atualizações de vulnerabilidades com pouco intervalo de tempo. Esse processo continuará para as vulnerabilidades publicamente conhecidas. As correções para as vulnerabilidades desconhecidas serão publicadas de acordo com o cronograma pré-definido. É certo que esta alteração simplificará o processo de instalação de atualizações de segurança, principalmente em grandes redes non-stop com centanas (possivelmente milhares) de equipamentos, onde o planejamento é certamente mais complicado. Afinal de contas, todos os equipamentos estão com as últimas correções, não? :-)

Veja também:

  • Anúncio sobre as atualizações de segurança do Cisco IOS.
  • Política de divulgação de vulnerabilidades de segurança para outros produtos Cisco.

sexta-feira, 29 de fevereiro de 2008

AS17557 e o Youtube

No último dia 24 de fevereiro o governo do Paquistão ordenou o bloqueio do site Youtube em seu país alegando que o site exibia vídeos com conteúdo considerado impróprio para seus cidadãos. A Pakistan Telecom (AS 17557), tentando cumprir esta decisão, anunciou internamente um prefixo /24 do Youtube em seus roteadores. Tudo transcorreria bem se o AS17557 tivesse anunciado o prefixo do Youtube somente para seus peers BGP internos, mas não foi isso o que realmente aconteceu.

O AS17557 passou a anunciar de forma não-autorizada para o seu peer BGP de trânsito (AS3491) o prefixo 208.65.153.0/24 que pertence ao Youtube. O AS3491 aceitou e repassou o anúncio do prefixo para Internet o que resultou em um sequestro de todo o tráfego destinado ao prefixo citado pois este prefixo é mais específico do que o anuncionado pelo próprio Youtube (que o anuncia através do bloco 208.65.152.0/22). Este problema deixou o Youtube inacessível por até duas horas em diversas regiões do mundo (possívelmente em toda a Internet).

Este tipo de problema não é novo no BGP e já aconteceu outras vezes, tal como no famoso caso do AS7007 em 1997 e diversos outros. Dentre as informações publicadas sobre o caso do Youtube e o AS17557, quero destacar duas análises: 1) da empresa Renesys e 2) do RIPE-NCC.

Esta é uma boa oportunidade para comentar sobre o projeto RIS do RIPE-NCC. O RIS (Routing Information Service) é um projeto que colheta informações da tabela BGP (full routing) ao redor do mundo. O projeto possui mais de 600 peers BGP e está presente em 16 pontos de troca de tráfego (IXP ou Internet Exchange Point). No Brasil, quem quiser estabelecer um peer BGP com o projeto deve estar conectado ao PTT.br, onde o RIPE-NCC já possui conectividade.

Os dados observados pelo projeto posteriormente podem ser analisados nas diversas ferramentas disponíveis no site: http://www.ripe.net/is-portal/. Uma ferramenta que com certeza é destaque é o BGPlay. Esta ferramenta possibilita visualizar graficamente as mudanças dos anúncios de prefixos no BGP com o passar do tempo e é utilizada para mostrar como aconteceu o o anúncio indevido do prefixo do Youtube.

quinta-feira, 28 de fevereiro de 2008

Problema de filtragem por usuários no Checkpoint

Se você tem um firewall Checkpoint e já teve ou tem problemas para achar alguns usuários nos seus filtros usando o SmartView Tracker, leia esta dica.

Na realidade, estes "alguns usuários" podem ser os autenticados por certificado. O que acontece é que o nome desse usuário não é aquele nome bonito que você coloca no momento da criação do usuário, mas sim o FQDN utilizado no certificado na forma CN=,OU=user,O=.

Assim, quando for filtrar por usuário e ele se autentica por certificado, edite no filtro na coluna de User, procurando-o dessa forma utilizando-se da caixa de texto:

CN="nome_bonito_que_voce_usou_na_criacao_do_usuario"*


O asterisco é obrigatório e as aspas devem ser retiradas. A frase, logicamente, deve ser substituida. :)

Observação: Foi testado em um NGX R65.

DICA: vá no menu Query no seu SmartView Tracker e selecione "Long user name". Assim, será sempre mostrado o FQDN dos usuários autenticados com certificado, e você não esquecerá mais desse detalhe.

sexta-feira, 22 de fevereiro de 2008

Ferramentas GNU para Windows

Sempre que falamos sobre ferramentas GNU (open-source) para Windows vêm à mente o Cygwin. No entanto, para você fazer um grep, awk ou coisa parecida em um grande arquivo texto não é necessário instalar toda a suíte do Cygwin. Existem aplicações que rodam nativamente no Windows (sabores XP/2000, principalmente) que podem ajudar nestes momentos.

- UnxUtils (http://unxutils.sourceforge.net/)

Não é necessário instalar. Basta copiar para um diretório que está no path do sistema e usar. O arquivo zip (UnxUtils.zip) contém 130 arquivos. Dentre eles os que eu considero mais importantes: cat, grep, gawk, sed, sort, patch, diff, echo, tar, zip, unzip e wget (e muitos outros). Mais informações e download na página deste projeto.

C:\bin>cat hello.c | grep ello
printf ("Hello World!\n");
- UWIN (http://www.research.att.com/sw/tools/uwin/)

É uma ferramenta desenvolvida pelo AT&T Labs que instala um shell ksh no Windows. Após instalado você pode executar o shell (ksh.exe) e utilizá-lo como se estivesse em um ambiente unix. O UWIN é compatível com as versões XP/2000/NT/ME/98/95 do Windows. Para mais informações sobre estas e outras características do UWIN visite a página oficial.
$ pwd
/C/Program Files/UWIN/usr/bin
$ uname -a
UWIN-XP mymachinename 4.2/5.1 2600 i1586 i1586 i386 UWIN-XP
$
$ cat ~/bin/hello.c | grep ello
printf ("Hello World!\n");

quinta-feira, 21 de fevereiro de 2008

Quebrando a Criptografia do HD

Foi publicado hoje por alguns pesquisadores da universidade Princeton (EUA) um estudo que mostra algumas técnicas para quebrar a criptografia utilizada nos principais programas utilizados hoje no Windows, Mac OS ou Linux. O vídeo abaixo, publicado no site do grupo de pesquisa, é um resumo de como o ataque foi desenvolvido.


Segundo os pesquisadores, os ataques funcionam pois a chave criptográfica destes programas deve estar armazenada na memória RAM para que as informações possam ser decriptografadas do disco rígido e, com um simples programa para vasculhar a memória RAM, é possível encontrar esta chave. Ainda de acordo com o grupo de pesquisa, o ataque foi bem-sucedido nos sistemas  BitLocker (Microsoft), FileVault (Apple), dm-crypt (Linux) e TrueCrypt (portável para vários sistemas). Vale a pena consultar o paper publicado sobre este trabalho. O estudo é surpreendente não somente por mostrar uma vulnerabilidade em softwares comumente utilizados, mas também por mostrar como a memória RAM é vulnerável a vários tipos de ataque...

segunda-feira, 18 de fevereiro de 2008

Path MTU Discovery (PMTUD)

Se durante uma comunicação alguma estação enviar pacotes IP maiores do que a rede pode suportar, ou seja, maiores que o menor MTU (Maximum Transmission Unit) do caminho, então será necessário que haja algum mecanismo para avisar que esta estação deverá diminuir o tamanho dos pacotes para que a comunicação ocorra com sucesso.


O processo interativo de envio de pacotes em determinados tamanhos, a resposta dos roteadores intermediários (possivelmente com pacotes do tipo ICMP Packet Too Big) e a adequação do tamanho dos pacotes posteriores é chamada de Path MTU Discovery ou PMTUD. No entanto, este processo pode não ser tão simples quanto parece pois, devido a má configuração dos equipamentos de rede intermediários, podem ocorrer problemas neste mecanismo. Os principais problemas estão relacionados à má configuração dos roteadores intermediários (por exemplo, configurando um bloqueio para todos os tipos de mensagens ICMP), a utilização de endereçamento IP inválido (que impede que os roteadores enviem o ICMP Packet Too Big para origem e consequentemente o ajuste do MTU na origem) ou até mesmo bugs no software dos equipamentos envolvidos na comunicação.

Para determinar o MTU de um caminho (dentre outras coisas) podemos utilizar o software scamper, que funciona em plataforma *BSD, Linux, SunOS ou Mac OS X. O mecanismo proposto para determinar o MTU do caminho e mais detalhes sobre esta ferramenta podem ser encontrados neste artigo publicado pela USENIX em 2005. Abaixo está a saída de um comando disparado na tentativa de inferir o MTU do caminho:
host:~/$ sudo ./scamper -c "trace -M" -i 201.6.0.2
traceroute from 192.168.x.y to 201.6.0.2
1 201.6.197.110 0.983 ms [mtu: 1500]
2 201.6.192.1 13.632 ms [mtu: 1500]
3 201.6.0.2 13.320 ms [mtu: 1500]
Outra dica interessante sobre o MTU é o artigo de Ivan Pepelnjak, The Never-Ending Story of IP Fragmentation, cuja leitura é extremamente recomendada.

domingo, 17 de fevereiro de 2008

NANOG 42

Continuando as conferências ao redor do mundo, começou hoje e vai até o próximo dia 20 a NANOG 42 em San Jose, CA.

A NANOG (conferência do North American Network Operators' Group ou grupo de operação de redes da américa do norte) acontece tradicionalmente três vezes ao ano e - principalmente para os brazucas que vivem e trabalham no Brasil - pode ser acompanhada via web streaming.

Para mais informações, pode-se consultar a agenda do evento ou a página oficial da NANOG.

Explore outras máquinas da rede mais rapidamente

Vasculhar por outros computadores na Rede pode travar o Windows Explorer ou até a máquina.
Quando procuramos por outros computadores na rede, o Windows XP verifica por tarefas agendadas em comum nas mesmas (isso é estranho, né!? Mas acredite, é verdade!). Desabilitar este recurso faz com que a procura na rede seja bem mais ágil. Para isso, execute o regedit.exe. Percorra o caminho HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current Version/Explorer/RemoteComputer/NameSpace e procure pela chave D6277990−4C6A−11CF−8D87−00AA0060F5BF e apague−a.

Pronto! Agora, a visualização e a navegação por outros PCs da rede ficará mais rápida.

sábado, 16 de fevereiro de 2008

"Secure the Blessings of Liberty"

Vez ou outra circulam pela mídia em geral notícias sobre espionagem, sobre segurança e privacidade, sobre liberdade. E este tipo de notícia de "última-hora" tem se tornado a notícia da última década da segurança da informação. Bruce Schneier, no primeiro artigo da última edição de seu newsletter crypto-gram, discorre sobre este tema também. 


O artigo intitulado "Security vs. Privacy" mostra a opinião do autor sobre o que o sr. Michael McConnell está fazendo bem perto da Casa Branca. Mike :-) é diretor da agência americana responsável por aconselhar o presidente dos Estados Unidos da América denominada National Intelligence e está propondo um plano para monitorar todas as comunicações da Internet. Sim, você entendeu corretamente: TODAS. Mais uma vez os holofotes se voltam para a lei que proíbe este tipo de prática nos EUA, a chamada FISA (1978 Foreign Intelligence Surveillance Act), aquela que, como dizem, o governo dos EUA resolveu esquecer nos últimos anos. Para derrubar esta lei dizem que quando a mesma foi criada não existia Internet, e-mail ou telefone celular. Nos tempos remotos era humanamente impossível vigiar a todos. Agora é eletronicamente viável (???) e por isso permitido (???).

Fica sempre aquela sensação de que com a crescente onda de insegurança é necessário que o algum indivíduo monitore a todos, mesmo que em detrimento da liberdade e da privacidade, para garantir a segurança de toda a população. Ou seja, privacidade e segurança já não devem andar mais juntos (talvez tenha chegado o dia de mudar o nome da famosa revista da IEEE: Security&Privacy, se me permitem a brincadeira neste momento de tristeza). 

Nós sabemos que não é assim. Sabemos que privacidade e segurança não caminham para lados opostos e não é necessário abdicar de uma para alcançar a outra. Estamos de olho. E, por enquanto, vale a pena dar uma boa risada neste fim de semana: Security Bear.

(*) "Secure the Blessings of Liberty" está no primeiro parágrafo da Constituição dos Estados Unidos da América.