您的位置:首页 > 参评方案展示 > 网络安全

东北大学:黑洞路由技术在网络安全中的应用

  黑洞路由是将所有无关路由吸入路由器中,使它们有来无回的路由。

  应急处置环节繁多

  由于网络和信息服务的复杂性,一项网络服务的可靠运行需要支撑的环节非常多,因此,应急处置中要恢复网络和信息服务就需要根据服务的实际情况,逐一对各个支撑环节进行排查和恢复。而在现阶段实际的应急处置过程中,多数是应对网站内容被篡改、系统数据被泄露、服务器被入侵等安全事件,第一时间停止安全事件相关的某个网络和信息服务是最常用和有效的技术手段。

  从对互联网提供服务的各个支撑环节来进行应急处置,就是针对每个支撑环节的实际特点选择停止相关设备、服务或配置以达到停止服务的目的,比如从网络路由、地址分配、DNS服务、出口网关、NAT服务器、出口防火墙、内网网关、内网防火墙、Web防火墙、私有云服务平台、虚拟化平台、主机操作系统等环节停止服务,也包含类似人工断开网络物理线路、断开服务器或网络设备电源等物理层面处置手段。

  东北大学根据网络信息安全事件的危害水平,对于较高危害水平需要第一时间处置的网络信息安全事件,使用基于ExaBGP的黑洞路由应急处置技术断开事件相关IP地址的服务,包括面向互联网和校园网内的网络服务,访问相应的网站或信息系统将跳转到指定页面,在页面中提示具体的封禁原因,并记录详细操作日志;对于较低危害水平的网络信息安全事件,使用在校园网络出口计费系统封锁对应透明IP地址账号或在出口网络设备上配置安全策略来断开互联网访问,校园网内可以正常访问,便于相关责任部门进行后续整改和处置。此外,对于在学校集中管理的虚拟主机平台上的应用系统,出现安全事件将暂停虚拟机服务,保留虚拟机相关状态信息,支持后续分析整改。

  基于ExaBGP的黑洞路由应急处置技术

  在网络安全事件发生后,需要第一时间将受攻击的主机断开网络,但是在如今越来越复杂的网络环境、虚拟环境及云服务器环境下,对于每一位值班人员要快速定位主机位置且迅速断开其网络连接并不是一件很容易的事情,所以在快速处置网络信息安全事件过程中,黑洞路由技术是一个简单而快速的应急手段,通过简单配置及部署后,普通值班人员也可以通过简单的Web入口将受影响的IP地址加入黑洞路由中。

  黑洞路由简介

  黑洞路由是将所有无关路由吸入路由器中,使它们有来无回的路由。在路由器上通常就是写出一条通往NULL0接口的路由,路由器就会把去往该目标网络的数据包直接丢往NULL0,而不进行其他处理。其最大的好处是充分利用路由器的包转发能力,对系统负载影响非常小。

  黑洞路由技术可以把去往黑洞路由的数据包丢弃,但是对于一些支持RFC5635[Remote Triggered Black Hole Filtering with Unicast Reverse Path Forwarding(uRPF)]的路由器来说,路由器可以通过启用uRPF来丢弃源地址为黑洞路由的数据包,这个做法效率依旧很高。实现方法

  ExaBGP,BGP中的瑞士军刀,一种通过将BGP消息转换为友好的纯文本或JSON来实现软件定义网络的便捷方式,然后可以通过简单的脚本来处理。它通常用于提高服务恢复能力,并提供防止网络或服务故障的保护。同样,它可以很方便地将文本消息转成BGP消息传递到路由器中,实现远程黑洞路由触发技术。

  1.安装

  2.配置文件

  3.运行

  exabgp/etc/exabgp.conf

  4.所有路由器增加一条黑洞路由

  iproute192.0.2.1255.255.255.255null0

  5.通过CURL增加路由

  curl-d‘command=announceroute1.1.1.1/32next-hop192.0.2.1’10.1.1.1:5001

  6.通过CURL删除路由

  curl-d‘command=withdrawroute1.1.1.1/32next-hop192.0.2.1’10.1.1.1:5001

  做个简单的页面,通过HTTPPOST方式增加、删除黑洞路由即可实现。我们基于ExaBGP开发了“东北大学IP地址封锁系统”,值班人员可以通过统一身份认证后登录该系统对某个IP地址进行增加、删除黑洞路由,并提供信息备注和日志归档功能。

  其他

  ExaBGP还有一个比较友好的界面,参考:ERCO:EXABGPROUTES CONTROLLER[https://erco.xyz](责编:王左利)

  (作者单位为东北大学信息技术研究院)

来源:中国教育网络作者:温占考 王宇
《中国教育网络》
杂志微信公众号
高校信息化应用
微信公众号
高校网络安全
微信公众号
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "http://hm.baidu.com/hm.js?b841bd73360946ada23db9fa82c9c6ae"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();