<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Olá Bernardo!<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Grato pela resposta.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Considerando os momentos de desespero que se vive em uma situação de ataques avançados, e a velocidade necessária para ação de resposta para isso (Ex.: Um carpet bomb com variação de 5 minutos), a ideia de esperar a propagação de um novo ROA de um /32 ou /128 acaba sendo descartada...<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Sim, estou ciente da existência de somente 3 possíveis respostas:<br>4300:0:0 Valid - Unknow 4300:0:1 - Invalid 4300:0:2.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">A minha ideia nesse comentário foi ventilar uma proposição de revisão do protocolo, onde seria informado também a motivação de se ter classificado como Invalid determinada rota.</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">  Exemplos: - Validade expirada,</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">            - ASN de Origem divergente,</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">            - Mascara muito longa,</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">            - Mascara muito curta.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Sim, sei que é uma ideia ousada... E já coloquei ela de lado.</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Mas tenho certeza que assim como eu, outros possam estar também preocupados em como fazer uma filtragens de prefixos de BlackHole com responsabilidade e segurança.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">E essa talvez teria sido uma solução viável.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"> <br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br>Com relação a se utilizar a base de prefixos de IRRs está perto do inconcebível!</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">No último IX-Fórum em São Paulo eu e o <a class="gmail_plusreply" id="plusReplyChip-1" href="mailto:renato@openx.com.br" tabindex="-1">@Renato Ornelas (Open X)</a> fizemos uma apresentação[1] sobre quão suja e reduntante(no sentido RUIM da palavra) estão essas bases de IRR públicas de prefixos.<br>Foram analisados somente os prefixos delegados pelo <a href="http://NIC.BR">NIC.BR</a>.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">O Renato mantém um script fazendo essa mesma análise  e gerando um CSV diáriamente[2] do resumo da análise.<br>É REVOLTANTE e ENTRISTECEDOR ver as quantidade de sujeira e bagunça que empresas como as listadas abaixo estão fazendo com as bases de IRR:<br> - EMIX-AS8966(by China Telecom)</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"> - NEUSTAR-AS7786</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"> - INTERNEXA-AS18678</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"> - NEXUSGUARD-AS45474</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"> - G8-AS28329<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">[1] <a href="https://youtu.be/riax2Yxhhpo">https://youtu.be/riax2Yxhhpo</a></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">[2] <a href="https://irr.openx.com.br/csv/ox-irr-check-latest.csv">https://irr.openx.com.br/csv/ox-irr-check-latest.csv</a></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">[3] <a href="https://docs.google.com/spreadsheets/d/1XxUI2_JcKgkg5CniRi1E3ieEu9HgRJCfYfaH3hTIaHg/edit?usp=sharing">https://docs.google.com/spreadsheets/d/1XxUI2_JcKgkg5CniRi1E3ieEu9HgRJCfYfaH3hTIaHg/edit?usp=sharing</a></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Como vou validar origem de prefixos de BlackHole?</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">-------------------------------------------------<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Estou decidido a usar as ROA do RPKI como base de validação.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Ainda não temos certeza de como vamos proceder... Mas já achei um outro maluco para trabalharmos juntos.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">O Mais provável que desenvolvamos alguma ferramenta(conjunto de scripts) que usará um RTR client para ler algum Validador de RPKI, e injetar isso de alguma forma numa Engine de IRR (provável IRRd4).<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">A princípio o objetivo é que cada um tenha sua própria base RPKI-to-IRR privada, considerando que essa ferramenta(Scripts) será OpenSource.<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Mas a ideia de criar um repositório público disso não está descartada.<br><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em sex., 14 de fev. de 2020 às 09:44, Bernardo Soares <<a href="mailto:bsoares.it@gmail.com">bsoares.it@gmail.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Douglas, bom dia.<div><br></div><div>Um prefixo pode ter apenas 3 estados de validacao:</div><div><br></div><div>Invalid: Anunciado por outro AS, ou um prefixo mais especifico do que o permitido.</div><div>Valid: Anuncio valido</div><div>Unknown: Anuncio nao esta coberto por um ROA valido</div><div><br></div><div>Caso seu cliente tenha registrado o ROA para o bloco <a href="http://200.3.12.0/22-24" target="_blank">200.3.12.0/22-24</a>, qualquer /32 anunciado sera INVALIDO (como voce mesmo disse). </div><div>Neste caso, <b><u>acredito</u></b> que somente duas alternativas sao possiveis:</div><div><br></div><div>- efetuar uma tratativa deste especifico + community, validacao IRR, etc (o que pode nao ser a melhor forma, pelos motivos que foram mencionados)</div><div>- solicitar ao cliente o registro de um ROA para cobrir estes especificos. Seja com max-length 32/128 em um ROA existente ou criar um ROA para cada /32 ou /128.</div><div><br></div><div>Neste segundo metodo, a validacao vai se aplicar normalmente e os prefixos serao validos do ponto de vista de BOV.</div><div></div><div><br></div><div>Att,</div><div><br clear="all"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><font size="2" face="times new roman, serif"><b>Bernardo</b></font></div><div></div><div><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 13, 2020 at 11:44 PM Tomas Lynch <<a href="mailto:tomas.lynch@gmail.com" target="_blank">tomas.lynch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">Entonces el script deberia ser:</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">if /32 then</div><div class="gmail_default" style="font-family:monospace,monospace">    prefix = search_less_specific(/32)</div><div class="gmail_default" style="font-family:monospace,monospace">    if asn(prefix) == asn(/32) then</div><div class="gmail_default" style="font-family:monospace,monospace">        if validate(prefix) then</div><div class="gmail_default" style="font-family:monospace,monospace">            propagate(/32)</div><div class="gmail_default" style="font-family:monospace,monospace">        else call_the_fbi()</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">Dime si sigo sin comprender!! Soy un novato con RPKI!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 13, 2020 at 6:50 PM Douglas Fischer <<a href="mailto:fischerdouglas@gmail.com" target="_blank">fischerdouglas@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span style="font-family:monospace">Olá Tomas.<br>Antes de mais nada, obrigado pela resposta!<br><br>Bem, eu acho que na verdade fui eu que não consegui me expressar adequadamente.<br>Então vou tentar com exemplos práticos.<br><br></span><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">- Imagine que o Lacnic é meu cliente trânsito(😎)...<br></span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">- E que por algum motivo, algum de meus Peers ou outros Downstreams esteja originando um ataque volumétrico para o <a href="http://www.lacnic.net" target="_blank">www.lacnic.net</a> [200.3.14.184].<br>- E depois de já terem esgotado as outras possibilidades com scrubing ou FlowSpec eles resolvam meter um BlackHole <a href="http://200.3.14.184/32" target="_blank">200.3.14.184/32</a> na sessão com meu ISP.<br>- Eu quero ser o tipo de cara que faz o trabalho de casa corretamente.</span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">- A primeira coisa vou fazer é verificar se o prefixo que estou recebendo passa nas validações<br></span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">A máscara estará em /32 Então -> OK</span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">E e o ASN de Origem, como eu valido?</span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  As bases de IRRs estão VERGONHOSAMENTE sujas. -> Não dá para confiar!</span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace"><br></span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  Qual a MELHOR base de dados para validação de Origem? -> RPKI!<br></span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  Só que se eu tentar mandar o prefixo <a href="http://200.3.14.184/32" target="_blank">200.3.14.184/32</a> para validar</span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  contra a ROA do LACNIC[1], vou receber a resposta INVALID.<br></span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  Apesar de <a href="http://200.3.14.184/32" target="_blank">200.3.14.184/32</a> estar contido em <a href="http://200.3.12.0/22-24" target="_blank">200.3.12.0/22-24</a>,</span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  a resposta será somente "INVALID".<br></span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace"><br></span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  Se existisse uma esposta complementar do estilo</span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  "INVALID BY MASK", eu poderia considerar que:<br></span></div><div style="font-size:small" class="gmail_default"><span style="font-family:monospace">  IF Black-Hole AND /32 AND "INVALID BY MASK" -> Accept<br></span></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default"><br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default"><br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default"><br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default">Estou considerando criar uma base de IRR privada, e injetar nela todas as ROAs de todos os RIRs.<br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default">Mas ainda estou amadurecendo a ideia.<br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default"><br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default"><br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default"><br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default"><br></div><div style="font-family:"courier new",monospace;font-size:small" class="gmail_default">[1] rsync://<a href="http://repository.lacnic.net/rpki/lacnic/622c0c28-cc7d-421d-b45b-9ac2b7ced209/626e2d6316910390610ef5e3a9058a3b17a1b0b7.roa" target="_blank">repository.lacnic.net/rpki/lacnic/622c0c28-cc7d-421d-b45b-9ac2b7ced209/626e2d6316910390610ef5e3a9058a3b17a1b0b7.roa</a></div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em qui., 13 de fev. de 2020 às 11:53, Tomas Lynch <<a href="mailto:tomas.lynch@gmail.com" target="_blank">tomas.lynch@gmail.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:monospace,monospace">Douglas,</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">Puede ser que no entienda bien el problema pero ¿por qué no agregar "orlonger" o similar en los prefix-list? Si bien el ROA no tendrá nada mayor a /24, tu puedes agregar el keyword indicado y aceptar los (/32|/128). Incluso podrías hacer algo como por ejemplo (Juniper style):</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">from {</div><div style="font-family:monospace,monospace">    route-filter <a href="http://192.0.2.0/24" target="_blank">192.0.2.0/24</a> exact</div><div style="font-family:monospace,monospace">    route-filter <a href="http://192.0.2.0/24" target="_blank">192.0.2.0/24</a> prefix-length-range /32-/32</div><div style="font-family:monospace,monospace">    }</div><div style="font-family:monospace,monospace">then { accept }</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">¿Es esto lo que buscas?</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">Tomas</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 12, 2020 at 5:32 PM Douglas Fischer <<a href="mailto:fischerdouglas@gmail.com" target="_blank">fischerdouglas@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Como?<div dir="auto">Vou tirar as informações de onde?</div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">A ideia de uma base estática de prefixos aceitos está proibida dentro da empresa!</span></div><div dir="auto"><span style="font-family:sans-serif">Nada que não seja dinâmico e alterável pelo próprio cliente.</span></div><div dir="auto"><span style="font-family:sans-serif"><br></span></div><div dir="auto"><span style="font-family:sans-serif"><br></span></div><div dir="auto">A base do NRO não contempla todas as possíveis origens válidas.</div><div dir="auto"><br></div><div dir="auto">A Base do RPKi seria perfeita para validar origem(a mais segura de todas), mas quebra a análise por causa da máscara muito longa.</div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em qua, 12 de fev de 2020 16:48, Luis Balbinot <<a href="mailto:luis@luisbalbinot.com" target="_blank">luis@luisbalbinot.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div style="font-family:"courier new",monospace;font-size:small"><div style="font-family:"courier new",monospace;font-size:small">Então pensei em "Quebrar um pouco" o protocolo RPKI.<br></div></div></div></div></div></blockquote><div><br></div><div>Talvez o melhor seja tu quebrar um pouco teu script e tratar exceções nele.</div><div><br></div><div>Luis</div></div></div>
_______________________________________________<br>
LACNOG mailing list<br>
<a href="mailto:LACNOG@lacnic.net" rel="noreferrer" target="_blank">LACNOG@lacnic.net</a><br>
<a href="https://mail.lacnic.net/mailman/listinfo/lacnog" rel="noreferrer noreferrer" target="_blank">https://mail.lacnic.net/mailman/listinfo/lacnog</a><br>
Cancelar suscripcion: <a href="https://mail.lacnic.net/mailman/options/lacnog" rel="noreferrer noreferrer" target="_blank">https://mail.lacnic.net/mailman/options/lacnog</a><br>
</blockquote></div>
_______________________________________________<br>
LACNOG mailing list<br>
<a href="mailto:LACNOG@lacnic.net" target="_blank">LACNOG@lacnic.net</a><br>
<a href="https://mail.lacnic.net/mailman/listinfo/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/listinfo/lacnog</a><br>
Cancelar suscripcion: <a href="https://mail.lacnic.net/mailman/options/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/options/lacnog</a><br>
</blockquote></div>
_______________________________________________<br>
LACNOG mailing list<br>
<a href="mailto:LACNOG@lacnic.net" target="_blank">LACNOG@lacnic.net</a><br>
<a href="https://mail.lacnic.net/mailman/listinfo/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/listinfo/lacnog</a><br>
Cancelar suscripcion: <a href="https://mail.lacnic.net/mailman/options/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/options/lacnog</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><font size="2"><span style="font-family:"courier new",monospace">Douglas Fernando Fischer</span><br style="font-family:"courier new",monospace"><span style="font-family:"courier new",monospace">Engº de Controle e Automação</span></font><div style="padding:0px;margin-left:0px;margin-top:0px;overflow:hidden;color:black;text-align:left;line-height:130%;font-family:"courier new",monospace"></div></div>
</div>
_______________________________________________<br>
LACNOG mailing list<br>
<a href="mailto:LACNOG@lacnic.net" target="_blank">LACNOG@lacnic.net</a><br>
<a href="https://mail.lacnic.net/mailman/listinfo/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/listinfo/lacnog</a><br>
Cancelar suscripcion: <a href="https://mail.lacnic.net/mailman/options/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/options/lacnog</a><br>
</blockquote></div>
_______________________________________________<br>
LACNOG mailing list<br>
<a href="mailto:LACNOG@lacnic.net" target="_blank">LACNOG@lacnic.net</a><br>
<a href="https://mail.lacnic.net/mailman/listinfo/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/listinfo/lacnog</a><br>
Cancelar suscripcion: <a href="https://mail.lacnic.net/mailman/options/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/options/lacnog</a><br>
</blockquote></div>
_______________________________________________<br>
LACNOG mailing list<br>
<a href="mailto:LACNOG@lacnic.net" target="_blank">LACNOG@lacnic.net</a><br>
<a href="https://mail.lacnic.net/mailman/listinfo/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/listinfo/lacnog</a><br>
Cancelar suscripcion: <a href="https://mail.lacnic.net/mailman/options/lacnog" rel="noreferrer" target="_blank">https://mail.lacnic.net/mailman/options/lacnog</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><font size="2"><span style="font-family:courier new,monospace">Douglas Fernando Fischer</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">Engº de Controle e Automação</span></font><div style="padding:0px;margin-left:0px;margin-top:0px;overflow:hidden;color:black;text-align:left;line-height:130%;font-family:courier new,monospace"></div></div>