`

使用HAProxy防范简单的DDos攻击

阅读更多
第一部分: 系统级防护

1.TCP syn flood 攻击

syn flood攻击是通过发送大量SYN包到一台服务器,使其饱和或者至少造成其上行带宽饱和。
如果攻击规模很大,已经撑满了你的所有Internet带宽,那么唯一的方法就是请求你的ISP给与协助。
我们本地的HAProxy上可以做一点简单防护,聊胜于无。

修改/etc/sysctl.conf,加入如下内容:

# Protection SYN flood
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_max_syn_backlog = 1024

第二部分: HAProxy的防护功能

HAProxy 1.5版本中多了一些有趣的功能,我们可以拿来防范一些小规模的攻击行为。
主要是stick-table表中可以存储额外的附加信息了。

形式如下:
stick-table type {ip | integer | string [len ] | binary [len ]} size [expire ] [nopurge] [peers ] [store ]*

每个主机只能有一个stick-table,表中能存储的额外信息类型如下:

- server_id : 用户请求被分配到的服务器的ID。形式为整数。
                这个值可以被"stick match", "stick store","stick on"规则使用。
                 It is automatically enabled when referenced.

- gpc0 : 第一个通用计数器,形式为一个正32位整数。
           可以用于任何东西。通常会用于给一些特定的entry打tag。

- conn_cnt : Connection计数器,形式为一个正32位整数。
               记录了匹配当前entry的,从一个客户端处接收到的连接的绝对数量。
               这个数量并不意味着被accepted的连接数量,单纯就是收到的数量。

- conn_cur : 当前连接数,形式为一个正32位整数。
               当一新连接匹配指定的entry的时候,这个数值增加。
               当连接结束的时候,这个数值减少。
               通过这个值可以了解一个entry上任意时间点的准确的连接数。

- conn_rate() : connection的连接频率 (takes 12 bytes).
                          这个值统计指定时间范围内(毫秒为单位)进来的connection的频率。
                          这个数值可以通过ACL匹配一些规则。

- sess_cnt : Session计数器,形式为一个正32位整数。
               记录了匹配当前entry的,从一个客户端处接收到的session的绝对数量。
               一个session指的是一个已经被layer 4规则接受的connection。

- sess_rate() : session的连接频率 (takes 12 bytes).
                          这个值统计指定时间范围内(毫秒为单位)进来的session的频率。
                          这个数值可以通过ACL匹配一些规则。

- http_req_cnt : HTTP请求计数器,形式为一个正32位整数。
                   记录了匹配当前entry的,从一个客户端接受到的HTTP请求的绝对数量。
                   无论这个请求是合法还是非法。
分享到:
评论

相关推荐

    Haproxy使用手册.pdf

    Haproxy使用手册.pdf

    haproxy-1.8.23-1.el7.x86_64.rpm haproxy 1.8.23 rpm包

    haproxy-1.8.23 RPM包 for Centos7 rpm -ivh 安装即可,软件目录:/usr/local/haproxy-1.8.23 配置文件: /etc/haproxy/haproxy.cfg 可通过 systemctl 来进行 start 、stop 、restart 可通过 systemctl enable...

    haproxy windows环境使用

    NULL 博文链接:https://s-wswang.iteye.com/blog/2030186

    一个典型的Haproxy_exporter的监控metric例子.txt

    一个典型的Haproxy_exporter的监控metric例子 包含指标 haproxy_backend_bytes_in_total haproxy_backend_bytes_out_total haproxy_backend_client_aborts_total haproxy_backend_compressor_bytes_bypassed_total ...

    haproxy-1.5.14.zip

    haproxy

    haproxy 完全使用手册 安装 配置 上线测试

    haproxy 完全使用手册 安装 配置 上线测试

    haproxy 1.8

    haproxy 1.8 haproxy 1.8 haproxy 1.8 haproxy 1.8 haproxy 1.8

    Go-k8s使用多Haproxy自动发现代理Lb

    k8s 使用多 Haproxy自动发现代理Lb

    haproxy安装与部署

    HAProxy简介,初学者对haproxy安装部署掌握及有关haproxy应用的优势。

    haproxy-1.7.8.rar

    HAProxy 是一个使用C语言编写、免费、快速、可靠的一种代理解决方案,...对于一些负载较大的Web站点,使用HAProxy特别合适。HAProxy能够支撑数以万计的并发连接。官网不好下载,这里提供 haproxy-1.7.8.tar.gz 的版本。

    Haproxy 实现负载均衡

    使用 haproxy,实现在 http request 的负载均衡,将对负载均衡器的请 求分发到其所对应的 web 服务器。

    haproxy安装配置文档

    HAProxy相比LVS的使用要简单很多,功能方面也很丰富。当前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器、内部协议通信服务器等),和7层(HTTP)。在4层模式下,HAproxy仅在客户端和服务器...

    高性能业务架构解决方案(HAproxy+Keepalive)

    对于大型的Web服务器的时候可以使用Haproxy;对性能有严格要求的时候可以使用LVS,就单纯从负载均衡的角度来说,LVS也许会成为主流,更适合现在大型的互联网公司。本文采用HAproxy+keepalived双主方案来解决业务架构...

    haproxy-1.8.14.rar

    HAProxy 是一个使用C语言编写、免费、快速、可靠的一种代理解决方案,...对于一些负载较大的Web站点,使用HAProxy特别合适。HAProxy能够支撑数以万计的并发连接。官网不好下载,这里提供 haproxy-1.8.14.tar.gz 的版本。

    Haproxy-1.9.4.rar

    HAProxy 是一个使用C语言编写、免费、快速、可靠的一种代理解决方案,...对于一些负载较大的Web站点,使用HAProxy特别合适。HAProxy能够支撑数以万计的并发连接。官网不好下载,这里提供 haproxy-1.9.4.tar.gz 的版本。

    haproxy1.8.12

    HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy...

    haproxy1.7

    HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载...包括 GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter和 Tuenti在内的知名网站,及亚马逊网络服务系统都使用了HAProxy。

    HAProxy的安装和部署

    考虑公司当前服务器的并发量,最终还是选定了HAProxy来实现负载均衡,相较于其他的负载均衡系统,HAProxy的配置和使用还是比较简单的。 下面是自己安装和部署haproxy的记录,比较重要的一点是解决了haproxy + syslog-ng...

    haproxy-1.6.9.tar.gz

    haproxy-1.6.9.tar.gz,HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理

Global site tag (gtag.js) - Google Analytics