全部博文(317)
分类: LINUX
2015-04-08 15:37:54
TRACE_Method是HTTP(超文本传输)协议定义的一种协议调试方法,该方法会使服务器原样返回任意客户端请求的任何内容。
TRACE和TRACK是用来调试web服务器连接的HTTP方式。支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"Cross-Site-Tracing"简称为XST。攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。
RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F]
服务器用户在httpd.conf尾部添加如下指令后重启apache即可:
TraceEnable off
二、缺少X-Frame-Options头部Secure Your Web Site from Clickjacking Attack
is well known web application vulnerabilities. For example, it was used as an attack on Twitter. To defense Clickjacking attack on your Apache web server, you can use X-FRAME-OPTIONS to avoid your website being hacked from Clickjacking
The X-Frame-Options in HTTP response header can be used to indicate whether or not a browser should be allowed to open a page in frame or iframe. This will prevent site content embedded into other sites. Did you every try embed Google.com in your website as frame? You can’t because it’s protected and you can protect it too.
There are three settings for X-Frame-Options:
- SAMEORIGIN: This setting will allow page to be displayed in frame on the same origin as the page itself.
- DENY: This setting will prevent a page displaying in a frame or iframe.
- ALLOW-FROM uri: This setting will allow page to be displayed only on the specified origin.
How to implement in Apache, IBM HTTP Server?
Add following line in Apache Web Server’s httpd.conf file
Restart Apache Web Server
Note: This implementation is applicable in IBM HTTP Server as well. You can add above Header parameter in httpd.conf of your IBM HTTP Server instance.
http://geekflare.com/secure-apache-from-clickjacking-with-x-frame-options/
三、参考
记录一下,以备查阅:
HTTP方法
评估结果
建议
说明
解决方案
HEAD
安全
无
除了服务器不能在响应中返回消息体,HEAD 方法与 GET 相同。HEAD 请求的响应中的 HTTP 头部中包含的元信息应该与 GET 请求发送的响应中的信息相同。该方法可用来获取请求暗示实体的元信息,而不需要传输实体本身。该方法常用来测试超文本链接的有效性、可用性和最近的修改。
TRACE
危险
建议关闭
TRACE 方法用于引起远程的,该请求消息的应用层回射。请求的最终接收者应该反射200(OK)响应,并以该消息作为客户端回收消息的实体。
将应用服务器中的TRACE谓词拒绝
GET
安全
无
GET 方法即获取由 Request-URI 标识的任何信息(以实体的形式)。如果 Request-URI 引用某个数据处理过程,则应该以它产生的数据作为在响应中的实体,而不是该过程的源代码文本,除非该过程碰巧输出该文本。
PUT
危险
建议关闭
PUT 方法请求将封装的实体存储在指定的 Request-URI 下。如果 Request-URI 引用已存在的资源,该封装实体应该被认作最初服务器存储的修改版本。如果 Request-URI 没有指向已存在的资源,且该 URI 可以被请求的用户代理定义为新的资源,则最初服务器可以用该URI创建资源。
将应用服务器中的PUT谓词拒绝
POST
安全
无
POST 方法用来请求最初服务器接受请求中封装的实体作为从属于请求行中的 Request-URI 标识的附属。
OPTIONS
安全(已关闭)
无
OPTIONS 方法表示在由 Request-URI 标识的请求/响应链上关于有效通讯选项信息的请求。该方法允许客户端判断与某个资源相关的选项和/或需求或者服务器的能力,而不需要采用资源行为或发起资源获取。
DELETE
危险
建议关闭
DELETE 方法请求最初服务器删除 Request-URI 标识的资源。最初服务器可在人为干涉下(或其它意思)屏蔽该方法。客户端不能确保该操作已提交,即使最初服务器发出的状态码表明动作已成功完成也如此。然而,在给出响应的时候,服务器不应该表示成功,除非它试图删除该资源或将它移动到不可访问的位置。
将应用服务器中的DELETE谓词拒绝
nginx location 节点中配置:
-
limit_except GET POST {
-
deny all;
-
}
要特别注意的是
GET已经包含HEAD
还有就是limit_except的意思是”限制除了“也就是允许啦。
上面的意思是限制除了GET POST外的所有谓词
官方文档: