tag:blogger.com,1999:blog-41502040154755975712024-03-13T02:30:22.933-03:00NexthopNetwork Administration and Security Hands-On!Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.comBlogger126125tag:blogger.com,1999:blog-4150204015475597571.post-10854638470118870692013-07-17T11:08:00.002-03:002013-07-23T09:17:02.347-03:00Gerando IPs aleatóriosPessoal,<br />
<br />
Depois de vários anos sem nenhum post no blog resolvi voltar a ativa e publicar algumas dicas que, espero, sejam úteis para alguém. <br />
<br />
Esta semana precisei executar uma varredura de portas TCP utilizando a ferramenta<a href="http://nmap.org/" target="_blank"> Nmap</a> numa subrede muito grande para a qual não havia tempo hábil para varrer todos os IPs. Tive então que optar por trabalhar com amostragem e a escolha aleatória de endereços IP seria muito útil.<br />
<br />
No entanto havia um problema: o Nmap não tem uma opção para escolher aleatoriamente um número finito de IPs <b>dentro de um critério de uma subrede específica</b> (o que ele gera com a opção -iR é um IP a partir de todo o endereçamento IP disponível na Internet). Ou seja, mãos a obra!<br />
<br />
Aí desenvolvi um script para atender a minha necessidade baseado num artigo que vi no blog do Chad Bibler intitulado<span style="font-weight: normal;"> Generating a Random, Valid IP Address in Subnet in Python</span> (http://dregsoft.com/blog/?p=24). Meu script <b><i>randomip.py</i></b> ficou assim:<br />
<br />
<pre>
#!/usr/bin/env python
import socket
import struct
import random
import math
import sys
def get_max_ips( netmask_length, random_ips ):
# define maximum number of IP addresses to be generated
netmask_ips = int( math.pow( 2, 32-netmask_length ) )
if ( netmask_ips < random_ips ):
winner = int( math.pow( 2, 32-netmask_length ) )
else:
winner = random_ips
return winner
def get_random_ip_in_subnet( ip, netmask_length ):
# thanks to Chad Bibler, http://dregsoft.com/blog/?p=24
# change the IP address into its bytes so we can add a number to it
n = socket.inet_aton( ip )
ip_bytes = struct.unpack( '!i', n )[0]
# we use the netmask_length to get a range of numbers we can add to the IP address
max_to_add = int( math.pow( 2, 32-netmask_length ) )
to_add = random.randrange( 0, max_to_add )
ip_bytes += to_add
# pack it back up
and_back = struct.pack( '!i', ip_bytes )
new_ip = socket.inet_ntoa( and_back )
return new_ip
if ( len(sys.argv) != 4 ):
print "Command syntax: "
print " python randomip.py <subnet> <mask> <# of random IPs from subnet>"
print ""
print " example: python randomip.py 192.168.0.0 20 100"
else:
iplist={}
max_ips=get_max_ips(int(sys.argv[2]),int(sys.argv[3]))
for x in range(0, max_ips):
ip=get_random_ip_in_subnet( sys.argv[1], int(sys.argv[2]))
while(iplist.has_key(ip)):
ip=get_random_ip_in_subnet( sys.argv[1], int(sys.argv[2]))
iplist[ip]=1
print ip
</pre>
<br />
Na prática o meu a minha varredura TCP para escolher 1000 endereços IP dentro da subrede 172.16.0.0/12 ficou assim:<br />
<br />
<pre>
python randomip.py 172.16.0.0 12 1000 | nmap -v -n --open -sS -iL - -oA nmap_out
</pre>
<br />
Podem utilizar o script livremente e sugiro para quem quiser se aventurar no desenvolvimento do script três melhorias:<br />
<ol>
<li>Fazer com que o script em randomip.py aceite um arquivo de entrada com vários blocos IP (para o caso de subredes descontínuas)</li>
<li>Fazer com que o script aceite como parâmetro um ASN (autonomous system). Neste caso ele sortearia os IP baseados neste ASN ou lista de ASNs (os blocos IP deste ASN poderiam ser recuperados a partir de site da <a href="https://stat.ripe.net/" target="_blank">ripe.net</a> ou de alguma informação de BGP externa).</li>
<li>Fazer com que o script aceite como parâmetro a sigla de um país (por exemplo sortear IPs que sejam somente da China). A lista poderia ser recuperada de sites como <a href="http://ipdeny.com/ipblocks/" target="_blank">ipdeny.com</a> </li>
</ol>
Abraços e boa sorte a todos! Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-84614731881412970002010-05-15T11:57:00.004-03:002010-05-15T12:11:51.306-03:00Ajude a Medir a Qualidade da Internet no Brasil<img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsyU8NilUVJxcdq0NH0qChtmJTFxkxFXnTPmsgC-Gh6CM1s9PBkeiCSq9xYqVo4e9Hame9sApVClxWsVmEUVjgHl_YnfYzdFbcpi6AKFtNrTtAHP05Bob1t4AoBgJFY7IzvttxSOiFyaig/s320/logo-simet.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5471511573704816578" />O projeto SIMET já existe há algum tempo como uma iniciativa do Comitê Gestor da Internet no Brasil e se propõe a medir a <b>qualidade da Internet no Brasil</b>. O projeto depende da participação da comunidade de usuários da Internet (técnicos ou leigos) para medir - em todas as regiões do Brasil - a banda disponível, perda de pacotes e até mesmo <i>jitter </i>nos diversos provedores espalhados pelo Brasil. Este é um tipo de projeto que ajuda os provedores a melhorar suas redes, o que obviamente ajuda os usuários da Internet brasileira.<div><br /></div><div>Para participar (aproveite, é indolor e grátis!!) basta clicar no <a href="http://www.ceptro.br/Simet">link para o projeto</a> ou acessar o endereço <a href="http://www.ceptro.br/Simet">http://www.ceptro.br/Simet</a>.</div>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com4tag:blogger.com,1999:blog-4150204015475597571.post-63422205768172752502009-06-19T11:45:00.002-03:002009-06-19T11:57:35.990-03:00Vídeos sobre IPv6 do RIPE/NCCRecentemente o <a href="http://www.ripe.net/">RIPE/NCC</a> publicou (e continua publicando) uma série de vídeos de entrevistas com engenheiros de rede sobre a implementação do IPv6 em suas redes. Aproveitem!<br /><p align="center"><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/Qh3i6lDqWBM&hl=en&fs=1&"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/Qh3i6lDqWBM&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></p><p align="center" style="text-align: left;">Mais informações no <a href="http://www.youtube.com/user/RIPENCC">canal do RIPE/NCC</a> no Youtube.</p>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com1tag:blogger.com,1999:blog-4150204015475597571.post-33727164810732665052009-06-04T01:26:00.005-03:002009-06-04T01:52:40.276-03:00Eventos: GTER/GTS e ysts<div style="text-align: left;">Neste mês de junho, São Paulo vai abrigar dois eventos "de peso" na área de redes e segurança: a reunião conjunta do <a href="http://gter.nic.br/">GTER</a>/<a href="http://gts.nic.br/">GTS</a> (Grupo de Trabalho de Engenharia e Operação de Redes/Grupo de Trabalho em Segurança) que acontece nos dias 19/06 (GTER) e 20/06 (GTS) e a conferência de segurança "mais badalada do Brasil" - o <a href="http://ysts.org/">You Sh0t the Sherrif 3.0</a> - que acontece no dia 22 de junho. </div><div style="text-align: left;"><br /></div><div style="text-align: left;">A reunião do GTER/GTS é organizada pelo <a href="http://www.cgi.br/">CGI.br</a> e o <a href="http://www.nic.br/">NIC.br</a> e tem como objetivo fomentar a discussão de aspectos relevantes para a operação e segurança da Internet brasileira. O evento é gratuito e acontece nos dias 19 e 20 de junho no Hotel Blue Tree Towers Morumbi com um <a href="http://gter.nic.br/reunioes/gter-27/programa">programa</a> de apresentações que inclui palestras sobre ASN de 4 bytes, BGP, VoIP, crimes cibernéticos e outros temas de interesse da comunidade de engenheiros de rede e segurança. Mais informações no <a href="http://gter.nic.br/">site oficial</a>. <br /></div><div><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 206px; height: 208px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP14Xgk8ZUTgTbB5WgEreszwjvtAGZUb89vQa7VLBC1_wIEskXrw43LJCUiE7ZFjrvhiR167EMfEhwT9pbZgPYyWAVFvtpLGo23Jcz22fEyPE-xoB2VOl75qXQY7Ec0mA5RsOfiWNNZMNh/s320/Estrela_transp.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5343329490559068322" /></div><div>Já a edição 3.0 do <span class="Apple-style-span" style="font-style: italic;">ysts </span><span class="Apple-style-span" style="">- organizada pelo criadores do podcast de segurança da informação <a href="http://www.naopod.com.br/">I Sh0t the Sheriff</a> -</span> trás como novidade <a href="http://ysts.org/treinamentos.html">treinamentos</a> em formato de mini-curso em dias separados do evento principal. A agenda completa do evento está disponível <a href="http://ysts.org/agenda.html">aqui</a>. Mais informações também no <a href="http://ysts.org/">site oficial</a>.</div>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-70263882828586888362009-06-03T10:44:00.007-03:002009-06-03T12:28:25.061-03:00Cisco Reverse TelnetEm localidades remotas com poucos equipamentos (um roteador e um <span style="font-style: italic;">switch</span>, por exemplo) e quando não há um <a href="http://en.wikipedia.org/wiki/Console_server">servidor de console</a> disponível, pode-se utilizar a porta auxiliar de um roteador Cisco para conectar-se a console de outro equipamento. Isto é comumente chamado de <span style="font-weight: bold;">Reverse Telnet</span>.<br /><br />Para começar é necessário um cabo do tipo <a href="http://www.cisco.com/en/US/products/hw/routers/ps332/products_tech_note09186a0080094ce6.shtml#topic8"><span style="font-style: italic;">rolled</span></a> - aquele mesmo azul claro que se acumula aos montes no seu depósito e que uma ponta do cabo está na ordem inversa da outra ponta (veja<br />figura). O cabo azul claro da Cisco RJ-45/DB-9 também funciona neste caso.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR4xeDAuW2pPaC1hOjzLyU6T0r8Up1RPOhS-e3QV79gtQ7sIt0pfnTAd8vf2SUEvc2lbctikVf-dqpJR25fZilRqGu5WAdfagJEUH9Fv-OZiC0XVLG1f76B8kNY2UL5ujyvlNHu_sQQUSu/s1600-h/14-h_small.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 141px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR4xeDAuW2pPaC1hOjzLyU6T0r8Up1RPOhS-e3QV79gtQ7sIt0pfnTAd8vf2SUEvc2lbctikVf-dqpJR25fZilRqGu5WAdfagJEUH9Fv-OZiC0XVLG1f76B8kNY2UL5ujyvlNHu_sQQUSu/s400/14-h_small.gif" alt="" id="BLOGGER_PHOTO_ID_5343112908217320594" border="0" /></a><br />Conecte o cabo console na interface auxiliar do equipamento principal e depois na console do outro equipamento. Depois é necessário fazer a seguinte configuração na interface auxiliar (<span style="font-style: italic;">line aux 0</span>).<br /><pre class="source">line aux 0<br /> modem InOut<br /> transport preferred telnet<br /> transport input all<br /> transport output telnet<br /> stopbits 1</pre><br />Também é necessário que o seu roteador Cisco possua uma interface Loopback configurada para que você possa executar o comando telnet <span style="font-style: italic;">para </span>esta interface.<br /><br /><pre class="source">interface loopback 0<br /> ip address 10.1.1.1 255.255.255.255</pre><br />Em seguida, deve-se verificar qual é o número atribuido a sua porta auxiliar. Para isso entre com o comando show line.<br /><br /><pre class="source">Router#show line<br /> Tty Line Typ Tx/Rx A Modem Roty AccO AccI Uses Noise Overruns Int<br /> 0 0 CTY - - - - - 0 0 0/0 -<br /> <span style="font-weight: bold;"> 1 1 AUX 9600/9600 - inout - - - 1 0 1/1 -</span><br />*194 194 VTY - - - - - 3 0 0/0 -<br /> 195 195 VTY - - - - - 1 0 0/0 -<br /> 196 196 VTY - - - - - 0 0 0/0 -<br /> 197 197 VTY - - - - - 0 0 0/0 -<br /> 198 198 VTY - - - - - 0 0 0/0 -</pre><br /><br />As duas primeiras colunas mostram o número atribuído a interface auxiliar. Agora basta executar o comando telnet <span style="font-style:italic;">endereço 2000+line</span>. O último parâmetro (porta) deverá ser o número da linha somado com o número 2000 - para este exemplo ficará 2001.<br /><br /><pre class="source">Router#<span style="font-weight: bold;">telnet 10.1.1.1 2001</span><br />Trying 1.0.0.1, 2001 ... Open<br /><br />login:</pre><br /><br />And that's all folks!<br /><br />Mais informações:<br /><ul><li><a href="http://www.cisco.com/en/US/docs/ios/12_0/dial/configuration/guide/dcrtelnt.html">Cisco IOS Documentation: Establishing a Reverse Telnet Session to a Modem</a><br /></li></ul>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com2tag:blogger.com,1999:blog-4150204015475597571.post-27148643801304339292009-05-18T11:26:00.002-03:002009-05-18T11:36:32.794-03:00Guideline de segurança - CiscoDurante a configuração de equipamentos de rede, normalmente temos dúvidas (ou pelo menos todos deveriam ter) do tipo "Será essa a melhor maneira para configurar isto de maneira segura?".<br /><br />A Cisco possui um guideline com as melhores práticas para configuração, design e implementação de redes de forma segura. Eles atualizaram o documento a pouco tempo.<br /><br />Está disponível <a href="http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/SAFE_RG/SAFE_rg.html">aqui</a>. A página de apresentação do SAFE, nome dado pela Cisco para estes guidelines, é <a href="http://www.cisco.com/en/US/netsol/ns954/index.html">essa</a>.<br /><br />Lembrando que, apesar das informações serem voltadas para equipamentos Cisco, as idéias podem ser aplicadas para arquiteturas baseadas em outros tipos de equipamento, adaptando, claro, as configurações.Thiago Alves Siqueirahttp://www.blogger.com/profile/01918022522042821039noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-68299300390423580102009-04-25T17:20:00.003-03:002009-04-25T17:37:52.378-03:00Dica: Internetworkpro WikiAinda em fase de construção, o <a href="http://inetpro.org/wiki/Main_Page">Internetworkpro Wiki</a>, que como o próprio nome já adianta, é um <span class="Apple-style-span" style="font-style: italic;">wiki</span> que pretende reunir artigos técnicos sobre redes, equipamentos e configurações. Por enquanto a maioria das informações existentes é sobre os equipamentos Cisco - mas se você estiver disposto a ajudar, pode escrever sobre Juniper ou Extreme...<div><br /></div><div>O destaque é para as páginas dos roteadores e <span class="Apple-style-span" style="font-style: italic;">switches</span> que apresentam um bom resumo de cada plataforma. A página de informações sobre <span><span>os switches <a href="http://inetpro.org/wiki/Catalyst_6500">Cisco Catalyst 6500</a> apre</span></span>senta um excelente material para uma consulta rápida. É interessante destacar também os diversos <a href="http://inetpro.org/wiki/Category:Configuration">exemplos de configuração</a> já disponíveis neste <span class="Apple-style-span" style="font-style: italic;">wiki</span>.</div>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-73707828083137211422009-03-30T16:21:00.003-03:002009-03-30T17:04:01.745-03:00Every move you make...Eu sempre imaginei que instalar e manter um software de gerenciamento e <span style="font-style: italic;">backup </span>de configuração de equipamentos de rede fosse uma grande idéia. Não só para conseguir restaurar um equipamento queimado de uma forma mais rápida - já que o backup, pelo menos, existe - mas também para fazer o acompanhamento das mudanças - afinal de contas, estamos na era da <span style="font-style: italic;">Gerência de Mudanças</span>, não?<br /><br />Bom, isto foi o que aconteceu com o Nick, um leitor do <a href="http://isc.sans.org/">ISC Diary</a>, e que o pessoal o SANS ISC <a href="http://isc.sans.org/diary.html?storyid=6100">relatou</a> tão bem. O roteador foi comprometido - com usuário padrão com senha fácil -, e logo o atacante criou um túnel para a sua origem, alterou alguns parâmetros para garantir que a porta estaria aberta da próxima vez e tudo mais. O <span style="font-style: italic;">syslog </span>e o IDS não se manifestaram, afinal de contas, a senha era válida e o acesso era permitido... O atacante só não contava com o Rancid. Assim que o <a href="http://www.shrubbery.net/rancid/">Rancid</a> fez o backup da configuração e detectou a alteração, um e-mail foi enviado para o administrador do sistema e em pouco tempo tudo estava resolvido.<br /><br />Achei interessante relatar este exemplo aqui, já que o <span style="font-style: italic;">post-tutorial</span> que fiz há algum tempo atrás <a href="http://blog.nexthop.com.br/2007/02/rancid.html">sobre o Rancid aqui neste blog</a> é disparado o <span style="font-style: italic;">post menos visto de todos os tempos</span>! O que me faz pensar que todos já tem suas soluções de backup e gerenciamento de configuração funcionando a todo vapor ou não temos nenhum leitor mesmo :-). Particularmente eu ficaria com a segunda opção... Você sabe qual é o software usado na sua empresa para gerenciamento e <span style="font-style: italic;">backup</span> de configuração? Você tem uma dica? Deixe-a aí nos comentarios.<br /><br />Mais informações:<br /><ul><li><a href="http://www.shrubbery.net/rancid/">Página oficial do Rancid</a>.</li><li><a href="http://blog.nexthop.com.br/2007/02/rancid.html">Como instalar e configurar o Rancid passo-a-passo</a>.</li><li><a href="http://isc.sans.org/diary.html?storyid=6100">"Watch your Internet routers!"</a> - ISC Diary de 30/março/2009.<br /></li></ul>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com5tag:blogger.com,1999:blog-4150204015475597571.post-48763095677563687582009-03-23T19:17:00.005-03:002009-03-23T19:39:03.491-03:00Você está preparado?"Você está preparado?". É assim que começa a <a href="http://mail.lacnic.net/pipermail/lacnog/2009-March/000107.html">mensagem</a> que circulou hoje na lista <a href="https://mail.lacnic.net/mailman/listinfo/lacnog">LACNOG</a> (lista mantida pelo LACNIC). Esta mensagem, enviada pelo Roque Gagliano, ressalta uma importante questão sobre o suporte do ASN de 32 bits nas mais diversas plataformas e fabricantes. Assunto que já foi discutido <a href="http://blog.nexthop.com.br/2008/10/bgp-as-com-4-bytes.html">por aqui em outubro do ano passado</a>. Naquela época, algumas versões oficiais ainda não suportavam ASN de 32 bits.<br /><br />O link enviado hoje pelo Roque remete a <a href="http://as4.cluepon.net/index.php/Software_Support">uma página</a> que contém um bom resumo para verificar como está o suporte a ASN 32 bits hoje, além de muitas outras informações sobre qual é o padrão adotado para a notação do ASN de 32 bits e o calendário de alocação de ASN adotado pelos RIR. Para quem acredita em <span style="font-style: italic;">saci, caipora e cuca</span> (como eu) também pode conferir como está a alocação de ASN (16 bits) no <a href="http://www.potaroo.net/tools/asn16/">relatório</a> produzido pelo Geoff Huston. A imagem abaixo (retirada deste relatório) mostra a progressão das alocações de ASN de 16 bits até março de 2009 e ainda a projeção linear e exponencial para o futuro.... <span style="font-style: italic;">não muito distante</span>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdyUjoUFc-8vTYjbugp_ZFftjrj_NzqVsdiaxJkKGlfM3PNaLLWY2WYV0NAZ_dees29K_ZA82TyVe61ksTpa3sSJxWZwp78_DVM92AxRIc2OgApGjUAjMwWdWgL_kGX9rkMim3rM3dzdcA/s1600-h/fig12.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdyUjoUFc-8vTYjbugp_ZFftjrj_NzqVsdiaxJkKGlfM3PNaLLWY2WYV0NAZ_dees29K_ZA82TyVe61ksTpa3sSJxWZwp78_DVM92AxRIc2OgApGjUAjMwWdWgL_kGX9rkMim3rM3dzdcA/s400/fig12.png" alt="" id="BLOGGER_PHOTO_ID_5316514940357345762" border="0" /></a>Mais informações em:<br /><ul><li><a href="http://www.potaroo.net/tools/asn16/">The 16-bits AS number report</a> (potaroo.net)</li><li><a href="http://as4.cluepon.net/index.php/Software_Support">Software support for 32-bits ASN</a> (wiki)<br /></li></ul>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-66407317895845093962009-02-23T12:21:00.003-03:002009-02-24T13:51:01.829-03:00Cancelando com CTRL+C no CiscoSempre tive problemas no meu Ubuntu, utilizando o Terminal, para cancelar um traceroute ou um ping quando conectado em um equipamento Cisco. Mas, meus problemas acabaram. E compartilho com vocês do blog. Graças a um comentário na lista da Nanog descobri que, utilizando o comando <span style="font-style:italic;">escape-character 3</span> dentro dos <span style="font-style:italic;">line vty</span> e do <span style="font-style:italic;">line con</span>, você pode utilizar simplesmente CTRL+C para cancelar o comando.<br /><br />Portanto, em modo de configuração:<br /><br /><p class="source">Router(config)#line vty 0 15<br />Router(config-line)#escape-character 3<br />Router(config)#line con 0<br />Router(config-line)#escape-character 3<br /></p>Thiago Alves Siqueirahttp://www.blogger.com/profile/01918022522042821039noreply@blogger.com3tag:blogger.com,1999:blog-4150204015475597571.post-23166437404527009712009-02-20T14:48:00.025-03:002009-02-20T18:32:21.110-03:00Um roteador, dois provedores e alguma redundânciaDe tempos em tempos surge em alguma lista ou forum de discussão a questão de <span style="font-style: italic;">como ter redundância entre dois provedores de forma automática no meu escritório?</span> E essa foi exatamente a questão que foi feita no forum do blog <a href="http://blog.ccna.com.br/">Cisco Certified</a>. É claro que existem soluções proprietárias (o <a href="http://www.radware.com/Products/ApplicationDelivery/LinkProof/default.aspx">Radware Linkproof</a>, por exemplo) ou <span style="font-style: italic;">open-source</span> para a solução deste problema, mas a solução que vou explicar aqui é toda baseada em um único roteador Cisco recebendo dois links de provedores diferentes (leia-se: com endereçamento válido diferente).<br /><br />O cenário que iremos tratar neste post é o seguinte:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoigQzeyPXdO5l236-zYh1_1R63ZqDZ8af54Mqo-F9U5Yr_fmts5Ltvo-7ORmQ03jLvI-tUDc3d7jWfRV7DddRGSEi-d2IObBCzcolLa0sg6m5Qhp2AD3lMDmMOm2SLpoOA7xPJ7QmyP7U/s1600-h/Drawing3.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 395px; height: 339px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoigQzeyPXdO5l236-zYh1_1R63ZqDZ8af54Mqo-F9U5Yr_fmts5Ltvo-7ORmQ03jLvI-tUDc3d7jWfRV7DddRGSEi-d2IObBCzcolLa0sg6m5Qhp2AD3lMDmMOm2SLpoOA7xPJ7QmyP7U/s400/Drawing3.png" alt="" id="BLOGGER_PHOTO_ID_5304961727124828722" border="0" /></a>Neste cenário, o roteador <span style="font-style: italic;">Router </span>está conectado ao <span style="font-style: italic;">ISP 1 </span>e ao <span style="font-style: italic;">ISP 2</span> através de links ponto-a-ponto e o endereçamento válido que o cliente deverá usar é o mesmo do <span style="font-style: italic;">link</span>. Na rede interna do cliente não existe nenhum servidor (pelo menos para este exemplo). Só existem conexões do escritório (redes 192.168.0.0/24 e 172.16.0.0/24) para a Internet. Neste exemplo também estou considerando que a rede 192.168.0.0/24 irá utilizar o ISP 2 e a rede 172.16.0.0/24 o ISP 1 (devido à política interna, uma rede tem prioridade sobre a outra, etc). Estas redes podem ou não estar diretamente conectadas no roteador <span style="font-style: italic;">Router</span>.<br /><br />É claro que colocar uma rota default apontando para um ou outro provedor (ISP) não será a nossa solução e, para este caso, quando não podemos utilizar um protocolo de roteamento dinâmico, vamos utilizar duas features da Cisco: o <span style="font-weight: bold;">Cisco IP SLA</span> (que já foi tratado <a href="http://blog.nexthop.com.br/2008/11/cisco-ip-sla.html">neste post</a>) e o <span style="font-weight: bold;">Policy-Based Routing</span> (que também já foi tratado <a href="http://blog.nexthop.com.br/2008/10/cisco-policy-based-routing.html">neste outro post</a>).<br /><br />O primeiro passo é configurar uma monitoração com o IP SLA e começar a fazer o <span style="font-style: italic;">tracking </span>desta monitoração. Para isso utilizaremos o <span style="font-style: italic;">Object Tracking</span>.<br /><br /><pre class="source">ip sla monitor 1<br /> type echo protocol ipicmpecho 10.1.1.2<br /> frequency 5<br />ip sla monitor schedule 1 start-time now life forever<br /><br />ip sla monitor 2<br /> type echo protocol ipicmpecho 10.1.2.2<br /> frequency 5<br />ip sla monitor schedule 2 start-time now life forever<br /><br />track 123 rtr 1 reachability<br />track 124 rtr 2 reachability</pre><br />Para verificar que o tracking está funcionando, utilize o comando <span style="font-style: italic;">show track</span>.<br /><br /><pre class="source">Router#<span style="font-weight: bold;">show track</span><br />Track 123<br /> Response Time Reporter 1 reachability<br /> Reachability is Up<br /> 1 change, last change 00:00:05<br /> Latest operation return code: OK<br /> Latest RTT (millisecs) 168<br />Track 124<br /> Response Time Reporter 2 reachability<br /> Reachability is Up<br /> 1 change, last change 00:00:04<br /> Latest operation return code: OK<br /> Latest RTT (millisecs) 124</pre><br /><br />Como estamos preocupados com o tempo de convergência da rede na ocasião de uma falha, configurei o intervalo de testes do IP SLA para 5 segundos. Agora iremos utilizar o tracking que configuramos no passo anterior em um route-map que verificará se o <span style="font-style: italic;">default gateway</span> está respondendo ou não, para então utilizar somente aquele que estiver respondendo.<br /><br /><pre class="source">access-list 11 permit host 172.16.0.1<br />access-list 12 permit host 192.168.0.1<br /><br />route-map in-out-link-1 permit 10<br /> match ip address 11<br /> set ip next-hop verify-availability 10.1.1.2 10 track 123<br /> set ip next-hop verify-availability 10.1.2.2 20 track 124<br /><br />route-map in-out-link-1 permit 20<br /> match ip address 12<br /> set ip next-hop verify-availability 10.1.2.2 10 track 124<br /> set ip next-hop verify-availability 10.1.1.2 20 track 123</pre><br /><br />Como podemos observar (pelo menos em nosso teste) o host 172.16.0.1 utilizará o ISP 1 (next-hop 10.1.1.2) preferencialmente e o host 192.168.0.1 utilizará o outro ISP. Agora podemos verificar como está o nosso route-map.<br /><br /><pre class="source">Router#<span style="font-weight: bold;">show route-map in-out-link-1</span><br />route-map in-out-link-1, permit, sequence 10<br /> Match clauses:<br /> ip address (access-lists): 11 <br /> Set clauses:<br /> ip next-hop verify-availability 10.1.1.2 10 track 123 [up]<br /> ip next-hop verify-availability 10.1.2.2 20 track 124 [up]<br /> Policy routing matches: 0 packets, 0 bytes<br />route-map in-out-link-1, permit, sequence 20<br /> Match clauses:<br /> ip address (access-lists): 12 <br /> Set clauses:<br /> ip next-hop verify-availability 10.1.2.2 10 track 124 [up]<br /> ip next-hop verify-availability 10.1.1.2 20 track 123 [up]<br /> Policy routing matches: 0 packets, 0 bytes</pre><br />O último passo é configurar o NAT nas interfaces utilizando um route-map para identificar qual é a interface que está sendo utilizada como saída. Dessa forma, quando um determinado pacote for utilizar o link do ISP 1 para acessar a Internet, o NAT irá traduzir para o endereço da interface correspondente (dado que estamos utilizando <span style="font-style: italic;">interface overload</span> na configuração do NAT).<br /><br /><pre class="source">interface fa0/0<br /> ip nat inside<br /> <i style="color: rgb(192, 192, 192);">! devemos aplicar o route-map in-out-link-1 na interface conectada na rede</i><br /> <i style="color: rgb(192, 192, 192);">! interna para fazer com que o roteador não utilize a tabela de rotas padrão. </i><br /> ip policy route-map in-out-link-1<br /><br />int atm1/0.1<br /> ip nat outside<br /><br />interface atm2/0.1<br /> ip nat outside<br /><br />route-map nat-1 permit 10<br /> match interface ATM1/0.1<br />!<br />route-map nat-2 permit 10<br /> match interface ATM2/0.1<br />!<br />ip nat inside source route-map nat-1 interface atm 1/0.1<br />ip nat inside source route-map nat-2 interface atm 2/0.1</pre><br /><br />Neste momento, podemos fazer a primeira verificação. Como exemplo, estou utilizando um roteador com endereço IP 192.168.0.1 e 172.16.0.1 para fazer os testes.<br /><br /><pre class="source">Host#ping 1.1.1.1 source lo0<br /><br />Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:<br />Packet sent with a source address of 172.16.0.1<br />!!!!!<br />Success rate is 100 percent (5/5), round-trip min/avg/max = 32/295/760 ms<br /><br />Host#ping 1.1.1.1 source lo1<br /><br />Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:<br />Packet sent with a source address of 192.168.0.1<br />!!!!!<br />Success rate is 100 percent (5/5), round-trip min/avg/max = 96/187/304 ms</pre><br />Este host está conectado na <span style="font-style: italic;">interface fastethernet0/0</span> do roteador <span style="font-style: italic;">Router</span>. Podemos verificar também que a tabela de NAT está mostrando as traduções para os dois links separadamente.<br /><br /><pre class="source">Router#<span style="font-weight: bold;">show ip nat translations</span><br />Pro Inside global Inside local Outside local Outside global<br />icmp <span style="color: rgb(0, 0, 153); font-weight: bold;">10.1.1.1</span>:116 172.16.0.1:116 1.1.1.1:116 1.1.1.1:116<br />icmp <span style="color: rgb(0, 102, 0); font-weight: bold;">10.1.2.1</span>:117 192.168.0.1:117 1.1.1.1:117 1.1.1.1:117</pre><br />Observe que a primeira linha de traduções mostra a tradução para o endereço <span style="color: rgb(0, 0, 153); font-weight: bold;">10.1.1.1</span> (que é o endereço do ISP 1 e a segunda linha mostra a tradução para o endereço do ISP 2: <span style="color: rgb(0, 102, 0); font-weight: bold;">10.1.2.1</span>. Vamos agora simular a falha do ISP 2 e ver o que acontece com a tabela de traduções e os <span style="font-style: italic;">pings</span>.<br /><br /><pre class="source">Router#<span style="font-weight: bold;">show track</span><br />Track 123<br /> Response Time Reporter 1 reachability<br /> Reachability is Up<br /> 1 change, last change 00:02:45<br /> Latest operation return code: OK<br /> Latest RTT (millisecs) 79<br /> Tracked by:<br /> ROUTE-MAP 0<br />Track 124<br /> Response Time Reporter 2 reachability<br /> <b>Reachability is Down</b><br /> 2 changes, last change 00:00:00<br /> Latest operation return code: Timeout<br /> Tracked by:<br /> ROUTE-MAP 0<br /><br />Router#<span style="font-weight: bold;">show route-map in-out-link-1</span><br />route-map in-out-link-1, permit, sequence 10<br /> Match clauses:<br /> ip address (access-lists): 11 <br /> Set clauses:<br /> ip next-hop verify-availability 10.1.1.2 10 track 123 [up]<br /> ip next-hop verify-availability 10.1.2.2 20 track 124 <b>[down]</b><br /> Policy routing matches: 0 packets, 0 bytes<br />route-map in-out-link-1, permit, sequence 20<br /> Match clauses:<br /> ip address (access-lists): 12 <br /> Set clauses:<br /> ip next-hop verify-availability 10.1.2.2 10 track 124 <b>[down]</b><br /> ip next-hop verify-availability 10.1.1.2 20 track 123 [up]<br /> Policy routing matches: 0 packets, 0 bytes<br /><br />Router#show ip nat translations<br />Pro Inside global Inside local Outside local Outside global<br />icmp <span style="font-weight: bold;">10.1.1.1</span>:119 172.16.0.1:119 32.1.1.1:119 32.1.1.1:119<br />icmp <span style="font-weight: bold;">10.1.1.1</span>:118 192.168.0.1:118 32.1.1.1:118 32.1.1.1:118</pre><br />Aproximadamente cinco segundos após desligar o link para o ISP 2, podemos observar que o tracking não está mais funcionando para o endereço 10.1.2.2 - assim como o nosso route-map -, e a tabela de NAT mostra que agora estamos traduzindo todos os endereços para 10.1.1.1 (que é o endereço do ISP 1).<br /><br />Lembre-se sempre que este é um exemplo e que para ser aplicado em um ambiente real devem ser feitos alguns ajustes.<br /><br />Mais informações em:<br /><ul><li><a href="http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/guide/gtpbrtrk.html#wp1057830">Using Object Tracking with Cisco Policy-based Routing</a>.<br /></li></ul>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com8tag:blogger.com,1999:blog-4150204015475597571.post-10920069231612946032009-02-17T16:45:00.006-03:002009-10-16T16:31:50.526-03:00Atualizar Horário de Verão - Juniper M7i 9.1 ou maior<p>Estava com dificuldades para configurar o horário de verão em um Juniper M7i com JunOS acima de 9.1. Conectei no shell e vi que existia o zic e o zdump. Pensei: se a base é BSD e tenho essas duas ferramentas, por que não fazer igual no próprio FreeBSD?<br /></p><p>Tentei e funcionou. E, não é solução de contorno. Achei depois de ter feito um documento na Knowledge Base da Juniper que corrobora a solução.<br /></p><p>Entre na shell do Juniper após conectado:<br /></p><p class="source">>start shell</p><br />Entre no modo superusuário:<p class="source">#su -<br />#vi ZONA.zic<br /></p><br />Dentro do arquivo, para o caso do horário de verão 2008/2009 (que agora é fixo e, portanto, você pode fazer para todos os anos seguindo as regras), coloque:<br /><p class="source">Rule Brazil 2008 only - Oct 19 00:00 1 S<br />Rule Brazil 2009 only - Feb 15 00:00 0 -<br /><br />Zone ZONA -3:00 Brazil BR%sT<br /></p><br />O nome ZONA é o que aparecerá depois na CLI para seleção do seu horário de verão personalizado. Coloque o nome que preferir.<br /><br />Como referência, indico o site da <a href="http://www.csirt.pop-se.rnp.br/index.php?option=com_content&task=view&id=97&Itemid=9">RNP</a> que sempre coloca o modo de fazer esse tipo de atualização nos sistemas operacionais mais comuns.<br /><br />Após salva o arquivo, saia e, de volta ao shell em modo root, execute:<br /><p class="source">#/usr/libexec/ui/compile-tz ZONA.zic</p><br />Saia do modo shell e volte para a CLI. Lá, informe ao Juniper que você quer usar a base personalizada de time-zone, e não a padrão:<br /><p class="source">>set system use-imported-time-zones</p><br />Agora, configure seu timezone, escolhendo a zona ZONA:<br /><p class="source">>set system time-zone ZONA</p><br />Salve as configurações e confira com um "show system uptime" se tudo está certo.<br /><p>Se você tem acesso ao KB da Juniper, clique <a href="http://www.juniper.net/techpubs/software/junos/junos91/swconfig-system-basics/setting-a-custom-time-zone.html">aqui</a> e acesse o documento que mostra quase isso, que você só vê mastigado aqui no Nexthop.</p>Thiago Alves Siqueirahttp://www.blogger.com/profile/01918022522042821039noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-52151534742504818002009-01-07T18:56:00.009-02:002009-01-09T18:21:33.469-02:00Perigo! Certificados SSL que utilizam o MD5 podem ser forjados<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.win.tue.nl/hashclash/rogue-ca/images/attack.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 295px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFRarPWnKA5LybUa3PpeD2PvvfdLiVjd5gzroytncD2H9vJLHQbwbho9GpyAQW3li5AUMH6DiIKF1SwDXFeUa1F0sRpReDzJyykCgofZXrb396jNp1EzykMO259go-SNiF8kTSIr-v2j4Y/s400/attack_original.png" alt="" id="BLOGGER_PHOTO_ID_5289391248349177554" border="0" /></a>O pessoal que acompanha assuntos de segurança deve ter lido a respeito do ataque demonstrado por Alexander Sotirov na <a href="http://events.ccc.de/congress/2008/">25th Chaos Communication Congress</a>, onde ele mostrou a fragilidade do algoritimo de hashes criptográficos MD5 em aplicações PKI, utilizando um cluster formado por 200 Playstation 3.<br /><br />A vulnerabilidade permite que uma pessoa mal intencionada possa criar uma <a href="https://i.broke.the.internet.and.all.i.got.was.this.t-shirt.phreedom.org/">Rogue Certification Authority</a> e enganar o browser. Certamente isso será muito utilizado para ataques de phishing/pharming sofisticados, combinando com ataques de DNS, ou seja, a imaginação não tem limite para essa vulnerabilidade.<br /><br />Muitas pessoas não técnicas se bastam do CADEADINHO do browser para se sentirem seguras. Já pessoas com maior conhecimento poderão clicar no cadeado e, mesmo assim, serem enganadas, pois o certificado estaria validado por uma Rogue CA.<br /><br />As CAs afetadas (que possuem certificados assinados em MD5) terão que trocar esses certificados para seus clientes e isso dará muito trabalho. Essa mudança já deverá ser feita para SHA-2 ou SHA-3, já que SHA-1 também pode ser vulnerável para alguns ataques.<br /><br /><br />Para as pessoas que utilizam Firefox existem duas extensões que podem auxiliá-lo a detectar se o site HTTPS que você está acessando usa certificados que utilizam MD5:<br /><br />* <a href="http://codefromthe70s.org/sslblacklist.aspx">SSL BlackList</a><br />* <a href="http://www.cs.cmu.edu/%7Eperspectives/firefox.html">Perspectives</a><br /><br />Para quem gosta do framework Metasploit, foi disponibilizado recentemente um <a href="http://blog.metasploit.com/2009/01/scanning-for-md5-signed-ssl.html">módulo</a> que pode varrer endereçamentos internos e identificar se existem certificados que precisam ser trocados.Jarbas Peixotohttp://www.blogger.com/profile/02113031315050958277noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-42925228832979076462008-12-23T19:08:00.005-02:002008-12-23T19:48:06.117-02:00Verificar Interface ÓticaEsta é a primeira dica que recebemos via e-mail (!!!). É um simples comando que nem aquele que tudo indexa (google) conseguiu encontrar. A dica foi enviada pelo Rodrigo Stival Lopes (obrigado Rodrigo!!). A referência mais próxima que conseguimos encontrar é o "<a href="http://www.cisco.com/en/US/docs/ios/interface/command/reference/ir_s4.html#wp1013465">show hw-module subslot transceiver</a>" no <a href="http://www.cisco.com/en/US/docs/ios/interface/command/reference/ir_s4.html">Cisco IOS Interface and Hardware Component Command Reference</a>. Vejam um exemplo abaixo:<br /><br /><pre class="source">Switch# <span style="font-weight: bold; color: rgb(0, 0, 153);">show hw-module all transceiver 001 status</span><br />The Transceiver in slot 0 subslot 0 port 1 is enabled.<br />Module temperature = +44.390 C<br />Transceiver Tx supply voltage = 3300.4 uVolts<br />Transceiver Tx bias current = 25344 uAmps<br />Transceiver Tx power = -1 dBm<br />Transceiver Rx optical power = -7 dBm</pre><br />Como podemos ver através da <a href="http://www.cisco.com/en/US/products/hw/modules/ps4999/products_tech_note09186a00807a30d6.shtml">documentação da Cisco</a>, o <span style="font-style: italic;">show hw-module</span> permite verificar informações do hardware e o estado operacional (potência, tipo, conector, etc) de interfaces óticas SFP (<span class="content"><span style="font-style: italic;">small form-factor pluggable</span>).<br /><br />Mais informações:<br /></span><ul><li><a href="http://blog.nexthop.com.br/search?q=SFP">Informações sobre SFP</a> no blog Nexthop.</li><li><a href="http://www.cisco.com/en/US/products/hw/modules/ps4999/products_tech_note09186a00807a30d6.shtml">Cisco Small Form-Factor Pluggable (SFP) Transceiver Modules Maintenance and Troubleshooting</a>.</li><li>Cisco IOS Interface and Hardware Component Command Reference: <span class="content"></span><a href="http://www.cisco.com/en/US/docs/ios/interface/command/reference/ir_s4.html#wp1013465">show hw-module subslot transceiver.</a></li></ul>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com2tag:blogger.com,1999:blog-4150204015475597571.post-2943508112732642502008-11-20T18:43:00.018-02:002008-11-26T14:10:20.081-02:00Cisco IP SLAConhecida antes da versão 12.4T como RTR (<span style="font-style: italic;">Response Time Report</span>) e SAA (<span style="font-style: italic;">Service Assurance Agent</span>), a ferramenta de monitoração <a href="http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/12_4t/sla_12_4t_book.html"><span style="font-weight: bold;">Cisco</span> <span style="font-weight: bold;">IP SLA</span></a> (<span style="font-style: italic;">Service Le</span><span style="font-style: italic;">vel Agent</span>) é utilizada para fazer monitoração ativa de tempo de resposta via ICMP (ou utilizando outras aplicações como HTTP e DNS), jitter (inclusive jitter unidirecional), perda de pacotes, etc. diretamente em um roteador Cisco, ou seja, sem depender de um outro software ou servidor para fazer a colheta destas informações. Apesar das informações estarem disponíveis no roteador, é também interessante utilizar alguma ferramenta para gerar um gráfico, como o MRTG ou Cacti, para deixar o seu chefe ainda mais feliz! :-)<br /><br /><span style="font-weight: bold;">Configurando o IP SLA</span><br /><br />Vamos ver um exemplo de configuração para medir o tempo de resposta entre dois pontos utilizando a ferramenta para medir jitter do IP SLA. Entenda dois pontos como um circuit ponto-a-ponto ou dois pontos quaisquer na Internet. Veja a configuração:<br /><pre class="source">! criamos a monitoração 100 para o endereço IP 10.10.10.1<br />!<br />ip sla 100<br />icmp-jitter 10.10.10.1 source-ip 192.168.1.1 num-packets 20<br />frequency 300<br />!<br />! então é necessário ativar a monitoração recém criada<br />!<br />ip sla schedule 100 start-time now life forever<br /></pre><br />Depois de criarmos a monitoração e ativá-la, podemos verificar se está funcionando e como está o nosso tempo de resposta e perda de pacotes com o comando show ip sla statistics 100.<br /><br /><pre class="source">Router#<span style="font-weight: bold;">sh ip sla statistics 100</span><br /><br />Round Trip Time (RTT) for Index 100<br />Type of operation: icmpJitter<br /> <span style="color: rgb(0, 0, 153);">Latest RTT: 230 milliseconds</span><br />Latest operation start time: 13:04:36.499 BRST Wed Nov 26 2008<br />Latest operation return code: OK<br />RTT Values:<br /> Number Of RTT: 13 <span style="color: rgb(0, 0, 153);">RTT Min/Avg/Max: 325/354/413</span><br />Latency one-way time:<br /> Number of Latency one-way Samples: 0<br /> Source to Destination Latency one way Min/Avg/Max: 0/0/0<br /> Destination to Source Latency one way Min/Avg/Max: 0/0/0<br />Jitter Time:<br /> Number of SD Jitter Samples: 9<br /> Number of DS Jitter Samples: 9<br /> Source to Destination Jitter Min/Avg/Max: 1/5/17<br /> Destination to Source Jitter Min/Avg/Max: 0/25/71<br />Packet Late Arrival: 0<br />Out Of Sequence: 0<br /> Source to Destination: 0 Destination to Source 0<br /> In both Directions: 0<br />Packet Skipped: 0 Packet Unprocessed: 7<br />Packet Loss: 0<br /> Loss Period Length Min/Max: 0/0<br /><span style="color: rgb(0, 0, 153);">Number of successes: 1</span><br /><span style="color: rgb(0, 0, 153);">Number of failures: 0</span><br />Operation time to live: Forever</pre><br />As informações que queremos observar estão destacadas em azul.<br /><br /><span style="font-weight: bold;">Gerando os Gráficos</span><br /><br />Para continuar este exemplo, vamos gerar um gráfico das informações de RTT (<span style="font-style: italic;">round-trip time</span>) máximo e mínimo. Para isso, vamos utilizar o MRTG e os OIDs:<br /><ul><li><span style="font-weight: bold;">rttMonLatestIcmpJitterRTTMin</span>.XXX ou 1.3.6.1.4.1.9.9.42.1.5.4.1.4.XXX para medir o RTT mínimo da instância XXX (no nosso caso a instância 100).</li><li> <span style="font-weight: bold;">rttMonLatestIcmpJitterRTTMax</span>.XXX ou 1.3.6.1.4.1.9.9.42.1.5.4.1.5.<wbr>XXX para medir o RTT máximo da instância XXX.<br /></li></ul><div id=":1l0" class="ArwC7c ckChnd">A configuração do MRTG utilizada foi:<br /><br /><pre class="source"># IP SLA 100<br />Target[rtt_mon_100]:1.3.6.1.4.1.9.9.42.1.5.4.1.4.100&1.3.6.1.4.1.9.9.42.1.5.4.1.5.100:community@192.168.1.1:<br />MaxBytes[rtt_mon_100]: 350<br />AbsMax[rtt_mon_100]: 2000<br />YLegend[rtt_mon_100]: Round Trip Time<br />ShortLegend[rtt_mon_100]: ms<br />LegendI[rtt_mon_100]: min rtt (ms):<br />LegendO[rtt_mon_100]: max rtt (ms):<br />Legend1[rtt_mon_100]: min rtt (ms)<br />Legend2[rtt_mon_100]: max rtt (ms)<br />Title[rtt_mon_100]: Tempo de Resposta - IP SLA 100</pre><br /><br />Para a monitoração que configuramos anteriormente, podemos obter um gráfico que nos mostrará o tempo de resposta mínimo (em verde) e o máximo (em azul). Deste gráfico podemos ter uma idéia de como está o jitter para um determinado circuito ou caminho.<br /><pre><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDic1IeNtctWjCN77fqGhRrIM6IO-3Yn8omsEc-VZPLGmUs7H9slc8JyNPV409eDNd16H5mtV8eBs6UXFXmgz8rbRJR8BeJDqwfzXArBc3Q43Nqc4_nNibWFfXD1nQ1v-TXK-ckbyXTOXS/s1600-h/rtt_4.PNG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 157px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDic1IeNtctWjCN77fqGhRrIM6IO-3Yn8omsEc-VZPLGmUs7H9slc8JyNPV409eDNd16H5mtV8eBs6UXFXmgz8rbRJR8BeJDqwfzXArBc3Q43Nqc4_nNibWFfXD1nQ1v-TXK-ckbyXTOXS/s320/rtt_4.PNG" alt="" id="BLOGGER_PHOTO_ID_5272990652700418866" border="0" /></a></pre>Com esta simples monitoração é possível observar a variação do tempo de resposta com o passar do tempo (veja figura 1 no período entre 18:00 e 22:00 horas) ou ainda verificar que um determinado caminho está congestionado - com alterações no tempo de resposta, principalmente durante certos períodos (veja figura 2).<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh39sjz7mR5v4rNikH1RhPvn4QTF9Nup1qCxvU7ezxETdq7Dqxrp9UoL_WOKKr_HODGG2V32lHqTb9nzTgTtoKvCZl47mdHDkWQVqq-i3PRf6kAeOpXpbDYacm69avgWMCgM44uCgw8bwCv/s1600-h/rtt_2.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 108px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh39sjz7mR5v4rNikH1RhPvn4QTF9Nup1qCxvU7ezxETdq7Dqxrp9UoL_WOKKr_HODGG2V32lHqTb9nzTgTtoKvCZl47mdHDkWQVqq-i3PRf6kAeOpXpbDYacm69avgWMCgM44uCgw8bwCv/s400/rtt_2.png" alt="" id="BLOGGER_PHOTO_ID_5272992469763269666" border="0" /></a><span style="font-weight: bold;">Figura 1</span><br /></div><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJTZ6zMwnIVN5coS9DCvXLOCM9yOCo-VBd7RrxihfoWu_bnm_W7GLCnSJCviaxyer6RG0Q7Q-l4RwhEDqwJYOfOCVB80GTDwziB2xAiOm5rrmp_zHyQW7UqQnPjxKtSr4e_oCG0U01Mo6/s1600-h/rtt_3.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 108px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJTZ6zMwnIVN5coS9DCvXLOCM9yOCo-VBd7RrxihfoWu_bnm_W7GLCnSJCviaxyer6RG0Q7Q-l4RwhEDqwJYOfOCVB80GTDwziB2xAiOm5rrmp_zHyQW7UqQnPjxKtSr4e_oCG0U01Mo6/s400/rtt_3.png" alt="" id="BLOGGER_PHOTO_ID_5272992848692110562" border="0" /></a><span style="font-weight: bold;">Figura 2</span><br /></div><br />Para mais informações:<br /><ul><li><a href="http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/12_4t/sla_12_4t_book.html">Cisco IOS IP SLA Configuration Guide (12.4T).</a></li><li><a href="http://www.emnico.com/mib/mibsearch.php?mib=CISCO-RTTMON-ICMP-MIB">SNMP MIB Lookup Tool</a> CISCO-RTTMON-ICMP-MIB.</li><li><a href="http://oss.oetiker.ch/mrtg/">Tobi Oetiker's MRTG</a><br /></li></ul></div>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com4tag:blogger.com,1999:blog-4150204015475597571.post-24236888731046004112008-11-12T16:09:00.010-02:002008-11-14T02:53:19.833-02:00Monitoração de prefixos BGP na Internet<span style="font-weight: bold;">O Problema</span><br /><br />Depois dos diversos problemas de sequestro de prefixos BGP na Internet - como o famoso <a href="http://blog.nexthop.com.br/2008/02/as17557-e-o-youtube.html">caso YouTube versus Pakistan Telecom</a> - as ferramentas de monitoração de prefixos BGP, gratuitas ou pagas, ganharam mais visibilidade entre os administradores de rede ao redor do mundo. E nesta última terça-feira, 11 de novembro às 2:00 horas GMT, uma destas ferramentas começou a disparar inúmeros alertas alegando que o AS16735 havia sequestrado uma grande quantidade de prefixos (mais de 50% dos prefixos existentes na Internet). Veja um exemplo do alerta gerado pelo <a href="http://bgpmon.net/">BGPmon</a>:<br /><blockquote>You Receive this email because you are subscribed to BGPmon.net.<br />For more details about these updates please visit:<br />http://bgpmon.net/showupdates.php<code><br /><br /></code>====================<br />Possible Prefix Hijack (Code: 11)<br />1 number of peer(s) detected this updates for your prefix<br /><a href="http://61.11.208.0/20" target="_blank">10.10.80.0/20</a>:<br />Update details: 2008-11-11 02:24 (UTC)<br /><a href="http://61.11.208.0/20" target="_blank">10.10.80.0/20</a><br />Announced by: AS16735 (Companhia de Telecomunicacoes do<br />Brasil Central)<br />Transit AS: 27664 (CTBC Multimídia)<br />ASpath: <span style="color: rgb(0, 153, 0);">27664 16735</span><br />=====================</blockquote>Como os administradores que receberam estes alertas não conseguiram alcançar o AS16735, logo assumiram que o sequestro realmente tinha acontecido, já que ao verificar a situação dos prefixos sequestrados no <a href="http://ris.ripe.net/">RIS</a> (ferramenta do <a href="http://www.ripe.net/">RIPE</a>) ou no <span style="font-style: italic;">looking glass</span> do <a href="http://sp.ptt.br/">PTT-Metro</a>, também constataram que o <span style="font-style: italic;">AS-path</span> (<span style="color: rgb(0, 153, 0);">27664 16735</span> ou ainda <code></code>22548 16735) não estava correto.<br /><br /><span style="font-weight: bold;">Os Fatos</span><br /><br />O primeiro fato interessante é que tanto o AS27664 e quanto o AS22548 são clientes de trânsito do AS16735 e os dois primeiros (AS27664 e o AS22548) estão alimentando com a tabela BGP completa o projeto RIS do RIPE no PTT-Metro (rrc15). Isso significa que tanto para o RIS quanto para o BGPmon (que utiliza as informações do RIS para monitorar e gerar os alertas) ínumeros prefixos da tabela BGP passaram a ser anunciados pelo AS16735 - o que comumente é conhecido como <span style="font-style: italic;">leaking </span>(ou vazamento) da tabela BGP. Já que o AS16735 não possui autoridade administrativa sobre estes prefixos, podemos supor então que houve um re-anúncio da tabela BGP, este último causado por algum problema interno ao AS16735.<br /><br /><span style="font-weight: bold;">Esse sequestro de prefixos, no entanto, não foi percebido em nenhum outro ponto da Internet - ficando restrito ao AS16735 e seus clientes, como é o caso do AS27664 e AS22548</span><span style="font-weight: bold;"> -</span> graças aos filtros existentes na maioria dos sistemas autônomos ou grandes operadoras de telecomunicações. Ainda de acordo com as análises do <a href="http://bgpmon.net/blog/?p=80">BGPmon</a> e da <a href="http://www.renesys.com/blog/2008/11/brazil-leak-if-a-tree-falls-in.shtml#more">Renesys</a>, este problema durou aproximadamente 5 minutos. Mas, mesmo depois deste período, muitos outros sistemas autônomos continuaram não alcançando a rede do AS16735, pois grande parte do AS16735 não estava acessível em razão de outros problemas. E este último fato aumentou consideravelmente o <span style="font-style: italic;">burburinho</span> sobre este problema.<br /><br /><span style="font-weight: bold;">As Lições Aprendidas</span><br /><br />A primeira grande lição é não confiar somente em uma fonte de informação, como foi o caso de <a href="http://taosecurity.blogspot.com/2008/11/bgpmon-on-bgp-table-leak-by.html">muita gente</a>. Para ter certeza do problema, verifique a informação nos mais diversos servidores de <span style="font-style: italic;">looking glass</span> espalhados pelo mundo. Como exemplo, o primeiro <span style="font-style: italic;">looking glass</span> que eu verifiquei naquela madrugada, sequer soube da existência do AS16735 no caminho destes inúmeros prefixos... Mesmo assim, esse tipo de problema não deve ser subestimado.<br /><br />É interessante também utilizar vários sistemas de monitoração e verificação dos prefixos na tabela BGP da Internet, desde que estes sistemas sejam alimentados por fontes de informação diferentes (esse não foi o caso do RIS, BGPmon ou do Looking Glass do PTT-Metro). Alguns exemplos de ferramentas disponíveis para verificação são: <a href="http://iar.cs.unm.edu/">Internet Alert Registry</a>, <a style="font-weight: bold;" href="http://www.watchmy.net/">WatchMY.net</a>, <a style="font-weight: bold;" href="http://bgpmon.net/">BGPmon</a> e <a style="font-weight: bold;" href="http://phas.netsec.colostate.edu/">PHAS</a>.<br /><br />Por último (e já não tão relacionado com o que acabei de descrever) fica a dica de uma ferramenta (ainda beta) para <a href="http://www.ris.ripe.net/dashboard/16735">visualização</a> <span style="font-style: italic;">mais amigável</span> das informações colhidas pelo projeto RIS e pode ser acessada da <a href="http://ris.ripe.net/">página principal do projeto</a>, entrando com a informação de número de AS ou prefixo próximo ao canto superior direito.<br /><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibHSwxUZW4bKGkjdROsfgM02GSzhYWEVC1Obu09vk4GK2o3MuRG8VoAbPIbleSTXeYJhk97TLL2G3sHnkkDOGO-QMZ9a6Xg5zEDNr-q26hYBOZqDAT5VGVpEDoM3NiwJUcOHfPl43Ig-Uj/s1600-h/ris.PNG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 209px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibHSwxUZW4bKGkjdROsfgM02GSzhYWEVC1Obu09vk4GK2o3MuRG8VoAbPIbleSTXeYJhk97TLL2G3sHnkkDOGO-QMZ9a6Xg5zEDNr-q26hYBOZqDAT5VGVpEDoM3NiwJUcOHfPl43Ig-Uj/s320/ris.PNG" alt="" id="BLOGGER_PHOTO_ID_5267868987983162706" border="0" /></a><span style="font-size:85%;">Tela da ferramenta de visualização do RIS/RIPE.</span><br /></div><br /><span style="font-style: italic;">Atualizado em 13/Nov/2008:</span><br /><br />Ontem a noite, algumas horas depois de terminar este <span style="font-style: italic;">post</span>, <a href="http://asert.arbornetworks.com/2008/11/when-hijacking-the-internet/">Danny McPherson</a> publicou no blog da <a href="http://asert.arbornetworks.com/">Arbor Networks</a> uma análise muito semelhante a exposta acima, no entanto, ele acrecentou um ponto que eu também gostaria de destacar aqui:<br /><br />Toda esta confusão só poderá ser evitada com a utilização de uma solução <span style="font-style: italic;">segura </span>para roteamento entre-domínios (ou sistemas autônomos). E este padrão está em fase de desenvolvimento dentro do <a href="http://www.ietf.org/">IETF</a>, mais especificamente através do grupo <a href="http://www.ietf.org/html.charters/sidr-charter.html">SIDR</a> (<span style="font-style: italic;">Secure Inter-Domain Routing</span>). Queria destacar também a apresentação do <a href="ftp://ftp.registro.br/pub/gter/gter26/02-rpki.pdf">Ricardo Patara</a> (do LACNIC) na última reunião do GTER sobre este tema. Vale a pena dar uma olhada!<br /><br />Mais informações em:<br /><ul><li><a href="http://markmail.org/search/?q=nanog+ctbc#query:nanog%20ctbc+page:1+mid:7ppucepj62i4ggm3+state:results">Discussão na lista da NANOG</a>.</li><li><a href="http://www.renesys.com/blog/2008/11/brazil-leak-if-a-tree-falls-in.shtml">Análise do problema feito pela Renesys</a>.<br /></li></ul>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com1tag:blogger.com,1999:blog-4150204015475597571.post-24704829393602046892008-11-11T16:42:00.005-02:002008-11-11T16:49:12.937-02:00Adicionando as buscas da Cisco no seu Browser<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjRNnWVNlRkrv4IMpewso0KKUIDmilFobgJLTJf2jQFhnb0BkP-Exa3v3qwCRDpv_tuzLpjDDbfHW4kVbV3pwFsfG9UEVQtAGRimgXyqUuynGgRDnUjouFzhvVcdfBm3pT-beGBzlHqqTJ/s1600-h/search_plugin_manage_1_ff.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjRNnWVNlRkrv4IMpewso0KKUIDmilFobgJLTJf2jQFhnb0BkP-Exa3v3qwCRDpv_tuzLpjDDbfHW4kVbV3pwFsfG9UEVQtAGRimgXyqUuynGgRDnUjouFzhvVcdfBm3pT-beGBzlHqqTJ/s320/search_plugin_manage_1_ff.gif" alt="" id="BLOGGER_PHOTO_ID_5267473154827433474" border="0" /></a>Agora podemos fazer buscas na página web da Cisco diretamente na barra de endereços do seu browser. Por enquanto disponível apenas para Firefox e Internet Explorer. As buscas possíveis são:<br /><p><b>Ferramentas </b><span style="font-size:85%;">(conteúdo fechado, é necessário possuir uma conta CCO para acessar)</span><br /></p> <ul><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">BugID Lookup Tool</a></li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">Command Lookup Tool</a></li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">Error Message Decoder Tool</a></li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">RMA/Service Order Status Tool</a></li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">TAC Service Request Query</a></li></ul> <p> <span style="font-weight: bold;">Buscas</span> </p> <ul><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">Search Cisco</a> </li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">Search Cisco Brazil</a> </li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">Search Cisco Japan</a> </li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">Search Cisco Latin America</a> </li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">Search Cisco Russia</a> </li><li><a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#" onclick="'window.external.AddSearchProvider(">Search Netpro Discussion</a></li></ul>Mais informações na página da Cisco: <a href="http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#">http://www.cisco.com/web/tsweb/searchplugins/plugin_homepage.html#</a>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-29508304110390871122008-11-03T14:32:00.008-02:002008-11-04T11:44:45.918-02:00O que mudou ?Este <span style="font-style: italic;">post</span>, de certa forma, completa dois outros antigos <span style="font-style: italic;">posts </span>publicados aqui: o primeiro deles sobre o <a href="http://blog.nexthop.com.br/2007/07/cisco-replace-e-rollback.html">Replace e o Rollback</a> da configuração de roteadores Cisco e o segundo <span style="font-style: italic;">post </span>sobre a ferramenta de <a href="http://blog.nexthop.com.br/2007/02/rancid.html">backup de configuração <span style="font-style: italic;">open-source</span> chamada Rancid</a>. Desde a versão 12.3(4)T do Cisco IOS é possível utilizar o próprio CLI para saber o que mudou no seu roteador da seguinte forma:<br /><br /><span style="font-weight: bold;">Router#show archive config differences <config1> <config2></config2></config1></span><config1> <config2><br /><br />Vejamos um exemplo:<br /><blockquote>Router#conf t<br />Enter configuration commands, one per line. End with CNTL/Z.<br />Router(config)#int fa0/0<br />Router(config-if)#ip address 172.16.0.1 255.255.255.0<br />Router(config-if)#^Z<br />Router#<span style="font-weight: bold;">show archive config differences nvram:startup-config system:running-config</span><br />Contextual Config Diffs:<br />interface FastEthernet0/0<br />+ip address 172.16.0.1 255.255.255.0<br /><span style="color: rgb(255, 0, 0);">+ip route 192.168.2.0 255.255.255.0 172.16.1.10</span><br />interface FastEthernet0/0<br />-ip address 192.168.0.1 255.255.255.0</blockquote>Hum. Alguém já havia alterado a rota 192.168.2.0 deste roteador (e não tinha salvado a configuração!!!), além da configuração que acabamos de alterar (endereço IP da interface Fa0/0). Este é somente um exemplo de uma configuração extremamente simples, mas podemos imaginar a ajuda que podemos ter em configurações mais complexas e em grandes mudanças.<br /><br />Outro ponto importante desta <span style="font-style: italic;">feature </span>é o fato de conseguirmos comparar a configuração atual (running-config) com uma configuração armazenada em um servidor TFTP. Se combinarmos as configurações armazenadas no <a href="http://blog.nexthop.com.br/2007/02/rancid.html">Rancid</a> com a opção de comparar a configuração direto no roteador, temos uma poderosa ferramenta em mãos.<br /><br />Router#<strong>show archive config differences tftp://10.1.1.1/Router.bkp system:running-config</strong><br />(...)<br /><br />Mais informações em:<br /><ul><li><a href="http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/guide/gt_diff.html">Contextual Configuration Diff Utility</a><br /></li></ul></config2></config1>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-2227171865912463452008-11-03T11:53:00.004-02:002008-11-03T14:54:44.710-02:00Aumentando a velocidade do show running-configMuitas vezes nos deparamos com um equipamento que possui muitas linhas de configuração e, ao executar um comando de show running-config, demora muito para que o comando retorne a configuração atual além do que gera uma carga adicional de processamento ao equipamento.<br /><br />A partir das versões <span style="font-weight: bold;">12.2(25)S, 12.2(27)SBC e 12.3(7)T</span> é possível otimizar esta operação criando um cache da configuração atual, o que reduz em até <span style="font-size:130%;"><span style="font-weight: bold;">90%</span></span> o tempo de execução de um show running-config (efetuei testes em laboratório e o tempo diminui de 30 segundos para 3 segundos).<br /><br /><span style="font-family:courier new;">Router(config)#</span> <span style="font-family:courier new;">parser config cache interface</span><br /><br />Após a aplicação deste comando é preciso executar um primeiro show run para que seja criado o cache. Todos os show running posteriores devem ter um ganho de performance (obs: será consumido uma parcela da memória do equipamento para este cache).<br /><br />Link:<br /><a href="http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gtinvgen.html">http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gtinvgen.html</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-67905247310453990952008-10-27T20:59:00.003-02:002008-10-27T21:36:12.160-02:00Usando o Ping (Cisco)O <span style="font-weight: bold;">Ping </span>é certamente um dos programas mais utilizados para testar a conectividade de rede. Nos roteadores Cisco é "o" programa para testar não somente se existe conectividade, mas também para nos garantir que não há erros ou problemas (leia-se: perda de pacotes, etc). Tudo começa com o ping e deve terminar com várias <span style="font-style: italic;">exclamações consecutivas</span> (ou <span style="font-style: italic;">pontos consecutivos</span>, no pior caso).<br /><blockquote>router#<span style="font-weight: bold;">ping 10.10.10.1</span><br /><br />Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:<br /><span style="font-weight: bold; color: rgb(255, 0, 0);">!!!!!</span><br />Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/20 ms</blockquote>Se quisermos melhorar um pouco o nosso teste, podemos utilizar um ping estendido:<br /><blockquote>router#<span style="font-weight: bold;">ping</span><br />Protocol [ip]:<br />Target IP address: <span style="font-weight: bold;">10.10.10.1</span><br />Repeat count [5]: <span style="font-weight: bold;">10</span><br />Datagram size [100]: <span style="font-weight: bold;">1000</span><br />Timeout in seconds [2]:<br />Extended commands [n]:<br />Sweep range of sizes [n]:<br />Type escape sequence to abort.<br />Sending 10, 1000-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:<br /><span style="font-weight: bold;">!!!!!!!!!!</span><br />Success rate is 100 percent (10/10), round-trip min/avg/max = 12/24/68 ms</blockquote>Ou ainda, de forma mais rápida e resumida, o mesmo comando:<br /><blockquote>router#<span style="font-weight: bold;">ping 10.10.10.1 repeat 10 size 1000</span><br /><br />Type escape sequence to abort.<br />Sending 10, 1000-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:<br /><span style="font-weight: bold;">!!!!!!!!!!</span><br />Success rate is 100 percent (10/10), round-trip min/avg/max = 12/16/32 ms</blockquote>Quando estamos testando conexões seriais (a.k.a. links ponto-a-ponto) é importante fazer o teste com vários <span style="font-style: italic;">padrões de dados </span>(ou <span style="font-style: italic;">data pattern</span>) e é aí que podemos melhorar ainda mais nossos testes, pois somente o teste com vários padrões poderá nos revelar erros mais raros, mas que também podem perturbar a vida de um administrador de rede. Os padrões mais comuns são:<br /><ul><li><span style="font-weight: bold;">0x0000 ou 0xFFFF</span>: para verificar se o circuito pode lidar com "all-zeros" (ou "all-ones"). Pode indicar problemas de codificação da operadora (bz8s/ami).</li><li><span style="font-weight: bold;">0x4040, 0x1010, 0x8080, 0xaaaa</span>: zeros e uns alternados utilizados para indicar problemas com circuitos mal provisionados.</li></ul>Lembrando que na opção padrão o comando ping dispara pacotes <span style="font-style: italic;">echo-request</span> com o padrão de dados <span style="font-style: italic;">0xabcd</span>. Para alterar o padrão, basta utilizar a seguinte opção:<br /><blockquote>router#<span style="font-weight: bold;">ping 10.10.10.1 repeat 10 size 1000 <span style="color: rgb(255, 0, 0);">data 4040</span></span><br /><br />Type escape sequence to abort.<br />Sending 10, 1000-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:<br />Packet has data pattern 0x4040<br />!!!!!!!!!!<br />Success rate is 100 percent (10/10), round-trip min/avg/max = 12/16/36 ms</blockquote>Mais informações em:<br /><ul><li><a href="http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080093f22.shtml">Using the Extended ping and Extended traceroute Commands</a>.</li><li><a href="http://blog.ioshints.info/2007/11/back-to-roots-it-all-started-with-sdlc.html">Como funciona o protocolo de sinalização de links seriais</a> (link sobre SDLC do blog <a href="http://blog.ioshints.info">IOS Hints and tricks</a>).<br /></li></ul>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com1tag:blogger.com,1999:blog-4150204015475597571.post-32690444184655150712008-10-20T17:40:00.003-02:002008-10-20T17:52:20.391-02:00Dica: tcpdump<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0igPzgbFWJbsmzTSwWFR-yEFJDCQe_4iwIauPW8TgnD38UsMlMsy0itCoQfNCafJsE0CXyIrzI_Nj2h9hqgZqDSYfPw619TsY1pbsTlKeA7Ja8XjUIjD8Ya3twLk9kcwL1n4olLMno06l/s1600-h/tcpdump_t.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0igPzgbFWJbsmzTSwWFR-yEFJDCQe_4iwIauPW8TgnD38UsMlMsy0itCoQfNCafJsE0CXyIrzI_Nj2h9hqgZqDSYfPw619TsY1pbsTlKeA7Ja8XjUIjD8Ya3twLk9kcwL1n4olLMno06l/s400/tcpdump_t.jpg" alt="" id="BLOGGER_PHOTO_ID_5259323955372691810" border="0" /></a>Nada como matar dois coelhos com uma paulada só. Para aqueles que gostam de resumos de comandos mais usados, dicas, resumo,... essa é uma ótima dica sobre o <span style="font-style: italic;"><a href="http://packetlife.net/static/cheatsheets/tcpdump.pdf">tcpdump</a> </span>e muitas outras coisas... como EIGRP, BGP, IPSec, etc. As (já famosas) <a href="http://packetlife.net/cheatsheets/"><span style="font-style: italic;">cheat sheets</span></a> do blog <a href="http://packetlife.net/">Packetlife.net</a> são excelentes (fica aqui também a dica do blog que, assim como as <span style="font-style: italic;">cheat sheets</span>, é excelente).<br /><br />Ainda sobre o tcpdump, essa <span style="font-style: italic;">cheat sheet</span> do Packetlife.net completa a coleção daquelas que já foram indicadas em um <a href="http://blog.nexthop.com.br/2007/07/tcpdump.html">post sobre tcpdump aqui</a>, nele também existe algumas dicas de como utilizar o tcpdump.Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-48496638881250983732008-10-19T22:15:00.003-02:002008-10-19T22:49:21.267-02:00Inscrições abertas para o GTER/GTSAcontece nos próximos dias 7 e 8 de novembro em São Paulo a 26a. reunião do <a href="http://gter.nic.br/">GTER</a> (Grupo de Trabalho de Engenharia e Operação de Redes) em conjunto com a 12a. reunião do <a href="http://gts.nic.br/">GTS</a> (Grupo de Trabalho em Segurança). Os dois grupos são coordenados por renomados profissionais da área de redes e segurança com o apoio do <a href="http://cgi.br/">CGI.br</a> (Comitê Gestor da Internet no Brasil). As duas reuniões têm como objetivo promover a discussão de assuntos relevantes para operação e administração da Internet no Brasil. O programa completo com as apresentações está disponível <a href="http://gter.nic.br/reunioes/gter-26/programa">aqui</a>.<div><br /></div><div>Faça sua <a href="http://gter.nic.br/reunioes/gter-26/reuniao-gter">inscrição</a> E participe !</div>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-19721429142039693582008-10-16T15:39:00.002-03:002008-10-16T17:09:29.925-03:00YSTS 2.0<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3iL1B_KC8E9UaYAe5KgpyWUqudBY4KuIOq1_V6JFrQPMeao1RQcUeIhSH3-_loZgvqNQTDddb7Xw4mNvy87oeoLekw6QHdpvDXL6BF-a0lBKbv-a8Pz36DO_kDNYlxTG-JcIiYC2HmzJM/s1600-h/Estrela_transp.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3iL1B_KC8E9UaYAe5KgpyWUqudBY4KuIOq1_V6JFrQPMeao1RQcUeIhSH3-_loZgvqNQTDddb7Xw4mNvy87oeoLekw6QHdpvDXL6BF-a0lBKbv-a8Pz36DO_kDNYlxTG-JcIiYC2HmzJM/s320/Estrela_transp.png" alt="" id="BLOGGER_PHOTO_ID_5257833297862609954" border="0" /></a><br />Estão abertas as <a href="http://www.ysts.org/internas/inscricoes.html">inscrições</a> para o <a href="http://www.ysts.org/">YSTS 2.0</a> (You Shot the Sherif 2.0). Promovido e totalmente organizado pela equipe do podcast <a href="http://www.naopod.com.br/"><span style="font-style: italic;">I Shot the Sherif</span></a> (este que já foi comentado aqui outras vezes e está na nossa lista de links favoritos aí do lado direito) esse é um evento sobre segurança da informação que pretende reunir palestras técnicas e não-tão-técnicas para agradar a todos os gostos em <span style="font-style: italic;">um ambiente diferente, descontraído e único</span>. Marcam presença nesta edição dois <span style="font-style: italic;">keynotes </span>"de peso": David "h1kari" Hulton e Emmanuel Goldstein. Além de palestras com os mais renomados especialistas de segurança do Brasil.<strong></strong>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-24496984208822543762008-10-14T12:50:00.014-03:002008-10-14T17:24:13.177-03:00Dica: Material sobre PCI DSS<a href="http://camargoneves.com/">Eduardo Camargo Neves</a> publicou no último mês de agosto um excelente <a href="http://camargoneves.com/2008/08/09/entendendo-o-pci-dss/">artigo</a> sobre o padrão de segurança da informação criado pelas principais empresas operadoras de cartões de crédito (<span style="font-style: italic;">PCI Security Standards Council</span>) chamado <span style="font-weight: bold;">PCI DSS (</span><span style="font-style: italic; font-weight: bold;">Payment Card Industry</span><span style="font-weight: bold;"> </span><span style="font-style: italic; font-weight: bold;">Data Security Standard</span><span style="font-weight: bold;">).</span> Com a crescente utilização dos cartões de crédito como forma principal para realização de transasões eletrônicas, e consequentemente o aumento do volume financeiro total destas transações, aumenta também a quantidade de fraudes eletrônicas (ou criminosos utilizando-se do meio eletrônico para desviar recursos). A preocupação das empresas também vêm ganhando (muito) espaço no sentido da segurança e por isso foi criado o PCI DSS, na tentativa de inibir o roubo de informações pessoais que posteriormente serão utilizadas nestas fraudes.<br /><br />Ainda segundo o Eduardo:"(...) <span style="font-style: italic;">Os controles estabelecidos pelo PCI Council tem a vantagem de serem simples, eficazes dentro do escopo ao qual se propõe a abordar e altamente escalonáveis. Este artigo mostra em uma visão geral, como estes padrões nasceram, quais controles são esperados e como a sua empresa pode se alinhar para um processo de certificação.</span> (...)." [<a href="http://camargoneves.com/2008/08/09/entendendo-o-pci-dss/">veja aqui o artigo completo</a>]<br /><br />Mais informações em:<br /><ul><li><a href="https://www.pcisecuritystandards.org/">PCI Security Standards Council Home</a>.</li><li><a href="http://camargoneves.com/">Blog do Eduardo Camargo Neves</a>.</li><li><a href="http://www.mcafeesecure.com/us/pci-howitworks.jsp">McAfee How PCI Compliance Works</a>.</li></ul><span style=";font-family:Calibri;font-size:small;" ></span>Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0tag:blogger.com,1999:blog-4150204015475597571.post-46527620117023255852008-10-13T11:53:00.005-03:002008-10-13T12:04:35.148-03:00NANOG 44 Webcast<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGepNdoV70ukDguV-jlSxdiHzyYxYcPknPsiGqUlBrqsBPbvu5kdZr1Cwc34YJ4aUYles6-2NSL4DsePhqzg5ktUEOfKKG23GG0eUPzPpRzrrT5eQvcaeBR6U-VIMu8iilXT_00EtBg2tq/s1600-h/nanog44_graphic_small.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGepNdoV70ukDguV-jlSxdiHzyYxYcPknPsiGqUlBrqsBPbvu5kdZr1Cwc34YJ4aUYles6-2NSL4DsePhqzg5ktUEOfKKG23GG0eUPzPpRzrrT5eQvcaeBR6U-VIMu8iilXT_00EtBg2tq/s320/nanog44_graphic_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5256654432855685826" border="0" /></a><br />Desde ontem até o próximo dia 15 de outubro (quarta-feira) acontece em Los Angeles a <a href="http://www.nanog.org/">NANOG 44</a>. Como é de costume, grande parte das apresentações será transmitida via <a href="http://www.nanog.org/streaming.php">streaming</a> (ao vivo) a partir das 9:30 PDT (13:30 BRT). A agenda e os arquivos das apresentações estão disponíveis <a href="http://www.nanog.org/meetings/nanog44/agenda.php">aqui</a>.Gustavo Rodrigues Ramoshttp://www.blogger.com/profile/08548644671977627795noreply@blogger.com0