最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Apache Web服務(wù)器安全配置全攻略

 更新時(shí)間:2012年11月13日 15:30:00   投稿:mdxy-dxy  
作為最流行的Web服務(wù)器,Apache Server提供了較好的安全特性,使其能夠應(yīng)對可能的安全威脅和信息泄漏

作為最流行的Web服務(wù)器,Apache Server提供了較好的安全特性,使其能夠應(yīng)對可能的安全威脅和信息泄漏。

  Apache 服務(wù)器的安全特性

  1、 采用選擇性訪問控制和強(qiáng)制性訪問控制的安全策略

  從Apache 或Web的角度來講,選擇性訪問控制DAC(Discretionary Access Control)仍是基于用戶名和密碼的,強(qiáng)制性訪問控制MAC(Mandatory Access Control)則是依據(jù)發(fā)出請求的客戶端的IP地址或所在的域號來進(jìn)行界定的。對于DAC方式,如輸入錯(cuò)誤,那么用戶還有機(jī)會更正,從新輸入正確的的密碼;如果用戶通過不了MAC關(guān)卡,那么用戶將被禁止做進(jìn)一步的操作,除非服務(wù)器作出安全策略調(diào)整,否則用戶的任何努力都將無濟(jì)于事。

  2、Apache 的安全模塊

  Apache 的一個(gè)優(yōu)勢便是其靈活的模塊結(jié)構(gòu),其設(shè)計(jì)思想也是圍繞模塊(Modules)概念而展開的。安全模塊是Apache Server中的極其重要的組成部分。這些安全模塊負(fù)責(zé)提供Apache Server的訪問控制和認(rèn)證、授權(quán)等一系列至關(guān)重要的安全服務(wù)。

  mod_access模塊能夠根據(jù)訪問者的IP地址(或域名,主機(jī)名等)來控制對Apache服務(wù)器的訪問,稱之為基于主機(jī)的訪問控制。

  mod_auth模塊用來控制用戶和組的認(rèn)證授權(quán)(Authentication)。用戶名和口令存于純文本文件中。mod_auth_db和mod_auth_dbm模塊則分別將用戶信息(如名稱、組屬和口令等)存于Berkeley-DB及DBM型的小型數(shù)據(jù)庫中,便于管理及提高應(yīng)用效率。

  mod_auth_digest模塊則采用MD5數(shù)字簽名的方式來進(jìn)行用戶的認(rèn)證,但它相應(yīng)的需要客戶端的支持。

  mod_auth_anon模塊的功能和mod_auth的功能類似,只是它允許匿名登錄,將用戶輸入的E-mail地址作為口令。

  SSL(Secure Socket Lager),被Apache所支持的安全套接字層協(xié)議,提供Internet上安全交易服務(wù),如電子商務(wù)中的一項(xiàng)安全措施。通過對通訊字節(jié)流的加密來防止敏感信息的泄漏。但是,Apache的這種支持是建立在對Apache的API擴(kuò)展來實(shí)現(xiàn)的,相當(dāng)于一個(gè)外部模塊,通過與第三方程序的結(jié)合提供安全的網(wǎng)上交易支持。

  Apache服務(wù)器的安全配置

  Apache具有靈活的設(shè)置,所有Apache的安全特性都要經(jīng)過周密的設(shè)計(jì)與規(guī)劃,進(jìn)行認(rèn)真地配置才能夠?qū)崿F(xiàn)。Apache服務(wù)器的安全配置包括很多層面,有運(yùn)行環(huán)境、認(rèn)證與授權(quán)設(shè)置等。Apache的安裝配置和運(yùn)行示例如下:

  1、以Nobody用戶運(yùn)行

  一般情況下,Apache是由Root 來安裝和運(yùn)行的。如果Apache Server進(jìn)程具有Root用戶特權(quán),那么它將給系統(tǒng)的安全構(gòu)成很大的威脅,應(yīng)確保Apache Server進(jìn)程以最可能低的權(quán)限用戶來運(yùn)行。通過修改httpd.conf文件中的下列選項(xiàng),以Nobody用戶運(yùn)行Apache 達(dá)到相對安全的目的。

  User nobody

  Group# -1

  2、ServerRoot目錄的權(quán)限

  為了確保所有的配置是適當(dāng)?shù)暮桶踩?,需要?yán)格控制Apache 主目錄的訪問權(quán)限,使非超級用戶不能修改該目錄中的內(nèi)容。Apache 的主目錄對應(yīng)于Apache Server配置文件httpd.conf的Server Root控制項(xiàng)中,應(yīng)為:

  Server Root /usr/local/apache

  3、SSI的配置

  在配置文件access.conf 或httpd.conf中的確Options指令處加入Includes NO EXEC選項(xiàng),用以禁用Apache Server 中的執(zhí)行功能。避免用戶直接執(zhí)行Apache 服務(wù)器中的執(zhí)行程序,而造成服務(wù)器系統(tǒng)的公開化。

  

  Options Includes Noexec

  4、阻止用戶修改系統(tǒng)設(shè)置

  在Apache 服務(wù)器的配置文件中進(jìn)行以下的設(shè)置,阻止用戶建立、修改 .htaccess文件,防止用戶超越能定義的系統(tǒng)安全特性。

  

  AllowOveride None

  Options None

  Allow from all

  

  然后再分別對特定的目錄進(jìn)行適當(dāng)?shù)呐渲谩?br />
  5、改變Apache 服務(wù)器的確省訪問特性

  Apache 的默認(rèn)設(shè)置只能保障一定程度的安全,如果服務(wù)器能夠通過正常的映射規(guī)則找到文件,那么客戶端便會獲取該文件,如http://local host/~ root/ 將允許用戶訪問整個(gè)文件系統(tǒng)。在服務(wù)器文件中加入如下內(nèi)容:

  

  order deny,ellow

  Deny from all

  

  將禁止對文件系統(tǒng)的缺省訪問。

  6、CGI腳本的安全考慮

  CGI腳本是一系列可以通過Web服務(wù)器來運(yùn)行的程序。為了保證系統(tǒng)的安全性,應(yīng)確保CGI的作者是可信的。對CGI而言,最好將其限制在一個(gè)特定的目錄下,如cgi-bin之下,便于管理;另外應(yīng)該保證CGI目錄下的文件是不可寫的,避免一些欺騙性的程序駐留或混跡其中;如果能夠給用戶提供一個(gè)安全性良好的CGI程序的模塊作為參考,也許會減少許多不必要的麻煩和安全隱患;除去CGI目錄下的所有非業(yè)務(wù)應(yīng)用的腳本,以防異常的信息泄漏。

  以上這些常用的舉措可以給Apache Server 一個(gè)基本的安全運(yùn)行環(huán)境,顯然在具體實(shí)施上還要做進(jìn)一步的細(xì)化分解,制定出符合實(shí)際應(yīng)用的安全配置方案。

  Apache Server基于主機(jī)的訪問控制



  Apache Server默認(rèn)情況下的安全配置是拒絕一切訪問。假定Apache Server內(nèi)容存放在/usr/local/apache/share 目錄下,下面的指令將實(shí)現(xiàn)這種設(shè)置:

  

  Deny from all

  Allow Override None

  

  則禁止在任一目錄下改變認(rèn)證和訪問控制方法。

  同樣,可以用特有的命令Deny、Allow指定某些用戶可以訪問,哪些用戶不能訪問,提供一定的靈活性。當(dāng)Deny、Allow一起用時(shí),用命令Order決定Deny和Allow合用的順序,如下所示:

  1、 拒絕某類地址的用戶對服務(wù)器的訪問權(quán)(Deny)

  如:Deny from all

  Deny from test.cnn.com

  Deny from 204.168.190.13

  Deny from 10.10.10.0/255.255.0.0

  2、 允許某類地址的用戶對服務(wù)器的訪問權(quán)(Allow)

  如:Allow from all

  Allow from test.cnn.com

  Allow from 204.168.190.13

  Allow from 10.10.10.0/255.255.0.0

  Deny和Allow指令后可以輸入多個(gè)變量。

  3、簡單配置實(shí)例:

  Order Allow, Deny

  Allow from all

  Deny from www.test.com

  指想讓所有的人訪問Apache服務(wù)器,但不希望來自www.test.com的任何訪問。

  Order Deny, Allow

  Deny from all

  Allow from test.cnn.com

  指不想讓所有人訪問,但希望給test.cnn.com網(wǎng)站的來訪。

  Apache Sever的用戶認(rèn)證與授權(quán)



  概括的講,用戶認(rèn)證就是驗(yàn)證用戶的身份的真實(shí)性,如用戶帳號是否在數(shù)據(jù)庫中,及用戶帳號所對應(yīng)的密碼是否正確;用戶授權(quán)表示檢驗(yàn)有效用戶是否被許可訪問特定的資源。在Apache中,幾乎所有的安全模塊實(shí)際上兼顧這兩個(gè)方面。從安全的角度來看,用戶的認(rèn)證和授權(quán)相當(dāng)于選擇性訪問控制。

  建立用戶的認(rèn)證授權(quán)需要三個(gè)步驟:

  1、建立用戶庫

  用戶名和口令列表需要存在于文件(mod_auth模塊)或數(shù)據(jù)庫(mod_auth_dbm模塊)中。基于安全的原因,該文件不能存放在文擋的根目錄下。如,存放在/usr/local/etc/httpd下的users文件,其格式與UNIX口令文件格式相似,但口令是以加密的形式存放的。應(yīng)用程序htpasswd可以用來添加或更改程序:

  htpasswd –c /usr/local/etc/httpd/users martin

  -c表明添加新用戶,martin為新添加的用戶名,在程序執(zhí)行過程中,兩次輸入口令回答。用戶名和口令添加到users文件中。產(chǎn)生的用戶文件有如下的形式:

  martin:WrU808BHQai36

  jane:iABCQFQs40E8M

  art:FadHN3W753sSU

  第一域是用戶名,第二個(gè)域是用戶密碼。

  2、配置服務(wù)器的保護(hù)域

  為了使Apache服務(wù)器能夠利用用戶文件中的用戶名和口令信息,需要設(shè)置保護(hù)域(Realm)。一個(gè)域?qū)嶋H上是站點(diǎn)的一部分(如一個(gè)目錄、文檔等)或整個(gè)站點(diǎn)只供部分用戶訪問。在相關(guān)目錄下的.htaccess文件或httpd.conf ( acces.conf ) 中的段中,由AuthName來指定被保護(hù)層的域。在.htaccess文件中對用戶文件有效用戶的授權(quán)訪問及指定域保護(hù)有如下指定:

  AuthName “restricted stuff”

  Authtype Basic

  AuthUserFile /usr/local/etc/httpd/users

  Require valid-user

  其中,AuthName指出了保護(hù)域的域名(Realm Name)。valid-user參數(shù)意味著user文件中的所有用戶都是可用的。一旦用戶輸入了一個(gè)有效的用戶/口令時(shí),同一個(gè)域內(nèi)的其他資源都可以利用同樣的用戶/口令來進(jìn)行訪問,同樣可以使兩個(gè)不同的區(qū)域共用同樣的用戶/口令。

  3、告訴服務(wù)器哪些用戶擁有資源的訪問權(quán)限

  如果想將一資源的訪問權(quán)限授予一組客戶,可以將他們的名字都列在Require之后。最好的辦法是利用組(group)文件。組的操作和標(biāo)準(zhǔn)的UNIX的組的概念類似,任一個(gè)用戶可以屬于一個(gè)和數(shù)個(gè)組。這樣就可以在配置文件中利用Require對組賦予某些權(quán)限。如:

  Require group staff

  Require group staff admin

  Require user adminuser

  指定了一個(gè)組、幾個(gè)組或一個(gè)用戶的訪問權(quán)限。

  需要指出的是,當(dāng)需要建立大批用戶帳號時(shí),那么Apache服務(wù)器利用用戶文件數(shù)據(jù)庫將會極大地降低效率。這種情況下,最好采用數(shù)據(jù)庫格式的帳號文件,譬如 DBM數(shù)據(jù)庫格式的文件。還可以根據(jù)需要利用db格式(mod_auth_db)的數(shù)據(jù)文件,或者直接利用數(shù)據(jù)庫,如:mSQL(mod_auth_msql)或DBI兼容的數(shù)據(jù)庫(mod_auth_dbi)。

相關(guān)文章

  • Deepin系統(tǒng)中g(shù)rub配置的說明和修改方式

    Deepin系統(tǒng)中g(shù)rub配置的說明和修改方式

    GRUB是一種多操作系統(tǒng)啟動(dòng)程序,主配置文件位于/boot/grub/grub.cfg,但通常通過編輯/etc/default/grub文件來修改配置,該文件允許用戶設(shè)置默認(rèn)啟動(dòng)操作系統(tǒng)、啟動(dòng)超時(shí)時(shí)間等,修改后需運(yùn)行特定命令更新配置
    2024-09-09
  • Linux磁盤管理之LVM的使用

    Linux磁盤管理之LVM的使用

    這篇文章主要介紹了Linux磁盤管理之LVM,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Vmware虛擬機(jī)中CentOS安裝 CentOS安裝Qt的教程圖解

    Vmware虛擬機(jī)中CentOS安裝 CentOS安裝Qt的教程圖解

    這篇文章主要介紹了Vmware虛擬機(jī)中CentOS安裝,CentOS安裝Qt的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Linux運(yùn)維基礎(chǔ)httpd靜態(tài)網(wǎng)頁教程

    Linux運(yùn)維基礎(chǔ)httpd靜態(tài)網(wǎng)頁教程

    這篇文章主要介紹了Linux運(yùn)維基礎(chǔ)中怎樣制作httpd靜態(tài)網(wǎng)頁,附含源碼及圖片示例,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝進(jìn)步
    2021-09-09
  • ubuntu下編譯安裝opencv的方法

    ubuntu下編譯安裝opencv的方法

    今天小編就為大家分享一篇關(guān)于ubuntu下編譯安裝opencv的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 在Linux中配置IPv4和IPv6地址的方法詳解

    在Linux中配置IPv4和IPv6地址的方法詳解

    IPv4和IPv6是Internet上常用的兩種IP地址協(xié)議,在Linux系統(tǒng)中,您可以通過配置網(wǎng)絡(luò)接口來設(shè)置IPv4和IPv6地址,本文將詳細(xì)介紹如何在Linux中配置IPv4和IPv6地址,需要的朋友可以參考下
    2024-09-09
  • Ubuntu下安裝并配置VS Code編譯C++的方法

    Ubuntu下安裝并配置VS Code編譯C++的方法

    這篇文章主要介紹了Ubuntu下安裝并配置VS Code編譯C++的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • Linux使用定時(shí)任務(wù)每周定時(shí)清理45天以前日志

    Linux使用定時(shí)任務(wù)每周定時(shí)清理45天以前日志

    linux是一個(gè)很能自動(dòng)產(chǎn)生文件的系統(tǒng),日志、郵件、備份等。雖然現(xiàn)在硬盤廉價(jià),我們可以有很多硬盤空間供這些文件浪費(fèi),讓系統(tǒng)定時(shí)清理一些不需要的文件很有一種爽快的事情。有需要的朋友看一下。
    2016-10-10
  • Linux如何設(shè)置服務(wù)自啟動(dòng)

    Linux如何設(shè)置服務(wù)自啟動(dòng)

    這篇文章主要介紹了Linux中設(shè)置服務(wù)自啟動(dòng)的三種方式,ln -s 建立啟動(dòng)軟連接
    2015-11-11
  • CentOS服務(wù)器平臺搭建mysql主從復(fù)制與讀寫分離的方法

    CentOS服務(wù)器平臺搭建mysql主從復(fù)制與讀寫分離的方法

    這篇文章主要介紹了CentOS服務(wù)器平臺搭建mysql主從復(fù)制與讀寫分離的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了CentOS平臺搭建mysql主從復(fù)制與讀寫分離的步驟、設(shè)置方法、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-04-04

最新評論

栖霞市| 道孚县| 宣恩县| 通化县| 宁明县| 东乌珠穆沁旗| 卢湾区| 阜南县| 开化县| 普陀区| 怀柔区| 抚州市| 崇义县| 界首市| 武定县| 卓资县| 辰溪县| 洪雅县| 应用必备| 新沂市| 阳高县| 田东县| 姚安县| 湘乡市| 且末县| 乌拉特前旗| 曲靖市| 绵阳市| 三穗县| 汤原县| 石阡县| 攀枝花市| 盐城市| 临安市| 东安县| 百色市| 肃宁县| 峨边| 黄骅市| 林州市| 洛浦县|