Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2124901
  • 博文数量: 317
  • 博客积分: 5670
  • 博客等级: 大校
  • 技术积分: 3677
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-10 17:51
文章分类

全部博文(317)

文章存档

2016年(2)

2015年(44)

2014年(68)

2013年(42)

2012年(23)

2011年(51)

2010年(67)

2009年(17)

2008年(3)

分类: LINUX

2015-04-08 15:37:54

一、处理使用不安全的HTTP TRACE方法

TRACE_Method是HTTP(超文本传输)协议定义的一种协议调试方法,该方法会使服务器原样返回任意客户端请求的任何内容。

TRACE和TRACK是用来调试web服务器连接的HTTP方式。支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"Cross-Site-Tracing"简称为XST。攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。

如何关闭Apache的TRACE请求 

?虚拟主机用户可以在.htaccess文件中添加如下代码过滤TRACE请求:


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:

  1. SAMEORIGIN: This setting will allow page to be displayed in frame on the same origin as the page itself.
  2. DENY: This setting will prevent a page displaying in a frame or iframe.
  3. 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

Header always append X-Frame-Options SAMEORIGIN

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 节点中配置:


[plain] view plaincopy
  1. limit_except GET POST {  
  2.     deny  all;  
  3. }  
要特别注意的是


GET已经包含HEAD

还有就是limit_except的意思是”限制除了“也就是允许啦。

上面的意思是限制除了GET POST外的所有谓词 


官方文档:

阅读(6980) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~