最大网站建设公司排名,iis 会影响 网站 速度,ftp网站上传成功后怎么做,营销型网站平台建设参考链接#xff1a;http://www.cnblogs.com/jivi/archive/2013/03/10/2952829.html 一、为什么要拦截检查请求#xff1f; 防止重放攻击、篡改重放#xff0c;进行使用规格检查 1、请求可能是重放攻击 重放攻击的基本原理就是把以前窃听到的数据原封不动地重新发送给接收方…参考链接http://www.cnblogs.com/jivi/archive/2013/03/10/2952829.html 一、为什么要拦截检查请求 防止重放攻击、篡改重放进行使用规格检查 1、请求可能是重放攻击 重放攻击的基本原理就是把以前窃听到的数据原封不动地重新发送给接收方。很多时候网络上传输的数据是加密过的此时窃听者无法得到数据的准确意义。但如果他知道这些数据的作用就可以在不知道数据内容的情况下通过再次发送这些数据达到愚弄接收端的目的。 例如有的系统会将鉴别信息进行简单加密后进行传输这时攻击者虽然无法窃听密码但他们却可以首先截取加密后的口令然后将其重放从而利用这种方式进行有效的攻击。 再比如假设网上存款系统中一条消息表示用户支取了一笔存款攻击者完全可以多次发送这条消息而偷窃存款。 2、请求可能是篡改重放 网上有一些工具如IEC、fiddler可以拦截IE表单请求篡改请求报文数据后再提交给服务器。 实现拦截请求篡改数据功能的方法有很多如使用WINPCAP直接从网卡截包然后篡改或者HOOK住SEND函数或者其它相关的网络API。使用WINPCAP实现这个功能有点牛刀杀鸡了而使用HOOK技术又不是太安全基本上带主动防御智能行为分析的杀软HOOK用到的几个函数都是被严密监控的。我们还可以采用--代理拦截技术看到代理两个字稍稍有点计算机知识的人第一时间反应的词语应该都是代理服务器是的代理拦截技术正是基于代理服务器技术实现的。一般的请求发送模式 加入代理服务器后 使用代理服务器后所有的HTTP请求都是先发到代理服务器然后由代理服务器重新包装后再发给目标(实际)服务器响应也是如此 代理服务器先接收来自目标(实际)服务器的响应然后包装后发给客户机。 所以实现一个代理服务器就可以拦截请求篡改数据了。 如何实现一个代理服务器参见http://www.cnblogs.com/jivi/archive/2013/03/10/2952829.html 3、需要对客户请求进行使用规格限制 同时在线请求控制 时段访问总量控制 。。。 二、网关控制 1、请求防攻击默认关闭 timestamp检查 nonce检查 1.1、timestamp检查 1.2、nonce检查 2、请求防篡改签名比对 为了对识别有效的客户端我们可以对请求进行防篡改检查具体的做法就是客户端对请求进行签名发送服务端进行签名比对。 合法的客户端是属于某个开发者的这个开发者申请使用某个api获得服务提供者同意后可以通过注册中心绑定一对前端访问密钥这对密钥包括一个key和一个secret开发者的客户端使用secret对要发送的请求进行签名后在请求中携带key和签名发送请求给网关。 网关会根据请求中携带的key在注册中心找到对应的secret重新对请求进行签名和请求中携带的签名进行比对一致则放行不一致则认为这个请求是被篡改过的。 2.1、客户端签名过程 请求头中要携带签名keyx-ca-front-devclientkeyey客戶端签名key请求头中要指定参与签名的请求头请区分大小写x-ca-front-sign-headersx-ca-front-timestamp,x-ca-front-nonce请求头中要携带使用签名key和签名算法计算的签名串x-ca-front-signature客戶端签名以下是请求签名Sign类中定义的网关侧请求头 2.2、签名算法 String secret签名密钥DevClientSecretString uri服务端用request.getUri()返回的内容, 不带参数String httpMethodPOST/GET/DELETE/PUTMapString, String headersToSign要参与签名的头key列表用英文逗号隔开MapString, Object paramsMap如果是Get所有参数列表如果是posturl后面跟的参数列表byte[] inputStreamBytes如果是post-bytes和put-bytes就是body体的bytes如果是post-form字典序的参数列表串.getBytes()2.3、签名例子 3、请求使用规格检查默认关闭如果none认证也关闭 3.1、同时在线请求控制 3.2、时段访问总量控制 三、补充说明