zoukankan      html  css  js  c++  java
  • Apache服务器运维笔记(6)----目录 文件 网络容器的安全问题

      <Directory>、<Files>、<Location> 这三个容器的作用都很相似,都是以容器的形式来封装一组指令对访问进行控制,只是它们的区别在于作用于目录、文件、网络,因此经常会有人将它们混用而导致一些安全问题的出现,例如,使用<Location>容器来限制文件系统中的目录或是文件:

    <Location /srv/www/html>
    Order allow,deny
    Deny from all
    </Location>

      在上面的例子中,<Location /srv/www/html>确实限制了 http://192.168.1.210/srv/www/html 的访问,但是超链接是不区分大小写的,用户如果使用 http://192.168.1.210/Srv/www/html 这样的链接来访问,<Location /srv/www/html>容器就无法限制了,其结果就是用户可以使用 http://192.168.1.210/Srv/www/html 或是其他大写格式来进行访问。

      而对于<Directory>与<Files>容器来说也会有这样的安全问题,当UNIX/Linux系统中的文件或是目录使用符号链接时,如果没有使用Options指令禁止对符号链接的跟随也会产生安全问题,例如:

    <Directory /srv/Apache/html>
    Order Deny , Allow
    Deny from All
    </Directory>

      在上面的例子中,如果 /srv/Apache 目录下的 html文件夹是链接到其他目录如 /root 的,那么,当用户访问 /srv/Apache/html/ 路径时则显示的是 /root 目录下的内容。

      

      对于<Directory>、<Files>、<Location>这三个容器来说,最好的方法就是使用<Directory>、<Files> 来控制文件系统,而<Location>容器则用来控制一个不存在于文件系统的对象,如果要更安全的控制则需要使用Options指令禁止对于符号链接的跟随。

  • 相关阅读:
    sql: 左连接 和内连接区别联系 No
    Maven 浅谈一 No
    日记090212
    js 获取asp 控件DropDownList的选择值,及所有的text和value
    ASP.NET 2.0 只读 TextBox 回发后信息丢失
    Cry On My Shoulder (背景音乐)
    Inside ASP.NET 2.0 DataBound Control 3
    ASP.NET自定义控件复杂属性声明持久性浅析
    Inside ASP.NET 2.0 DataBound Control 2
    ASP.NET 2.0 Client Callback 浅析
  • 原文地址:https://www.cnblogs.com/dongling/p/5677067.html
Copyright © 2011-2022 走看看