Gatekeeper 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Gatekeeper 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Gatekeeper 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPL-3.0
开发语言 C/C++ Lua 查看源码 »
操作系统 Linux
软件类型 开源软件
所属分类 管理和监控安全相关
开源组织
地区 不详
投 递 者 御坂弟弟
适用人群 未知
收录时间 2021-02-05

软件简介

Gatekeeper 是一个开源 DoS 防护系统。它旨在扩展到任何峰值带宽,因此它可以抵抗当今和未来的 DoS 攻击。尽管 Gatekeeper 具有地理上分散的体系结构,但对传入流量执行的所有决策的网络策略必须集中描述。这种集中化策略使网络运营商可以利用在非常高的延迟下不可行的分布式算法(例如分布式数据库),并立即应对多种多向量 DoS 攻击。

工作方式

Gatekeeper 具有两个组件:Gatekeeper 服务器和 Grantor 服务器。 Gatekeeper 服务器部署在整个Internet上的优势点(VP)位置,所有 Gatekeeper 服务器的聚合带宽使 Gatekeeper 部署可以扩展其传入带宽以匹配 DoS 攻击的峰值带宽。 Gatekeeper 服务器使用 BGP 宣布受其保护的网络前缀。因此,每个流量源都绑定到一个VP。

Gatekeeper 服务器的主要功能是对流执行网络策略。流由源 IP 地址和目标 IP 地址对定义。策略决策的一个示例是允许 IP 地址 A 以 1Gbps 或更低的速率向 IP 地址 B 发送数据包。如果 Gatekeeper 服务器没有指定策略,则将在其流表中制定一项策略决策,以强制执行任何给定流。它使用 IP-in-IP 封装该流的数据包,根据给定流的速率为封装的数据包分配优先级(较高的优先级表示较低的速率),然后通过请求通道转发该数据包。请求通道保留了从 Gatekeeper 服务器到负责策略决策的 Grantor 服务器的路径带宽的 5%。每当在请求通道中转发数据包的路由器由于带宽有限而需要丢弃数据包时,都会丢弃其队列中优先级最低的数据包。

网络策略是在 Grantor 服务器上运行的 Lua 脚本。Grantor 服务器位于受保护的目标附近;通常在目标的同一数据中心中(可以将 Grantor 服务器部署在其他位置,甚至可以采用任播方式到达不同的目的地,但是在这里为简单起见,我们假设目的地前缀部署在单个数据中心中)。 授权者服务器负责对请求通道中的每个流做出策略决策。这些策略决策将发送到相应的 Gatekeeper 服务器以执行它们。

在将策略决策安装到 Gatekeeper 服务器中时,合法发送者的流将移至许可的通道,在该通道中,带宽将根据策略进行分配。同样,识别出的恶意主机也会被阻止。反过来,这将减少合法流量在请求通道上等待所经历的延迟。 总而言之,Gatekeeper 部署由多个有利位置组成,这些有利位置在受保护的网络周围形成了屏蔽。授予者服务器位于屏蔽内部,但在数据包的最终目的地之前,它们运行网络策略来决定所有传入流量的命运。策略决策安装在 Gatekeeper 服务器上,这些服务器强制执行这些策略决策。

安装要求

  • 大页面配置
    $ echo 256 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
    

 运行命令

$ sudo systemctl start gatekeeper
$ sudo systemctl enable gatekeeper

设置环境变量

$ echo "export RTE_SDK=${RTE_SDK}" >> ${HOME}/.profile
$ echo "export RTE_TARGET=${RTE_TARGET}" >> ${HOME}/.profile

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(5)
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
5 评论
84 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部