`

使用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 windows环境使用

    标题中的“haproxy windows环境使用”指的是在Windows操作系统中配置和使用HAProxy,这是一个流行的开源负载均衡器和反向代理服务器。HAProxy通常用于在高流量网站上分发网络负载,确保服务的高可用性和性能优化。 ...

    haproxy-1.5.14.zip

    3. 安全防护:通过设置访问控制策略,haproxy可以防止DDoS攻击和其他恶意访问。 六、haproxy-1.5.14版本 haproxy-1.5.14是haproxy的一个稳定版本,包含了自1.5.13以来的一系列改进和修复。具体包括性能优化、新...

    haproxy当前最新稳定版

    5. **安全措施**:确保haproxy配置中的安全设置,比如限制不必要的访问,启用防火墙规则,防止DDoS攻击等。 总之,haproxy作为一款强大的负载均衡器,对于构建高效、可靠的分布式系统起着关键作用。了解并熟练掌握...

    haproxy-2.5.5 windows版 简单易用

    - **配置灵活性**:haproxy的配置文件简单易懂,可以实现复杂的路由策略。 2. **Windows安装与配置**: - **下载与解压**:从官方网站或镜像站点下载haproxy-2.5.5的Windows版本,解压缩到指定目录。 - **配置...

    用haproxy实现RDP会话负载均衡

    在本文中,我们将使用HAProxy实现RDP会话负载均衡。首先,我们需要安装HAProxy。在CentOS 6.4系统上,我们可以使用以下命令安装HAProxy: wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz tar ...

    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安装与部署

    6. 启动 HAProxy:进入安装目录下的 sbin 目录,使用 ./haproxy -f /opt/haproxy/conf/haproxy.cfg 启动 HAProxy。 HAProxy 的配置文件: HAProxy 的配置文件名为 haproxy.cfg,主要分为五个部分: 1. 全局配置:...

    haproxy-1.7.8 稳定版 Win版本

    4. 流量控制:haproxy可以通过配置策略限制并发连接数,防止DDoS攻击。 5. 数据压缩:haproxy可以对传输的数据进行压缩,减少网络传输的带宽需求。 二、haproxy-1.7.8主要特性 1. 性能提升:haproxy-1.7系列在性能...

    haproxy windows

    5. **启动和管理haproxy**:编译完成后,可以在Cygwin终端使用`/cygdrive/c/haproxy/sbin/haproxy -f /path/to/haproxy.cfg -D`命令启动haproxy服务。`-D`参数让haproxy在后台运行。可以通过`haproxy -f /path/to/...

    haproxy-2.3.2-win64

    在使用haproxy-2.3.2-win64时,你需要了解如何编写配置文件(通常为`haproxy.cfg`),设置监听端口、定义后端服务器、配置负载均衡策略等。同时,还需要熟悉haproxy的日志系统和性能监控工具,以便于故障排查和性能...

    haproxy-1.7.10 windows 最新稳定版本

    用户只需解压后按照官方文档或使用指南配置好haproxy的配置文件,即可启动服务开始使用。对于初次接触haproxy的用户,建议查阅官方文档或相关教程,了解其基本配置和用法,以便更好地利用这个强大的负载均衡工具。

    haproxy1.7 最新版本

    **haproxy1.7 最新版本** haproxy(High Availability Proxy)是一款开源的、高性能的负载均衡器和反向代理服务器,广泛应用于...如果你的环境无法访问官方网站,可以使用提供的haproxy-1.7.0压缩包进行安装和部署。

    haproxy-2.8.0.tar.gz 二进制安装包,解压放置服务运行即可

    6. **守护进程化**:为了使Haproxy在后台持续运行,可将其添加为系统服务,使用`systemctl start haproxy`和`systemctl enable haproxy`命令。 7. **验证运行**:通过`netstat -tuln | grep haproxy`检查Haproxy...

    haproxy-1.8.22.tar.gz

    haproxy的配置文件简单易懂,一般位于解压后的haproxy-1.8.22目录下的`haproxy.cfg`,用户可以通过修改这个文件来定制自己的负载均衡策略和服务器设置。haproxy的命令行工具也十分实用,可以方便地进行服务启停、...

    一个典型的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 ...

    win10 haproxy可执行程序

    在使用haproxy时,用户需要配置haproxy的主配置文件——`haproxy.cfg`。这个文件定义了haproxy的行为,包括监听的端口、后端服务器列表、负载均衡算法等。配置文件中的主要部分包括frontend(前端)、backend(后端...

    haproxy1.9.1.zip

    为了使用HAProxy 1.9.1,你需要先解压`haproxy1.9.1.zip`,得到源码文件,然后根据你的操作系统和编译环境配置编译选项并进行编译。编译过程通常包括`./configure`、`make`和`make install`等步骤。安装完成后,你...

    HAProxy的安装和部署

    总之,HAProxy的安装和配置过程相对简单,但要充分利用其功能并确保稳定性,需要深入理解其配置选项和日志处理机制。正确配置HAProxy,可以有效地提升服务器集群的可用性和性能,应对高并发的访问压力。

Global site tag (gtag.js) - Google Analytics