欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux Apache Web 服務(wù)器(續(xù)三)

 更新時(shí)間:2008年03月15日 18:45:15   作者:  
八、建立Apache站點(diǎn)的基本安全機(jī)制 對(duì)于WWW服務(wù)來(lái)說(shuō),在WWW服務(wù)器和WWW瀏覽器之間并不始終維持對(duì)話(huà)過(guò)程。辦要WWW服務(wù)器完成對(duì)一個(gè)URL請(qǐng)求的服務(wù),連接就斷開(kāi)了


在這種情況下,在WWW上保證可以使用的唯一認(rèn)證機(jī)制是由HTTP本身提供 的。在標(biāo)準(zhǔn)的Apache服務(wù)器實(shí)現(xiàn)了這樣的認(rèn)證,它能控制哪些主機(jī)可能訪(fǎng)問(wèn)特定的站點(diǎn)或特點(diǎn)的站點(diǎn)的一部分。

這種認(rèn)證可以分為兩種,一種是基于主機(jī)的的認(rèn)證,另一種是基于用戶(hù)名/口令的認(rèn)證。由于互聯(lián)網(wǎng)上的決大多數(shù)用戶(hù)的IP地址是動(dòng)態(tài)獲得的,所以基于主機(jī)的認(rèn)證方式并不總適用。所以在大多數(shù)情況下,傳統(tǒng)的基于用戶(hù)名/口令的認(rèn)證方式更為現(xiàn)實(shí)。下面我們就對(duì)這兩種認(rèn)證的實(shí)現(xiàn)做一簡(jiǎn)要的介紹。

8.1 基于主機(jī)的認(rèn)證方式

在種認(rèn)證模式顧名思義,訪(fǎng)問(wèn)是用主機(jī)名或主機(jī)IP地址來(lái)控制的。支持這種認(rèn)證方式的是Apache的mod_access模塊,這個(gè)模塊缺省狀態(tài)下是被安裝了的。該模塊用以下幾種Apache命令來(lái)提供訪(fǎng)問(wèn)控制功能。


allow命令

語(yǔ)法:allow from host1 host2 host3 ...

這個(gè)命令定義了允許訪(fǎng)問(wèn)站點(diǎn)或目錄的主機(jī)清單。主機(jī)清單可以用以下幾

種形式表示:

ALL:代表所有主機(jī);

主機(jī)的全域名,如:www.mot.com;

主機(jī)的部分域名,如:.mot.com;

完整的IP地址,如:202.98.2.32;

部分IP地址,如:202.98

網(wǎng)絡(luò)地址/網(wǎng)絡(luò)掩碼對(duì),如:202.98.0.0/255.255.0.0

網(wǎng)絡(luò)地址/nn(CIDR定義),如:202.98.0.1/16


deny命令

語(yǔ)法:deny from host1 host2 host3 ...

這個(gè)命令定義了禁止訪(fǎng)問(wèn)站點(diǎn)或目錄的主機(jī)清單,其他與allow命令相似。


order命令

語(yǔ)法:order deny,allow | allow,deny

這個(gè)命令定義評(píng)價(jià)allow和deny命令的先后順序。

例如:

<Directory /home/httpd/html>
order deny,allow
deny from www.mot.com
allow all
</Directory>

這組命令設(shè)置了禁止www.mot.com訪(fǎng)問(wèn)/home/httpd/html目錄下的文件。

請(qǐng)大家注意,順序是先deny后allow,如果是:order allow,deny 那么,先允許所有的主機(jī)訪(fǎng)問(wèn),然后再禁止,這樣是無(wú)效的,所有主機(jī)仍然能夠訪(fǎng)問(wèn)。

8.2 基于用戶(hù)名/口令的認(rèn)證方式

這種認(rèn)證方式其實(shí)相當(dāng)簡(jiǎn)單,當(dāng)WWW瀏覽器請(qǐng)求經(jīng)此認(rèn)證模式保護(hù)的URL

時(shí),將會(huì)出現(xiàn)一個(gè)對(duì)話(huà)框,要求用戶(hù)鍵入用戶(hù)名和口令。用戶(hù)輸入后,傳給WWW服務(wù)器,WWW服務(wù)器驗(yàn)證它的正確性,如果正確,返回頁(yè)面,否則返回401錯(cuò)誤。要說(shuō)明的一點(diǎn)是,這種認(rèn)證模式是基本的,并不能用于安全性要求極高的場(chǎng)合。

Apache中有許多模塊可以支持這種認(rèn)證方式,下面我們就介紹一下最基本、最標(biāo)準(zhǔn)的mod_auth模塊。正如前面提到的一樣,mod_auth模塊使用存儲(chǔ)在文本文件中的用戶(hù)名、組名和口令來(lái)實(shí)現(xiàn)認(rèn)證。這種方法非常適合處理少量用戶(hù),它能工作得很好。如果你需要對(duì)大量的用戶(hù),如數(shù)以千計(jì)的用戶(hù)做認(rèn)證時(shí),這種方法的性能將急劇下降到不可忍受,所以當(dāng)這種情況下,就需要考慮使用mod_dbm模塊或mod_mysql模塊來(lái)獲得更好的性能。


實(shí)例一:需要用戶(hù)名和口令的訪(fǎng)問(wèn)控制

下面我們就一起來(lái)看一下如何建立需要用戶(hù)名/口令才能進(jìn)行訪(fǎng)問(wèn)的目錄。

基本情況: www.xxx.com

的站點(diǎn)有設(shè)置為:

DocumentRoot /home/httpd/html
AccessFileName .htaccess
AllowOverride All

需求:限制/home/httpd/html/backup/目錄的訪(fǎng)問(wèn),只允許用戶(hù)“super”以口令“fill-06”訪(fǎng)問(wèn)此目錄。

實(shí)現(xiàn)步驟:


使用htpasswd建立用戶(hù)文件

htpasswd –c /home/httpd/secr/.htpasswd super

此程序會(huì)詢(xún)問(wèn)用戶(hù)“super”的口令,你輸入“fill-06”,兩次生效。


建立.htaccess文件

用vi在/home/httpd/html/backup/目錄下建立一個(gè)文件.htaccess,寫(xiě)入

以下幾行:

AuthName My Friend Only (注:這個(gè)名字是任取的)
AuthType Basic
AuthUserFile /home/httpd/secr/.htpasswd
require user super


設(shè)置文件權(quán)限,確保Apache用戶(hù)有讀的權(quán)限

這樣就完成了設(shè)置工作,你可以試一試效果了。


實(shí)例二:允許一組用戶(hù)訪(fǎng)問(wèn)一個(gè)目錄

假設(shè),現(xiàn)在www.xxx.com想讓myfriend組中的mf1與mf2兩個(gè)用戶(hù)分別能

使用口令“mf001-1”“mf002-2”訪(fǎng)問(wèn)/home/httpd/html/backup/目錄。

實(shí)現(xiàn)步驟:


使用htpasswd建立用戶(hù)文件

htpasswd –c /home/httpd/secr/.htpasswd mf1
htpasswd –c /home/httpd/secr/.htpasswd mf2


建立組文件

用vi/home/httpd/secr/目錄下建立一個(gè)文件.htgroup,寫(xiě)入:

myfriend:mf1 mf2


建立.htaccess文件

用vi在/home/httpd/html/backup/目錄下建立一個(gè)文件.htaccess,寫(xiě)入

以下幾行:

AuthName My Friend Only
AuthType Basic
AuthUserFile /home/httpd/secr/.htpasswd
AuthGroupFile /home/httpd/secr/.htgroup
require group myfriend

配置工作到此結(jié)束,試一試吧!


實(shí)例三:混合使用基于主機(jī)與基于用戶(hù)名/口令的認(rèn)證方式

如果你除了只允許讓mf1與mf2兩個(gè)用戶(hù)訪(fǎng)問(wèn)外,還想禁止除www.mot.com

外的主機(jī)訪(fǎng)問(wèn)這個(gè)目錄的話(huà),就將/home/httpd/html/backup/.htaccess修改成為:

AuthName My Friend Only
AuthType Basic
AuthUserFile /home/httpd/secr/.htpasswd
AuthGroupFile /home/httpd/secr/.htgroup
require group myfriend
order deny,allow
deny from all
allow from www.mot.com

九、解讀Apache日志

當(dāng)你一步步地看到這里的時(shí)候,相信你的WWW站點(diǎn)已經(jīng)建好,并且已經(jīng)在

Internet上展現(xiàn)出來(lái)了。這時(shí)你可能就會(huì)關(guān)心誰(shuí)造訪(fǎng)過(guò)你的站點(diǎn),或者想知道你的Apache服務(wù)器現(xiàn)在的運(yùn)行狀態(tài)與性能如何。下面我們一起通過(guò)解讀Apache的日志來(lái)實(shí)現(xiàn)這個(gè)偉大的愿望。

9.1 盯著Apache服務(wù)器

Apache允許通過(guò)WWW監(jiān)視服務(wù)器的配置信息與運(yùn)行狀態(tài)。

1.觀看配置信息

如果你的Apache象缺省配置一樣加入了mod_info模塊的話(huà),你就可以通過(guò)訪(fǎng)問(wèn)http://localhost/server-info查看服務(wù)器信息。

2.使用狀態(tài)頁(yè)

如果你的Apache象缺省配置一樣加入了mod_status模塊的話(huà),你就可以

通過(guò)訪(fǎng)問(wèn)http://localhost/apache-status查看服務(wù)器的運(yùn)行狀態(tài)信息,其中包括:

¨ 服務(wù)器系統(tǒng)的當(dāng)前時(shí)間;

¨ 服務(wù)器最近一次重啟時(shí)間;

¨ 服務(wù)器啟動(dòng)后的運(yùn)行時(shí)間;

¨ 到目前為止服務(wù)的訪(fǎng)問(wèn)總數(shù);

¨ 到目前為止傳輸?shù)淖止?jié)總數(shù);

¨ 服務(wù)請(qǐng)求的子進(jìn)程數(shù);

¨ 空閑子進(jìn)程數(shù);

¨ 每個(gè)進(jìn)程狀態(tài)、子進(jìn)程服務(wù)的請(qǐng)求數(shù)以及該子進(jìn)程傳輸?shù)淖止?jié)總數(shù);

¨ 每秒平均請(qǐng)求數(shù)、每秒傳輸?shù)淖止?jié)數(shù)、每次請(qǐng)求平均傳輸字節(jié)數(shù);

¨ 目前每個(gè)子進(jìn)程CPU占用及Apache的總的CPU占用率;

¨ 當(dāng)前主機(jī)及處理的請(qǐng)求。

9.2 什么是日志文件

日志文件是Apache工作的記錄,Apache包括了mod_log_config模塊,它

用來(lái)記錄日志。在缺省情況下,它用通用日志格式CLF規(guī)范來(lái)寫(xiě)。

CLF日志文件內(nèi)對(duì)每個(gè)請(qǐng)求均有一個(gè)單獨(dú)行,形如:

host ident anthuser date request status bytes

其含義如下:

¨ host&#0;&#0;客戶(hù)端主機(jī)的全稱(chēng)域名或IP地址;

¨ ident&#0;&#0;存放客戶(hù)端報(bào)告的識(shí)別信息;

¨ authuser&#0;&#0;如果是基于用戶(hù)名認(rèn)證的話(huà),值為用戶(hù)名;

¨ date&#0;&#0;請(qǐng)求的日期與時(shí)間;

¨ request&#0;&#0;客戶(hù)端的請(qǐng)求行;

¨ status&#0;&#0;返回到客戶(hù)端的三們數(shù)字的HTTP狀態(tài)碼;

¨ bytes&#0;&#0;除去HTTP頭標(biāo)外,返回給客戶(hù)端的字節(jié)數(shù)。

9.3 分析日志文件

有了日志文件后,我們可以利用UNIX的一些工具和一此專(zhuān)門(mén)的日志分析工具對(duì)日志文件進(jìn)行分析。


實(shí)例一:列出訪(fǎng)問(wèn)過(guò)本網(wǎng)站的主機(jī)名或IP:

對(duì)于這個(gè)需求,我們可以通過(guò)一個(gè)Unix的一個(gè)腳本語(yǔ)句來(lái)完成:

cat /var/log/httpd/access_log | awk ‘{print $1}'


用上面的方法雖然可以得到訪(fǎng)問(wèn)過(guò)本網(wǎng)站的主機(jī)名或IP,但是由于有些是多次訪(fǎng)問(wèn)的,我們希望在上面得到的結(jié)果的基礎(chǔ)上做一些優(yōu)化,使得列出的表中,每個(gè)主機(jī)只出現(xiàn)一次。我們可以使用:

cat /var/log/httpd/access_log | awk ‘{print $1}' | wc –l

3.當(dāng)然,我們可以根據(jù)需要選擇第三方提供日志分析工具甚至自己開(kāi)發(fā)一些日志分析工具來(lái)滿(mǎn)足我們的需求。常見(jiàn)的第三方日志分析工具有:WebTrends、Wusage、wwwstat、http-analyze、pwebstats、WebStat Explorer、AccessWatch。

9.4 一些提示

日志一方面是我們分析網(wǎng)站的第一手資料,一方面卻是吞噬大量磁盤(pán)空間的罪魁禍?zhǔn)?。所以別忘了定期轉(zhuǎn)儲(chǔ)或刪除一些老的日志文件。

十、Apache與代理服務(wù)器

代理服務(wù)器是位于客戶(hù)和客戶(hù)要訪(fǎng)問(wèn)的服務(wù)器之間的系統(tǒng)。當(dāng)客戶(hù)機(jī)使用URL請(qǐng)求訪(fǎng)問(wèn)遠(yuǎn)程資源時(shí),代理服務(wù)器接受該請(qǐng)求并取得該資源以滿(mǎn)足客戶(hù)機(jī)的請(qǐng)求。在通常情況下,代理服務(wù)器是客戶(hù)機(jī)的服務(wù)器,同時(shí)也是遠(yuǎn)程服務(wù)器的客戶(hù)。

代理服務(wù)器可以在自己的緩沖區(qū)中存儲(chǔ)被請(qǐng)求的內(nèi)容,當(dāng)這些信息再次被請(qǐng)求的時(shí)候,代理服務(wù)器就無(wú)需再?gòu)倪h(yuǎn)程服務(wù)器上取了,這樣代理服務(wù)器就減輕了網(wǎng)絡(luò)的瓶頸問(wèn)題。

Apache可以配置成為代理服務(wù)器。

10.1 前向代理服務(wù)器和逆向代理服務(wù)器

1.前向代理服務(wù)器

前向代理服務(wù)器通常位于用戶(hù)主機(jī)和要訪(fǎng)問(wèn)的遠(yuǎn)程網(wǎng)絡(luò)之間。它從遠(yuǎn)程服務(wù)器取得所要求的資源,然后返回給用戶(hù),同時(shí)存在磁盤(pán)上,以供下次使用。

在這種情況下,客戶(hù)端的主機(jī)知道它們正在使用代理服務(wù)器,因?yàn)槊總€(gè)主機(jī)都必須配置為使用代理服務(wù)器。

例如,必須告訴WWW瀏覽器使用代理服務(wù)器,它才能使用代理服務(wù)器。所有的遠(yuǎn)程請(qǐng)求都通過(guò)代理服務(wù)器傳輸。

這類(lèi)代理服務(wù)器也稱(chēng)為緩沖代理服務(wù)器。逆向服務(wù)器也可以緩沖數(shù)據(jù),但它的作用愉好與前向服務(wù)器相反。

前向代理服務(wù)器的結(jié)構(gòu)圖如下所示: 



圖4 前向代理服務(wù)器

2.逆向代理服務(wù)器

逆向代理服務(wù)器位于互聯(lián)網(wǎng)資源前面,逆向服務(wù)器從原始服務(wù)器找到被請(qǐng)求的資源,并反它返回給用戶(hù)主機(jī)。

與前向代理服務(wù)器不同的是,逆向代理服務(wù)器的用戶(hù)并不知道它們連接的是代理服務(wù)器而不是資源服務(wù)器本身。其結(jié)構(gòu)如下圖所示: 



圖5 逆向代理服務(wù)器

10.2 配置代理服務(wù)器

為了允許Apache作為代理服務(wù)器,需要將ProxyRequests設(shè)為On,然后根據(jù)你希望代理服務(wù)器做什么而增加什么附加配置。無(wú)論你希望做什么,你所選的代理配置都應(yīng)該放入一個(gè)特殊的<Directory>容器中。

<Directory proxy:*>



</Directory>


實(shí)例一:將私有IP網(wǎng)連到互聯(lián)網(wǎng)

假設(shè)私有網(wǎng)上只有一臺(tái)計(jì)算機(jī)被分配了互聯(lián)網(wǎng)上合法的IP地址,這臺(tái)計(jì)算

機(jī)運(yùn)行Apache代理服務(wù)器,ProxyRequest設(shè)置為On,并且不需要附加其他配置,所有請(qǐng)求均可由這臺(tái)代理服務(wù)器代理服務(wù)。


實(shí)例二:讓Apache允當(dāng)遠(yuǎn)程WWW站點(diǎn)的緩沖

第一步:將ProxyRequest設(shè)置為On

第二步:創(chuàng)建配置如下:

<Directory proxy:*>
CacheRoot /www/cache
CacheSize 1024
CacheMaxExpire 24
</Directory>

這里的意思是設(shè)置Cache目錄為/www/cache;大小為1024KB,即1MB;緩沖中的內(nèi)容在24小時(shí)后失效。


實(shí)例三:建立鏡像站點(diǎn)(其實(shí)這也就是所謂的逆向代理服務(wù)器)

第一步:將ProxyRequest設(shè)置為On

第二步:創(chuàng)建配置如下:

<Directory proxy:*>
ProxyPass / www.mot.com /
CacheRoot /www/cache
CacheDefaultExpire 24
</Directory>

10.3 一些提示

代理服務(wù)器,我們將會(huì)在后面的章節(jié)中詳細(xì)介紹,這里只是針對(duì)Apache的功能介紹的。用Apache作代理服務(wù)器的性能并不高,效果并不好。不建議使用。

相關(guān)文章

最新評(píng)論