WEB防流量攻击解决方案中的疑问
前期公司网站被黑,后来老大说是被流量攻击了,要我做一个访问预警系统。
客户端(httpmodle)获取访问者的访问记录情况(用dictionary<>进行的记录),用线程每一分钟提交访问记录到服务端(对于dictionary,提交一分钟的访问记录的时候同时清除上一分钟的访问记录);
服务端接收数据进行相关分析,异常IP访问信息的入库,返回满足条件的异常IP(现阶段只是对一个IP在指定的时间内的页面请求判断);
客户端在获取返回回来的异常IP,存放于异常IP集合中,每次访问都要进行IP黑名单 ,白名单的判断,根据结果判断是否执行此次请求,(若是是异常IP则会跳转到一个指定的异常验证页面,手动完成相关验证后可以取消本IP的异常)
注:服务端和客户端用remoting进行的通信,服务端用windows服务进行remoting的TCP信道注册和关闭监听,注销通道。
但这套系统我始终有个问题,就是我的那个异常验证页面,因为我用的是HTTPMODLE,在每次请求都会都会执行黑白名单的判断,在判断为异常IP后会跳转到异常处理页面,但异常处理页面的请求也会执行相关判断 又会被判断为异常IP跳转到异常处理页面,这样就一直在跳转中,现在的解决办法是在执行判断前再加个判断是否是异常处理页面,若是则不执行判断请求。
这样解决的话 攻击者不是又可以对异常处理页面进行恶意访问,请各位懂的,做过的,或是有好的建议的来说说
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
预警访问系统这个开发起来恐怕还是比较复杂的吧,云天网络有个不错的样本,可以去下载下来看看,更多详情请去:
http://www.ytfirewall.com
这个预警系统没有用到JS,信息的发送,存储时通过remoting在服务端进行的操作
你这客户端是可以做些动态指令的吧,
但对于有些目前的手机浏览器,是不支持javascript的,就无法去自动向服务器发送信息了...
页面暂没有设定白名单,白名单,黑名单是针对访问IP的 我文章中或许没怎么说清楚,现在的异常处理页面在HTTPMODLE中是进行了排查的 比如A.HTML在跳转到这个页面的时候是没有进行IP异常判断的 我就觉得这个地方攻击者知道的话就会针对这个页面进行攻击。
假设异常验证页面为 /a.htm
那把这个URI (/a.htm) 加入白名单.