Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. Prezados,

    Estou com uma dúvida quanto à (re)distribuição de rotas nulas com roteamento dinâmico OSPF. Para fins elucidativos, apresento o hipotético diagrama abaixo.

    Código :
    [Operadora]-----[srv-fw]-----[rtr-1]-----[rtr-2]-----[rtr-3]-----[rtr-4]
     
    srv-fw = FreeBSD 8.2-STABLE + OpenOSPFd
    rtr-*  = RB800/ROS5.11

    Meu objetivo é adicionar, em um único roteador ([srv-fw]), uma ou mais rotas nulas, e que estas rotas nulas sejam propagadas para todos os demais roteadores da rede ([rtr-*]). Entretanto, eu não quero criar um único blackhole server, e sim que cada roteador tenham essas rotas nulas (re)distribuídas, para que ataques, provenientes dos usuários da rede interna, sejam neutralizados na origem[1], o que é o mais recomendado.

    Um único blackhole server, neste caso, não é apropriado, pois caso um cliente conectado no [rtr-4] disparasse um ataque, eu teria degradação dos enlaces entre [rtr-4] e [srv-fw], até que a rota fosse "diluída cosmicamente" (hehe) no buraco negro.

    De certa forma, eu quero é fazer algo como o RTBH (Remotely-Triggered Black Hole) da Cisco. Mas como a rede é híbrida quanto à diversidade de tecnologias, a ideia é fazer a (re)distribuição de rotas nulas usando um protocolo que seja comum a todos os roteadores dessa rede, e de maneira autônoma, usando o OSPF do RouterOS e o OpenOSPFd do FreeBSD.

    Tudo bem que eu poderia fazer um script[2] usando Python + Paramiko, entrar em cada roteador via SSH, e adicionar/editar/excluir rotas nulas. Também poderia fazer um script dentros do ROS, para obter via requisição HTTP (fetching) a tabela de rotas nulas, exportas do servidor FreeBSD exportada por um webservice. Mas se existe uma forma menos hercúlia, como a (re)distribuição de rotas nulas com roteamento dinâmico OSPF, ficará bem mais fácil e elegante

    Resumindo, eu quero é poder criar rotas nulas em [srv-fw], como route add 66.150.14.111/32 127.0.0.1 -reject, e que todos os roteadores que rodam OSPF, também recebam essa rota nula. Isso não acontece, mesmo (re)distribuindo rotas estáticas. Rotas nulas não são propagadas. As demais rotas são perfeitamente propagadas.

    Caso isso acontecesse, teriamos então, diversos blackhole servers distribuídos, com diluição de rotas nulas no primeiro salto após a origem. A degradação ficaria em first mile/nexthop, na perspectiva de um ataque com origem em um cliente/estação da rede.

    Adiciono abaixo porções de configuração do OpenOSPFd, rodando no FreeBSD e o OSPF do RouterOS.
    Código :
    srv-fw# grep -i distr /usr/local/etc/ospfd.conf 
    redistribute        default
    redistribute        static
    redistribute        connected

    Código :
    [**********@rtr-4] > /routing ospf instance export
    /routing ospf instance
    set default disabled=no distribute-default=never in-filter=ospf-in metric-bgp=auto metric-connected=20 metric-default=1 metric-other-ospf=auto metric-rip=20 \
        metric-static=20 name=default out-filter=ospf-out redistribute-bgp=no redistribute-connected=as-type-1 redistribute-other-ospf=as-type-1 redistribute-rip=no \
        redistribute-static=no router-id=***.***.***.**

    Agradeço desde já por qualquer ajuda.

    [1] http://eng.registro.br/pipermail/gte...ne/032962.html
    [2] https://under-linux.org/f143/registrando-log-149969/

    Saudações,

    Trober
    Última edição por trober; 02-07-2013 às 15:28.

  2. boa noite amigo, nao sabia deste blackhole server muito interessante esta lendo no wiki, se vc ter material ai para da uma estudada fico agradecido

    abraco



  3. Citação Postado originalmente por demattos Ver Post
    ...nao sabia deste blackhole server muito interessante esta lendo no wiki, se vc ter material ai para da uma estudada fico agradecido...
    Boa noite demattos

    Não tenho um material pronto aqui, mas não me é problema fazer breve comentários sobre rotas nulas.

    Apontar rotas para um lugar nulo é uma forma computacionalmente mais econômica do que filtrar usando firewall. Supondo que você está usando FreeBSD, você pode criar uma rota nula[1] com negação implícita (blackhole) ou explícita (reject), conforme abaixo:

    Código :
    route add 200.200.200.1/32 127.0.0.1 -blackhole

    Código :
    route add 200.200.200.1/32 127.0.0.1 -reject

    Com blackhole, a negação é silenciosa. Com reject, a negação é explicita, com retorno do código 12 (Destination Host Unreachable), conforme descreve o RFC792[2].

    Da mesma forma, pode ser feita com MikroTik RouterOS, conforme um outro tópico[3] e o exemplos abaixo:

    Código :
    /ip route rule add action=drop disabled=no dst-address=200.200.200.1/32

    Código :
    /ip route rule add action=unreachable disabled=no dst-address=200.200.200.1/32

    Com drop, a negação é silenciosa. Com unreachable, a negação é explicita, com retorno do código 12 (Destination Host Unreachable), conforme descreve o RFC792[2].

    Enfim, não fiz o melhor dos materiais, mas espero ter ajudado você

    [1] https://www.dan.me.uk/blog/2009/05/2...ng-in-freebsd/
    [2] http://www.ietf.org/rfc/rfc792.txt
    [3] https://under-linux.org/f212/rotas-n...07/#post586176

    Saudações,

    Trober
    Última edição por trober; 02-07-2013 às 15:29.

  4. Citação Postado originalmente por demattos Ver Post
    ...se vc ter material ai para da uma estudada fico agradecido
    Boa noite.

    Envio um material[1], não muito novo (é de 2005) da Cisco, sobre blackhole.

    [1] http://www.cisco.com/web/about/secur.../blackhole.pdf

    Saudações,

    Trober
    Última edição por trober; 02-07-2013 às 15:29.



  5. Citação Postado originalmente por trober Ver Post
    Resumindo, eu quero é poder criar rotas nulas em [srv-fw], como route add 66.150.14.111/32 127.0.0.1 -reject, e que todos os roteadores que rodam OSPF, também recebam essa rota nula. Isso não acontece, mesmo (re)distribuindo rotas estáticas. Rotas nulas não são propagadas. As demais rotas são perfeitamente propagadas.
    Boa noite a todos.

    De forma não muito elegante, consegui implementar um "servidor distribuidor de buraco negro", para rotas indesejadas, com propagação para todos os roteadores de uma rede com roteamento dinâmico OSPF.

    O código que segue usa como exemplo dois destinos que estão sob ataque, sendo a rede 6.6.6.0/30 e 7.7.7.0/24. Os atacantes são usuários da sua própria rede.

    A primeira porção de código refere-se ao servidor "mestre", que distribuirá as rotas que serão neutralizadas. A estratégia consiste em distribuir rotas estáticas, somente na RB "mestre" ([rtr-blackhole-master]), como "type 2".

    Em todas as demais RBs, marcar como blackhole qualquer rota OSPF do tipo "external type 2". O cara que implementar isso, precisa ter a mais monstruosa certeza, maior que o Cosmos inteiro, que não fará uso de qualquer rota produtiva com "type 2".
    Código :
    ########## [rtr-blackhole-master]
     
    ### Bridge que recebe apontamento de rotas mortas.
    /interface bridge add disabled=no name=blackhole
     
    ### Definir que rotas estaticas serao redistribuidas como tipo 2.
    /routing ospf instance set default redistribute-static=as-type-2
     
    ### Repita quantas vezes for, para cada rota que deseja declarar como morta.
    /ip route add disabled=no dst-address=6.6.6.0/30 gateway=blackhole
    /ip route add disabled=no dst-address=7.7.7.0/24 gateway=blackhole

    Agora o código que deve ser executado em todas as RBs da rede, exceto rtr-blackhole-server.

    Código :
    ########## [rtr-N]
    ### Sendo para 'N', toda e qualquer RB da rede, com OSPF, exceto [rtr-blackhole-server].
     
    /routing filter add action=accept chain=ospf-in disabled=no ospf-type=external-type-2 set-type=blackhole

    Funciona, isso é fato. Entretanto, é muito mais elegante trabalhar com Communities[1] em BGP. Essa "adaptação técnica", de contar que só terá anúncios "type 1" na rede, é arriscado, por mais bem descrita tal "feature braçal", na documentação da rede.

    [1] http://wiki.mikrotik.com/wiki/Manual...Filter_Example

    Saudações,

    Trober
    Última edição por trober; 02-07-2013 às 15:30.






Tópicos Similares

  1. Roteamento Dinâmico com OSPF
    Por leoservice no fórum Redes
    Respostas: 31
    Último Post: 17-02-2013, 15:55
  2. Roteamento dinamico com OpenBSD
    Por b1N4r1_w0rm no fórum Sistemas Operacionais
    Respostas: 4
    Último Post: 11-08-2004, 19:36
  3. ssh com ip dinamico
    Por jrobe no fórum Servidores de Rede
    Respostas: 1
    Último Post: 28-02-2004, 12:26
  4. Problemas com roteamento e ftp.
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 22-04-2003, 11:39
  5. IPTABLES - Problemas com Roteamento de Pacotes
    Por ATNunes no fórum Servidores de Rede
    Respostas: 0
    Último Post: 12-12-2002, 15:14

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L