• 分层架构web容器的配置安全


    转自:http://hi.baidu.com/shineo__o/item/7520d54c24d234c71081da82

    /ps:本以为这是一个偶然配置失误造成的问题,但最近几天无聊时测试发现,有此类似问题的站点就有上百个,所以在这里粗糙总结一下!

      通常我们会碰到这样一个问题,在某个web容器中部署的应用的敏感信息是禁止直接访问的,但需要两个web容器搭配使用时,由于安全意识的疏忽,导致前者的私密信息能够通过http访问到,一个很简单的问题(可能大家也经常碰到),但经常容易被部署人员忽视,前段时间测试发现此类问题的站点还不少,其中不乏一些大型站点。

    先看这张图:

      发现Tomcat容器下应用的WEB-INF文件夹下能够被访问到?

     上面是使用了Nginx + Tomcat容器分层,做了反向代理。

    Nginx由于性能好、配置简单、且基本不需要软件成本;

    Tomcat基本同上,但Tomcat有个缺点,处理静态文件性能低下。

    综合一系列原因,对于一些创业型的或降低成本的互联网公司,都会选择j2ee及两者作为网站web容器层架构首选(优点还有很多,这里就不去讨论它)。

    首先,看看截图:



    以上只是导致这一问题,两个典型Nginx配置的case(其他场景也比较多)。

    原因:在Nginx访问转接中配置了root(访问的容器),通常是整个应用的根路径,因为这样方便把静态文件交给Nginx来处理,就这么简单。

    先看看应用文件中的WEB-INF文件夹安全说明:http://baike.baidu.com/view/1745468.htm  (熟悉j2ee的就不多说了!)

     在Tomcat容器中,所有应用的WEB-INF文件夹是不能通过页面直接访问的。因为这个文件夹下信息重要,危害看看下面的一个case:

    http://www.wooyun.org/bugs/wooyun-2010-07329

    其他同样问题的站点应用(另外其他有此问题的站点就不一一介绍了!):

    http://www.wooyun.org/bugs/wooyun-2010-07760

    由于j2ee架构的特性,导致了整个应用层的暴露!

    当然,我们会通过Nginx的简单配置解决这个问题:

    但Nginx的这项配置绝对不是为了j2ee的安全问题而制订的这一项安全规范。

    同样的问题在Apache + Tomcat的分层结构中也出现了。

    我想说的是,这一问题只是在web容器搭配使用中,在j2ee的特性方面体现由为明显的安全问题。那其他语言或其他容器中了?更或者在其他两个或多个规范中,我们是否更要注意这些敏感信息的保护了?

    简单地说,一个规范的隐私问题如何在另一个规范中得到有效保护?

    那么这一问题应该算是谁的安全问题或者说谁该负责了?

     不好说,设计标准中“松耦合”这一词用得真好,谁愿意去主动承担更多的责任?

     但从Nginx + Tomcat中,个人认为是Nginx,因为Tomcat在整个web容器分层架构中权重要低!

    要做更高层的产品就必须去兼容(让这一问题成为Nginx 默认安全配置项,毕竟WEB-INF文件夹对于j2ee来说太重要了!)底层产品(当然要看这一高层产品是怎么去描述自己的)!

  • 相关阅读:
    有高程点数据,想生成等高线数据后再生成TIN
    【转】ArcGIS Server安装
    CSS定义不规则图片排版
    ArcEngine实现打开shapfile、Raster、TIN文件
    VSS在签出工程时老提示"network not found"或者''Invalid handle"的解决办法
    SiteServer CMS 上传文件过滤,只能是图片格式。
    突然记起我也遇到过一个麻花姐
    六一快乐
    杭州,婺源
    <转>一斗米养个仇人
  • 原文地址:https://www.cnblogs.com/dongchi/p/4067545.html
Copyright © 2020-2023  润新知