1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        實例:保障UbuntuApacheWeb服務器安全

        發布時間:  2012/8/13 9:26:57
         在一個Linux發行版本上設置一個Web服務器是一個很快的過程,不過要讓這種設置成為一種安全的過程可能就需要花點兒工夫。本文將向你展示如何有效地使用訪問控制和身份驗證策略,使你的ApacheWeb服務器更安全。下面所有的例子都假定你用的是Ubuntu7.10,并對Apache進行了基本的配置。不過,這些例子將幫助任何一位運行Apache服務器的用戶獲得更大的安全性,因為其要領仍然適用于其它Linux系統。本文中所涉及到的方法應當首先在一臺測試服務器上進行試驗,在成功之后才能遷移到一個實際使用的Web服務器上。

          一、文件許可和訪問控制

        1.用戶和組

        首先要保障的是Apache不要以root身份運行,因為如果Apache被攻破的話,那么攻擊者就可以控制root賬戶。下面讓我們看一下Apache正以何種用戶和組的身份運行:

        運行下面的命令:

        #psauwwfx|grepapachewww-data256750.00.010348508?SJan210:00\_/usr/sbin/apache2-kstart
        www-data256860.00.22318162208?SlJan210:00\_/usr/sbin/apache2-kstart
        www-data256880.00.22318162200?SlJan210:00\_/usr/sbin/apache2-kstart

        可以看出,www-data是運行Apache的用戶。不過,我們需要編輯Apache的配置并創建一個新用戶和組:

        #groupaddwww-data
        #useradd-gwww-datawww-data
        #vi/etc/apache2/apache2.conf

        將UserrootGrouproot改為:

        Userwww-dataGroupwww-data

        然后重新加載以使改變生效:

        #/etc/init.d/apache2reload

        2.服務文件準許

        一個最易被忽視的安全問題是如何正確地使用chmod命令。例如,我們在Apache的htmlroot目錄中創建了一個index.cgi文件,不過在瀏覽器中打開這個文件時卻被告知拒絕訪問。為了讓我們的index.cgi文件正常工作,我們執行一個chomod777index.cgi。在我們如此試驗時,每一個Apache管理員都在考慮這樣安全嗎?答案是否定的。不過,如何使這種許可足夠安全并能允許index.cgi腳本正常運行呢?

        Apache需要得到準許來訪問index.cgi文件。不過,我們不希望人人都能讀寫index.cgi。這個文件的所有者應當擁有讀寫這個文件的許可。為此我們需要下面的命令:

        #chmod755index.cgi

        將下面的一行加入到你的Apache.conf文件中是很重要的:

        OptionsFollowSymLinksAllowOverrideNone

        注意:

        1、上面的命令行防止Apache訪問root之外的文件。

        2、有一些Linux發行版本比其它版本擁有更好的安全性。EnGardeSecureLinux就是一個很好的例子,因為它默認情況下就在其Apache配置文件中包含了上面的代碼行。

        我們并不想讓用戶在文件系統上的任何地方運行CGI腳本,不過我們確實需要它們在root中運行。對這個問題的解決辦法是“OptionsExecCGI”指令。

        例如,將下面的行添加到/etc/apache2/apache2.conf文件中:

        AllowOverrideNoneOptionsExecCGIOrderallow,denyAllowfromall

        重新加載Apache:

        #/etc/init.d/apache2reload

        那么,如果你擁有只應當被某個網絡或IP地址訪問的資源怎么辦?對這個問題的解決辦法是使用我們的Apache配置來為你增強安全性:

        先說一個只允許訪問192.168.0.0網絡的例子,需要改變/etc/apache2/apache2.conf文件中以下的一行:

        AllowOverrideNoneOptionsExecCGIOrderallow,denyAllowfromall

         將其改為:

        AllowOverrideNoneOptionsExecCGIOrderDeny,AllowDenyfromallAllowfrom192.168.0.0/16

        然后重新加載以使更改生效:

        #/etc/init.d/apache2reload

        現在只有你內部網絡上的用戶能夠在/home/username/public_html/cgi-bin中運行CGI腳本。
        二、身份驗證

        我們怎樣才能僅允許那些擁有正確口令和用戶名的用戶訪問部分webroot呢?下面的步驟將向你展示如何安全地做到這一點:

        1.基本驗證

        允許.htaccess:

        #vi/etc/apache2/apache2.conf

        將AllowOverideNone改為AllowOverideAuthConfig

        重新加載以使改變生效:

        #sudo/etc/init.d/apache2reload

        創建一個口令文件:

        #mkdir/var/www/misc
        #chmoda+rx/var/www/misc
        #cd/var/www/misc
        #htpasswd-bcprivate.passwordsusernamepasswordAddingpasswordforuserusername

        創建.htaccess

        #cd/home/username/public_html/cgi-bin#vi.htaccess

        在.htaccess中增加下面的命令:

        AuthNameMyPrivateArea"AuthTypeBasicAuthUserFile/var/www/misc/private.passwordsAuthGroupFile/dev/nullrequirevalid-user

        將AllowOverrideNoneOptionsExecCGIOrderDeny,AllowDenyfromallAllowfrom192.168.0.0/16

        改變為:AllowOverride.htaccessOptionsExecCGIOrderDeny,AllowDenyfromallAllowfrom192.168.0.0/16

        然后重新加載以使更改生效:

        #/etc/init.d/apache2reload

        2、摘要驗證(Digestauthentication)

        另外一種驗證方法稱之為摘要驗證。如果采用摘要驗證,你的口令將不是以明文通過網絡傳送,因為它們總是作為用戶口令的一個MD5摘要傳送的。如果采用這種方法,那么通過嗅探網絡通信的方法就不能決定用戶的口令了。

        下面創建口令文件:

        #mkdir/var/www/misc
        #chmoda+rx/var/www/misc
        #cd/var/www/misc
        #htdigest-cprivate.passwordsrealmusernameAddingpasswordforusernameinrealmrealm.Newpassword:

        創建.htaccess:

        #cd/home/username/public_html/cgi-bin#vi.htaccess

        在.htaccess中增加下面的內容:

        AuthName"MyPrivateArea"AuthTypeDigestAuthUserFile/var/www/misc/private.passwordsAuthGroupFile/dev/nullrequirevalid-user

        注意:

        1、一些老的瀏覽器并不支持摘要驗證(Digestauthentication)

        2、要完全地保護你的.htaccess就要使用SSL

        三、總結

        使Apache更安全的下一步措施是使用Apache的模塊來幫助實現更好的安全性,例如mod_security和mod_chroot。此外,要保護我們的驗證我們還需要配置SSL。


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线