防火墙基于netfilter的Linux抗DDoS硬件防火墙的研究与设计

ddos硬件防火墙  时间:2021-04-29  阅读:()

信基于netf ilter的Linux硬件防火墙的研究与

杨 振1 许林英1 杨凤鸣2

(1天津大学计算机科学与技术系 天津 300072 ;

2天津市公安局治安总队 天津 300000)

摘要:分布式拒绝服务攻击(DDo S)是一种攻击强度大、危害严重的攻击方式。 netfilter是Linux2 4以后的内核中采用的一个结构清晰,便于扩展的优秀的防火墙框架一。本文介绍了如何运用netfilter提供的钩子函数实现一个硬件防火墙来防御DDo S攻击。实验表明,该防火墙能 定程度上防御DDo S攻击,而且能够做到内核主动防御的防护效果,所以运行效率非常高。

关键词: netfilter ;拒绝服务攻击; Linux内核模块开发; SYN代理; SYN cookie

中图分类号: TP309 2 文献标识码:A

Research and design of anti2DDoS hardware f ire wall in linux based onnetfilter

Yang Zhen1 Xu Linyin1 Yang Fengming2

(1 Computer Dept of Tianjin University, Tianjin 300072 ;

2 Police of Tianjin,Tianjin 300000)

Abstract :Defense against distributed denial of service (DDo S) is one of the hardest security problems on the InternetNetfilter is an excellent firewall f ramework that has plain st ructure to extend conveniently, and is adopted during theLinux kernel 2 4 and the subsequent versions This paper introduces the design of a hardware firewall that is realizedby netfilter hook functions , and it defends the DDo S attack As it shown by research result , the kernel level firewallhas an efficient performance, and can works actively when defending DDo S attack

Keywords:netfilter ;Do S; module development in Linux kernel ; SYN proxy; SYN cookie

Linux被广泛的运用,其中就包括防火墙的设计和开发。 (1) NF_IP_PRE_ROUTING

L inux2 4以后的内核都采用了一种称为netfilt er架构的 (2) N F_I P_L O CAL_IN

防火墙机制,n一etfilt er提供了一个抽象、通用化的框架,该 (3) NF_IP_FO RWARD

框架定义的 个子功能的实现就是包过滤子系统。 (4) NF_IP_POST_ROUTINGnetfilter比以前任何一版Linux内核的防火墙子系统都要 (5) NF_IP_LOCAL_OUT

入路由代码,其决定该数据包是需要转发还是发给本机; 并不是说所有接受的ACK包都是合法的,因为也存若该数据包是发给本机的,则该数据经过钩子函数NF_IP 在一ACK攻击。所以这里我们对防火墙截获的ACK包做_LO CAL_IN(2)处理以后传递给上层协议;若该数据包应 个认证,用步骤二中同样的算法算出cookie,然后同该被转发则它被一NF_IP_FORWARD(3)处理;经过转发的 ACK包中的ACKSEQ比较来判一断该ACK包,是否合法。数据包经过最后 个钩子函数N F_IP_P O ST_ROU TIN G 如果是合法的AC K包则构造 个SYN包发给服务器。

(4)处理以后,再传输到网络上。 如果不是合法的ACK包,ACK包被丢弃。

本地产生的数据经钩子函数N F_IP_LOCAL_OU T (4)服务器应答SYN/ACK包

(5)处理后,进行路由选择处理。然后,经过NF_IP_POST Firewall→- - - SYN/ACK- - - Server_ROU TIN G(4)处理,再发送到网络上。 (5)防火墙应答ACK包

1.2 DoS攻击原理 Firewall - - -AC K- - -→Server

Do S(Denial of Service,拒绝服务攻击)是近年来非常 防火墙收到服务器的一SYN/AC K包,将其改造成流行的网络攻击方式。它利用合理的服务请求来占用过 ACK包发给服务器。这样 个TCP连接建立成功。多的服务资源,致使服务器超载,无法响应其它的请求。 (6)防火墙转发所有客户端与服务器端数据。

(1)防火墙截获外网客户端发向内网服务器所有SYN #include <linux/kernel h>

数据包。 #include <linux/module h>

Client - - - SYN- - -→Firewall static st ruct nf_hook_ops syn_filter=

(2)代替内网服务器向外网发SYN/A C K数据包。 { //钩子结构定义

Client→- - - SYN/AC K(cookie) - - - F irewall该 {NU LL,NU LL} ,

步骤利用S YN cookie技术将SYN包改造成 my_firew all ,/ /防火墙实现函数

SYN/ACK包发送给客户端,其中SYN/ACK包的SEQ THIS_MODULE,

(T CP包序列号)是根据源IP、 目的IP、端口等信息用作 PF_IN ET,

火墙到达服务器。 { //登记钩子函数

· 106 ·

杨 振等:基于netfilter的Linux抗DDo S硬件防火墙的研究与设计 第7期

nf_unregist er_ho ok(&syn_filt er) ; SYN cookie技术将很有可能导致防火墙因为CPU资源耗

module_exit (c l eanup) ;/ /模块清空 首先,并不是所有时侯都需要启动SYN c ooki e来进行unsigned int my_firewall ( ) 对SYN包的筛选。我们通过检测单位时间内进入防火墙{//防火墙代码实现函数} 的包数来判断是否正在被攻击,在没有攻击的时候我们的

2.2 SYN cookie算法 防御策略根本不启动,这样可以提高无攻击情况下的网络

在整个防御策略的第二步也就是防火墙代替服务器 运行效率。

向客户端发送带有cookie的SYN/A C K包,我们运用了 然后,在攻击发生时,我们一利用TCP协议的重传机制SYN cookie技术。 SYN cookie技术是指当防火墙收到一 对流入防火墙的SYN包进行 次过滤,使得真正需要用个SYN报文后,不转发到服务器,而是利用连接的信息生 SYN cookie技术来处理的SYN包数大为减少,从而降低成一个cookie ,并将这个cookie作为将要返回的SYN/ 了防火墙的负担。

ACK包的初始序列号。当客户端返回一个AC K报文时, TCP协议的重传机制是指如果TCP连接的发起方在根据报头信息计算cookie ,与返回的确认序列号一(初始的序 发出SYN包后一段时间内没有得到任何响应,它将一接着列号加1)的前24位进行对比,如果相同,则是 个正常连 发送第2次请求,也就是发送第2个SYN包,如果 段时接,然后构造SYN包发送至服务器。该技术实现的关键 间后仍然没有响应它将发送第3个SYN包。根据实验我之处在于cookie的计算,cookie的计算应该做到包含本次 们发现第2个SYN包和第1个SYN包的间隔时间为3 s连接的状态信息,而且攻击者不能伪造cooki e 。 coo kie的 左右,第3个SYN包和第2个SYN包的间隔时间为6 s计算算法如下: 左右。

(1)防火墙收到一个SYN包后,计算一个消息摘要 如果是SYN Flood攻击,SYN包是由攻击程序伪造mac:mac=M A C(A,k) ; IP地址发出的,攻击程序只管将SYN包发出而不会考虑是

MAC是密码学中的一个消息认证码函数,也就是满 否得到服务器响应,因此在连接超时时,不会产生第2个足某种安全性质的带密钥的hash函数,它能够提供cookie SYN包或是第3个S一YN包。根据这个原理,当流入防火计算中需要的安全性。 墙的SYN包数多到 定程度时,我一们启用丢包策略“ 。

A为客户和服务器双方的IP地址和端口号以及参数t 我们”将所有流入防火墙的SYN包做 个记录,放在 IP跟的串联组合: 踪“表中,下”次SYN包到达时我们通过检验源I P是否在

优化后的丢包策略逻辑图

的负担,因此,在大规模SYN F lood攻击时如果单纯只用

图3 网络拓扑结构图 CST,2002

图4 攻击时CP U效率图

4 结 论

基于Linux2 6内核开发的用于防护DDo S攻击的硬

件防火墙,工作在Linu x系统内核网络协议栈的底层,随内

· 108 ·

SoftShellWeb:台湾(台北)VPS年付49美元起,荷兰VPS年付24美元起

SoftShellWeb是一家2019年成立的国外主机商,商家在英格兰注册,提供的产品包括虚拟主机和VPS,其中VPS基于KVM架构,采用SSD硬盘,提供IPv4+IPv6,可选美国(圣何塞)、荷兰(阿姆斯特丹)和台湾(台北)等机房。商家近期推出台湾和荷兰年付特价VPS主机,其中台湾VPS最低年付49美元,荷兰VPS年付24美元起。台湾VPSCPU:1core内存:2GB硬盘:20GB SSD流量...

瓜云互联-美国洛杉矶高防CN2高防云服务器,新老用户均可9折促销!低至32.4元/月!

瓜云互联一直主打超高性价比的海外vps产品,主要以美国cn2、香港cn2线路为主,100M以内高宽带,非常适合个人使用、企业等等!安全防护体系 弹性灵活,能为提供简单、 高效、智能、快速、低成本的云防护,帮助个人、企业从实现网络攻击防御,同时也承诺产品24H支持退换,不喜欢可以找客服退现,诚信自由交易!官方网站:点击访问瓜云互联官网活动方案:打折优惠策略:新老用户购买服务器统统9折优惠预存返款活动...

Hostodo(年付$34.99), 8TB月流量 3个机房可选

Hostodo 算是比较小众的海外主机商,这次九月份开学季有提供促销活动。不过如果我们有熟悉的朋友应该知道,这个服务商家也是比较时间久的,而且商家推进活动比较稳,每个月都有部分活动。目前有提供机房可选斯波坎、拉斯维加斯和迈阿密。从机房的地理位置和实际的速度,中文业务速度应该不是优化直连的,但是有需要海外业务的话一般有人选择。以前一直也持有他们家的年付12美元的机器,后来用不到就取消未续约。第一、开...

ddos硬件防火墙为你推荐
主机route伺服器win7支持ipad支持ipad重庆宽带测速重庆电信测速我的网速溢出win7关闭135端口请问如何关闭135端口?电信版iphone4s4和苹果iPhone 4S 电信版有什么区别chrome18CHROME现在最新版是多少?苹果5.1.1固件下载苹果5的6.0.1的固件在哪下载啊??求教~ios6.1.3完美越狱苹果6用哪个版本越狱比较好。我现在是8.4.1
西安电信测速 正版win8.1升级win10 华为云主机 2017年万圣节 昆明蜗牛家 如何安装服务器系统 vul cxz 主机管理系统 什么是web服务器 创速 小夜博客 塔式服务器 symantec weblogic部署 服务器是什么 linuxvi tko stealthy 天鹰抗ddos防火墙 更多