時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
??? 當(dāng)大家在訪問(wèn)一些企業(yè)門戶網(wǎng)站的時(shí)候,后續(xù)會(huì)發(fā)現(xiàn)當(dāng)打開(kāi)某些特定連接的時(shí)候,需要輸入用戶名與密碼才能夠訪問(wèn)。如下圖是某個(gè)門戶網(wǎng)站的一個(gè)頁(yè)面,其需要憑借用戶名與密碼才能夠訪問(wèn)特定的資源。這可以提高企業(yè)Web服務(wù)器資源的安全。那么這是如何實(shí)現(xiàn)的呢?各種Web服務(wù)器基本上都有類似的功能。筆者現(xiàn)在就以Linux操作系統(tǒng)上的Apache服務(wù)器為例,談?wù)勂淙绾谓Y(jié)合Linux操作系統(tǒng)來(lái)實(shí)現(xiàn)類似的配置。
??? 在Apache服務(wù)器中,這個(gè)安全認(rèn)證機(jī)制叫做目錄保護(hù)機(jī)制。當(dāng)某個(gè)用戶訪問(wèn)網(wǎng)頁(yè)中的某個(gè)連接時(shí),會(huì)出現(xiàn)一個(gè)對(duì)話框,告訴用戶在登陸這個(gè)目錄時(shí),需要輸入帳號(hào)和密碼才能夠登陸。通過(guò)Apache服務(wù)器提供的目錄認(rèn)證保護(hù)機(jī)制可以實(shí)現(xiàn)這個(gè)功能。筆者之所以推薦這種解決方法,主要是因?yàn)槠鋸椥员容^大,而且使用配置起來(lái)也比較方便。如不需要些任何程序控制就可以限制某些帳號(hào)及密碼進(jìn)入受保護(hù)的目錄,使得一些特定的網(wǎng)絡(luò)數(shù)據(jù)只有注冊(cè)用戶才能夠存取。
??? 現(xiàn)在現(xiàn)在某個(gè)網(wǎng)站中http://www.test.com/test目錄中的資源只有特定的用戶才能夠訪問(wèn)。為此網(wǎng)絡(luò)管理員就需要給這個(gè)目錄采用特殊的保護(hù)機(jī)制。下面筆者就一步步的對(duì)這個(gè)過(guò)程進(jìn)行詳細(xì)的描述,以幫助各位讀者能夠盡快采用這個(gè)目錄認(rèn)證保護(hù)機(jī)制來(lái)保護(hù)網(wǎng)站上的特定資源。
??? 第一步:建立相關(guān)的目錄。
??? 為了變與網(wǎng)站資源的管理,最好能夠把需要限制用戶的資源放置在特定的目錄中。如此的話,系統(tǒng)管理員就可以針對(duì)特定的目錄來(lái)設(shè)置認(rèn)證保護(hù)機(jī)制,而不需要根據(jù)一個(gè)個(gè)資源來(lái)進(jìn)行設(shè)置。為此,系統(tǒng)管理員首先需要在系統(tǒng)中建立相關(guān)的目錄。不過(guò)在建立這個(gè)目錄之前,還必須了解Apacle服務(wù)器的目錄結(jié)果。即需要了解其http://www.test.com/test目錄在系統(tǒng)中對(duì)應(yīng)的位置。默認(rèn)情況下,其test目錄存儲(chǔ)的位置應(yīng)該在/srv/test/目錄下。為此系統(tǒng)管理員可以在/srv/test/目錄下建立test目錄。然后把需要進(jìn)行訪問(wèn)限制的資源都放置在這個(gè)目錄中。另為為了后續(xù)管理的方便,對(duì)于這個(gè)目錄中的資源最好能夠建立一個(gè)頁(yè)面進(jìn)行連接,以方面用戶通過(guò)連接來(lái)訪問(wèn)相關(guān)的資源。當(dāng)然這些連接要采用html格式來(lái)建立。
??? 第二步:把這個(gè)目錄中的資源關(guān)聯(lián)到網(wǎng)站主頁(yè)上。
??? 在門戶網(wǎng)站中,大部分資源都是公開(kāi)開(kāi)發(fā)的。也就是說(shuō),即使不是注冊(cè)用戶或者收費(fèi)用戶或者企業(yè)的員工,也是可以訪問(wèn)的。而只有一些特定的資源才會(huì)進(jìn)行有限制的訪問(wèn)。所以,這里需要注意的是,要把剛在在目錄中建立的html文件關(guān)聯(lián)到門戶網(wǎng)站的主頁(yè)上。讓用戶可以通過(guò)主頁(yè)上的連接來(lái)進(jìn)入到相關(guān)的頁(yè)面。如可以通過(guò)圖形化工具,也可以在命令行下通過(guò)echo指令在主頁(yè)上建立與剛才目錄的對(duì)應(yīng)關(guān)系。當(dāng)用戶點(diǎn)擊這個(gè)連接時(shí),如果采用了目錄保護(hù)機(jī)制,那么就會(huì)提示用戶輸入用戶名與密碼。只有輸入了合法的用戶信息,才會(huì)被用戶訪問(wèn)。否則的話,就會(huì)被拒之門外。
??? 第三步:設(shè)置目錄保護(hù)機(jī)制。
??? 安裝完Apache服務(wù)器之后,默認(rèn)情況下其安裝目錄下會(huì)有一個(gè)default-server.conf配置文件。這個(gè)文件中就保存著Apache服務(wù)器的大部分配置參數(shù)。作為系統(tǒng)管理員,要對(duì)這個(gè)配置文件有非常深刻的認(rèn)識(shí)?,F(xiàn)在要進(jìn)行目錄保護(hù)機(jī)制,也是在這個(gè)配置文件下完成的。在對(duì)這個(gè)配置文件進(jìn)行修改之前,為了保險(xiǎn)起見(jiàn),最好能夠先對(duì)這個(gè)配置文件進(jìn)行備份。這可以放置因?yàn)樾薷呐渲缅e(cuò)誤而導(dǎo)致Apache服務(wù)器無(wú)法使用。筆者再次強(qiáng)調(diào)一下,對(duì)于Linux操作系統(tǒng)中的所有配置文件進(jìn)行修改之前,最好都能夠?qū)ζ溥M(jìn)行備份。系統(tǒng)管理員在這方面不要太過(guò)于自信。認(rèn)為自己水平比較高,不會(huì)改錯(cuò)的,就在沒(méi)有備份之前就放心大膽的更改了。老馬也有失前蹄的時(shí)候。像筆者有多年Linux操作系統(tǒng)管理經(jīng)驗(yàn)的老手,仍然會(huì)逼著自己去這么做。雖然往往這個(gè)備份是多余的,但是這個(gè)保險(xiǎn)還是要買的。
??? 默認(rèn)情況下,Apache服務(wù)器是不會(huì)對(duì)任何目錄采取保護(hù)認(rèn)證機(jī)制。如果需要對(duì)某個(gè)目錄采用這個(gè)保護(hù)措施的話在,則系統(tǒng)管理員需要編輯這個(gè)配置文件,并在文件的最后加入如下語(yǔ)句: AllowOverride authconfig 即可。在書(shū)寫這個(gè)目錄的時(shí)候,需要注意幾個(gè)方面的內(nèi)容。首先是一個(gè)配對(duì)的關(guān)鍵字,即要以開(kāi)頭,然后以結(jié)尾。有些系統(tǒng)管理員在編寫這條語(yǔ)句時(shí),最容易犯的錯(cuò)誤就是最后的這個(gè)關(guān)鍵字會(huì)忘記寫,從而導(dǎo)致Apache服務(wù)器無(wú)法正確讀取這個(gè)配置文件,從而發(fā)生故障。其次,就是需要注意,在引號(hào)里面需要輸入需要保護(hù)的目錄信息。在輸入目錄的時(shí)候,需要利用英文狀態(tài)下的雙引號(hào)引用起來(lái)。另外需要注意的是,在Linux操作系統(tǒng)下目錄與文件其大小寫都是敏感的。為此在這里輸入路徑的時(shí)候,大小寫字符也是敏感的。如果把小寫的目錄名字寫成了大寫,則服務(wù)器會(huì)提示找不到相關(guān)目錄的錯(cuò)誤信息。而在測(cè)試時(shí),系統(tǒng)管理員也會(huì)發(fā)現(xiàn)相關(guān)的配置不起作用。所以,系統(tǒng)管理員需要注意,這個(gè)大小寫的問(wèn)題。一般情況下,系統(tǒng)管理員自己創(chuàng)建的目錄與文件名最好都采用小寫,這對(duì)于后續(xù)的維護(hù)也是很方便的。
??? 另外需要注意的是,當(dāng)修改了這個(gè)配置文件后,并不會(huì)馬上生效。系統(tǒng)管理員需要重新啟動(dòng)操作系統(tǒng)或者重新啟動(dòng)Apache服務(wù)器后才能夠生效。通常情況下,系統(tǒng)管理員只需要利用明亮rcapache2 restart命令重新啟動(dòng)apache設(shè)定文件即可,而不需要重新啟動(dòng)服務(wù)器。
??? 第四步:設(shè)置對(duì)話框的提示信息。
??? 當(dāng)用戶打開(kāi)受限制的目錄時(shí),系統(tǒng)會(huì)彈出一個(gè)對(duì)話框,提示用戶輸入用戶名與密碼等等。對(duì)于這個(gè)窗口的顯示格式、所采用的認(rèn)證方式等等,系統(tǒng)管理員可以根據(jù)自己的需要進(jìn)行自定義。這個(gè)自定義的方式也很簡(jiǎn)單,不需要管理員通過(guò)編寫代碼來(lái)完成額。而只需要更改.htaccess文件中的相關(guān)配置參數(shù)計(jì)可。系統(tǒng)管理員需要在受保護(hù)的目錄下產(chǎn)生一個(gè).htaccess文件,并在這個(gè)文件中設(shè)置顯示在窗口上面的提示符、身份認(rèn)證的類型、帳號(hào)密碼文件存儲(chǔ)的位置等等信息。一般情況下,我們可以從網(wǎng)絡(luò)上下載一個(gè)模板,然后根據(jù)實(shí)際情況修改相關(guān)的內(nèi)容即可。
??? 另外,需要注意的是,雖然這里建立了密碼文件存儲(chǔ)位置,但是并沒(méi)有建立密碼文件。系統(tǒng)管理員需要手工來(lái)創(chuàng)建密碼文件。還好這個(gè)建立比較簡(jiǎn)單,只需要利用一個(gè)命令htpasswd2 –c命令即可。在設(shè)置密碼文件保存位置的時(shí)候,為了其安全起見(jiàn),最好能夠把其保存在一個(gè)比較安全地方。以防其泄露而給企業(yè)造成不可估量的損失。其次默認(rèn)情況下用戶名與密碼都是大小寫敏感的。如SA01與sa01就是屬于兩個(gè)不同的用戶名。為了避免這種困擾,筆者建議最好用戶名與口令都采用小寫,以簡(jiǎn)化用戶的輸入。不過(guò)對(duì)于一些安全性要求比較高的網(wǎng)頁(yè),則可以通過(guò)采用大小寫混用的用戶名與密碼來(lái)提高其安全性。所以這個(gè)安全性與便利性之間往往難以平衡。系統(tǒng)管理員需要根據(jù)實(shí)際的需要,在其中進(jìn)行抉擇。
??? 最后筆者強(qiáng)調(diào)一下,在Apache服務(wù)中的目錄保護(hù)機(jī)制,是針對(duì)目錄設(shè)置的,而不是針對(duì)特定的網(wǎng)頁(yè)。這就提高了其靈活性。如同一個(gè)網(wǎng)頁(yè)上的資源,如果保存在不同的目錄中(其中一些保存在受保護(hù)的目錄中),那么就可以實(shí)現(xiàn)對(duì)于部分資源實(shí)現(xiàn)受限訪問(wèn)。這在實(shí)際部署中,非常的有用。如在培訓(xùn)網(wǎng)站上,某些試聽(tīng)的課程是免費(fèi)開(kāi)放的;而其他課程則是只有收費(fèi)用戶才能夠訪問(wèn)。為此只需要把這些課程放置在不同的目錄中就可以實(shí)現(xiàn)。而不需要設(shè)置不同的網(wǎng)頁(yè)進(jìn)行控制。這可以在很大程度上降低系統(tǒng)管理員的工作量。
關(guān)鍵詞標(biāo)簽:Apache服務(wù)器安全
相關(guān)閱讀
熱門文章 ISAPI Rewrite實(shí)現(xiàn)IIS圖片防盜鏈 IIS6.0下配置MySQL+PHP5+Zend+phpMyAdmin 在Windows服務(wù)器上快速架設(shè)視頻編解碼器全攻略 win2000server IIS和tomcat5多站點(diǎn)配置
人氣排行 XAMPP配置出現(xiàn)403錯(cuò)誤“Access forbidden!”的解決辦法 WIN2003 IIS6.0+PHP+ASP+MYSQL優(yōu)化配置 訪問(wèn)網(wǎng)站403錯(cuò)誤 Forbidden解決方法 如何從最大用戶并發(fā)數(shù)推算出系統(tǒng)最大用戶數(shù) Server Application Unavailable的解決辦法 報(bào)錯(cuò)“HTTP/1.1 400 Bad Request”的處理方法 Windows Server 2003的Web接口 http 500內(nèi)部服務(wù)器錯(cuò)誤的解決辦法(windows xp + IIS5.0)