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