苗栗縣大湖鄉大南國民小學全球資訊網路 (FreeBSD) 架站日誌
本文件僅供本站自主維修之用,若您操作時出了問題,請恕本站無法提供任何協助,因為這只是一篇私人的筆記而以。
建立祕密基地
10716
本文件最後的修改日期:Thursday July 19, 2001
須輸入認證資料才能瀏覽網頁  | 如何避免以瀏覽目錄方式看到檔案表列  | 只允許特定網域才能瀏覽網頁  | Home ]
  1.  新建祕密基地 所屬資料夾(本範例是假設祕密基地位於 /usr/local/apache/sec )

    cd /usr/local/apache
    mkdir sec

    這個祕密基地必須要有二個檔案:
    .htaccess 設定檔
    .htpasswd 帳號、密碼檔

  2. 建立 /usr/local/apache/sec/.htaccess

    cd /usr/local/apache/sec

    .htaccess 檔案的範例如下:(使用vi編輯器)

    AuthName "祕密基地"
    AuthType Basic
    AuthUserFile "/usr/local/apache/sec/.htpasswd"
    require valid-user


  3. 建立 /usr/local/apache/sec/.htpasswd

    用 touch 指令建立空檔案:
    touch .htpasswd

    再用 htpasswd 指令一筆筆新增帳號與密碼(htpasswd程式應當與httpd放在同一資料夾中,找找看。):
    htpasswd -m .htpasswd $username (一次建立一筆,$username是帳號,系統稍後會要求您輸入密碼)
    htpasswd -b .htpasswd $username $passwd (一次建立一筆,$username是帳號,$passwd是該帳號之密碼,系統不會出現要求您輸入密碼的對話)
    只有打htpasswd的話,系統會顯示出相關的語法。

  4. 編輯 Apache Server 的設定檔:httpd.conf
    自行加入下列四行:
    Alias /sec/ "/usr/local/apache/sec/"
    <Directory "/usr/local/apache/sec">
       AllowOverride All
    </Directory>
    (如果還有其他目錄要如此,請比照。)

  5. 重新啟動 Apache Server
    apachectl restart
  6. 使用網頁瀏覽器測試祕密基地
    在網址列輸入 httpd://貴校網址/sec/
    例如
  7.  請問於 Apache Server 中,如何避免讓別人以瀏覽目錄方式看到User的檔案表列?
    修改 httpd.conf 中有關 User 網頁設定的部份:
    <Directory /home/*/public_html>
        Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    將其中之
    AllowOverride None
    改為
    AllowOverride All
    然後重新啟動Apache。
    --------------------------
    User只要建立$HOME/public_html/.htaccess檔案,並寫入一行:
    Options -Indexes
    --------------------------
    http://www.lab.mlc.edu.tw/~lulu/
    http://www.lab.mlc.edu.tw/~tim/
    這兩個網址都沒有 index.html
    lulu沒有建立.htaccess,而tim則建立了.htaccess。
    
    上面的例子是User的網站設定,系統主網站的設定方式可比照辦理。

  8.  只允許特定網域(如學術網域 .edu.tw)才能瀏覽網頁:
    假設是 http://www.lab.mlc.edu.tw/~tim/test_allow/ 這個資料要做管制,請於該資料夾中再建立 .htaccess ,並設定如下:
    Order deny,allow
    Deny from all
    Allow from .edu.tw
    
    先deny再allow,把全部的連線都deny掉之後,才allow部份的連線。
    測試網址:http://www.lab.mlc.edu.tw/~tim/test_allow/
    這個資料夾有建立 index.html 。
    PS.我真的是這樣設,所以只有學術網路的朋友才能看見該測試網頁,而且你的IP要有FQDN。
    這些是我在臺中師院宿網中測試,宿網似乎強制經過proxy系統,中師的proxy有FQDN,但是它的parent卻沒有,所以目前這個proxy系統的FQDN是不正常的,我自己要看也很困難。

    這裡除了使用FQDN方式來設定,您也可以使用IP的方式,例如:
    Allow from 163.19.

    修改過 .htaccess 檔案後,不需要重新啟動 Apache ,設定值可立即生效。

  9. 最後再強調一次,要讓 .htaccess 檔案的設定能讓 Apache 讀取與生效,必須在 httpd.conf 中相關目錄的 AllowOverride 的值設定為 All 。

  10. 參考書目:
    博碩文化--Apache Server徹底研究,頁106認證和安全組態指令。
    旗標--Apache Server管裡手冊,頁3-48驗證與安全指示命令。
    清大網管班88.12.22作業
頁註腳
[ DNS | NAT & FireWall | DHCP | TCP_WRAPPER | SendMail | Quota | Samba | MySql | Apache+PHP | Proxy | FAQ ]
TWCERT 安全通報    
響應網路環保,減少使用圖片。
Miaoli Da-Nan Elementary School.
No. 15 Da-Nan Village, Da-Hwu County, Miaoli, Taiwan, R.O.C.
本文件僅供本站自主維護之用,並同意在不變更文件內容的前提下刊登或連結在任何型態的媒體中。