next up previous contents
Next: 確認 apache 用戶無權限寫入 Up: 安全 Apache 2.4 網站 Previous: 限制網頁根目錄外的存取   Contents

關閉目錄瀏覽

  1. 用戶可以看光網站內的所有檔案,對網站安全威脅很大,所以如果不是要架設一個類似 ftp 伺服器,提供一般用戶下載檔案用,最好還是在 httpd.conf 指定的網頁目錄加上 Options -Indexes,取消列出目錄檔案。
    [root@kvm8 ~]# vim /etc/httpd/conf/httpd.conf 
    <Directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    
  2. 為了測試,先在 /var/www/html/ 目錄下建一個目錄 inx 並產生 i.html 及 ijk.html 兩個檔案。
    [root@kvm5 ~]# mkdir /var/www/html/inx
    [root@kvm5 ~]# echo 'index test' > /var/www/html/inx/i.html
    [root@kvm5 ~]# echo 'index test' > /var/www/html/inx/ijk.html
    
  3. 連線 http://kvm5.deyu.wang/inx/,目錄下沒有 index.html 或 index.php,系統列出 i.html 及 ijk.html 兩個檔案。
    [root@kvm5 ~]# curl -s http://kvm5.deyu.wang/inx/ | sed -e 's/<[^>]*>//g' -e '/^$/d'
     
      Index of /inx
     
     
    Index of /inx
      
       NameLast modifiedSizeDescription
       
    Parent Directory       &nbsp;  - &nbsp;
    i.html                 2015-05-23 00:32   11 &nbsp;
    ijk.html               2015-05-23 00:33   11 &nbsp;
    
  4. 修改 httpd.conf 在 Indexes 前加減號可以關閉目錄瀏覽,注意 apache 2.4 Options 後面接的選項不只一個時,當其中一個以「加減號」做為啟動或關閉時,則其他每個選項也都要在前面加上「加減號」,否則 httpd 無法成功啟動。
    [root@kvm8 ~]# vim /etc/httpd/conf/httpd.conf 
    <Directory "/var/www/html">
        Options -Indexes +FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    
  5. 再重新載入 httpd 服務設定。
    [root@kvm5 ~]# systemctl reload httpd.service
    
  6. 再連線 http://kvm5.deyu.wang/inx/,目錄下沒有 index.html 或 index.php,系統回應沒有權限存取此目錄。
    [root@kvm5 ~]# curl -s http://kvm5.deyu.wang/inx/ | sed -e 's/<[^>]*>//g' -e '/^$/d'
    403 Forbidden
    Forbidden
    You don't have permission to access /inx/
    on this server.
    



2015-12-04