记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。
 
0

本程序正式名称为httpgate,顾名思义http的大门,所有的http请求都要通过httpgate。httpgate为web server及后端的业务逻辑提供良好的保护功能,最大限度屏蔽恶意访问。同时,针对apache,httpgate能够与客户端保持大量的长连接,提高了系统的整体性能。

1.3      简介

httpgate是一个http 7层代理软件,专注于http代理及http防攻击,具备如下特点:

1.       采用事件驱动、异步、非阻塞的设计模式。性能优秀,开启http防攻击的情况下,性能接近nginx

2.       对客户端ip和客户端cookie的访问情况进行统计,支持基于客户端ip和客户端cookie的防攻击。

3.       代理层采用读取转发的方式,有效保护后端web server

4.       支持ip白名单,黑名单

5.       支持细致的客户端连接参数配置,可针对不同的应用类型、可能的攻击方式,配置不同的参数,提升攻击的代价。比如客户端连接超时、客户端写入超时、客户端读取超时。

6.       支持后端web server健康检查、故障冗余、rr/iphash负载均衡

7.       支持客户端长连接

8.       支持基于域名,url,cookie分流

2         总体设计

2.1      系统的总体功能需求

2.1.1    系统输入数据

1.         用户访问web服务时,由httpgate抽取用户访问应用服务器时相关信息,包括:IP址地,代理IP地址,用户的cookie,用户的连接时间,读取时间,写入时间,连接频度等

2.         白名单、黑名单列表

2.1.2    系统输出数据

1.         关闭客户端的连接

2.         重置客户端的连接

3.         输出客户端被封禁的信息

2.1.3    系统处理功能

1.         抽取用户的访问规则,包括ip的访问频度,cookie的访问频度

2.         对抽取的数据进行实时分析/计算,并根据预先定义的规则采取封禁或放行

3.         对抽取的ip数据进行过滤,如果ip在白名单种,则进入cookie数据过滤。如果ip在黑名单中,则直接重置连接。

4.         ip白名单、黑名单修改之后,发送SIGUSR1信号可以重载。

2.1.4    系统性能要求

1.         效率要求:单机支持20亿以上的日pv,qps达到3w以上

2.         可靠性要求:判断误差率<0.05%

3.         稳定性要求:稳定性99.96%以上

4.         可扩展性:



转载请标明出处【http7层代理软件 httpgate 】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论