`

使用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-1.4.21

    2. **限制连接速率**:通过设置`maxconn`和`conn_rate`限制,防止DDoS攻击。 3. **安全配置**:启用SSL/TLS,使用安全的加密套件,防范中间人攻击。 总结,haproxy-1.4.21是构建高效负载均衡系统的重要组件,其丰富...

    网狐服务器架设指南!

    游戏服务器要防范DDoS攻击、SQL注入、XSS跨站脚本等安全威胁。通过防火墙、入侵检测系统、Web应用防火墙等手段加强防护。同时,定期进行安全审计和漏洞修复,确保服务器安全。 **六、监控与日志管理** 监控系统如...

    GameServer.rar

    5. **安全防护**:游戏服务器需要防范各种攻击,如DDoS、SQL注入、XSS攻击等。因此,代码中会包含防火墙规则、安全策略和异常检测机制。 6. **负载均衡**:当玩家数量庞大时,单个服务器难以承受,此时需要负载均衡...

    基于GO语言大型企业级电商秒杀系统实战教程.rar

    8. **安全性**:秒杀过程中,应防范各种攻击,如DDoS、CSRF、XSS等。Go语言的标准库提供了一些安全特性,如HTTPS支持、CSP(内容安全策略)配置等。 9. **测试**:为确保系统稳定,需进行单元测试、集成测试和压力...

    linux-web架构设计

    8. **安全实践**:防火墙配置、SSL/TLS加密、DDoS防护、安全日志监控以及常见攻击防范(如XSS、SQL注入)是保证Web服务安全的基础。 9. **性能监控**:通过工具如Prometheus、Grafana进行系统性能监控,及时发现并...

    亿级流量网站架构核心技术

    书中会涉及DDoS防护、SSL/TLS加密、CSRF与XSS攻击防范、OAuth2.0授权协议等网络安全主题。 7. **监控与运维**:系统监控与自动化运维是保证服务持续稳定的重要手段。书中会探讨日志管理(如ELK Stack)、Prometheus...

    主服务器

    应实施防火墙规则、SSL/TLS加密、DDoS防护等措施,确保数据的安全传输和服务器免受攻击。定期更新和打补丁也至关重要,以防范已知的安全漏洞。 最后,备份和灾难恢复策略是保障主服务器稳定运行的关键。定期备份...

Global site tag (gtag.js) - Google Analytics