新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Linux網(wǎng)站架構系列之a(chǎn)pache----調(diào)優(yōu)篇

        Linux網(wǎng)站架構系列之a(chǎn)pache----調(diào)優(yōu)篇

        作者: 時間:2016-10-08 來源:網(wǎng)絡 收藏

        前面兩篇博文講解了apache的部署和配置等方面知識,本篇將為大家詳細講解生產(chǎn)環(huán)境中對apache服務各個方面的優(yōu)化調(diào)試。

        本文引用地址:http://www.104case.com/article/201610/305551.htm

        生產(chǎn)環(huán)境中,大家肯定不會部署了apache之后就完事拿去上線了。光桿子上戰(zhàn)場等著完蛋的嘛!因此,不論從安全還是性能角度,我們必須在apache服務上線之前,對其做諸多的優(yōu)化調(diào)試才行。因此,本篇筆者通過總結(jié)自己的學習和工作經(jīng)驗,歸納總結(jié)出的apache調(diào)優(yōu)的20個小點。

        本文篇幅有點長,本來想分開寫了,后來想想還是放在一篇博文吧。因此,大家就擔待擔待吧。

        環(huán)境:

        CentOS6.4 x86_64位 采用最小化安裝,系統(tǒng)經(jīng)過了基本優(yōu)化篇

        apache版本:

        apr版本:apr-1.4.8

        apr-util版本:apr-util-1.5.2

        pcre版本:pcre-7.8

        源碼包存放位置:/server/tools

        源碼包編譯安裝位置:/etc/local/軟件名稱

        一、源碼官方下,補丁及時打

        正如我們在apache部署篇講到的我們需要對下載的源碼包進行驗證一樣,我們在挑選apache源碼安裝包的時候,一定要去官網(wǎng),不要去亂七八糟的站點進行下載,防止源碼包被別有用心的人動過手腳,導致后面對公司業(yè)務造成不必要損失。

        另外為了apache的安全性和性能考慮,我們一定要多多關注apache的官網(wǎng)的補丁發(fā)布情況,一旦有新的補丁,我們一定要及早打上。特別是一些安全補丁,防止受到損失。

        二、屏蔽apache版本等敏感信息

        1)我們在apache主配置文件中,找到包含的行,并解開注釋

        [root@c64-web /]# grep ; /usr/local/apache/conf/

        #Include conf/extra/

        [root@c64-web /]# sed -i 's##Include conf/extra/; /usr/local/apache/conf/

        注意:編譯安裝的情況下,只有此行解開注釋了,后面的修改才能生效。

        2)打開文件,修改如下兩個地方

        [root@sunsky /]# grep Server conf/extra/|grep -v #

        ServerTokens full

        ServerSignature Off

        修改為

        ServerTokens Prod

        ServerSignature Off

        經(jīng)過上面的修改,當你在curl-Iwww.sunsky.pw的時候,還是會出現(xiàn)下面的信息

        Server: Apache

        徹底讓版本等敏感信息消失

        如果你需要徹底將版本之類的信息進行改頭換面,你就需要在編譯之前做準備或者進行從新編譯了。在重新編譯時,修改源碼包下include目錄下的ap_release.h文件

        #define AP_SERVER_BASEVENDOR Apache Software Foundation #服務的供應商名稱

        #define AP_SERVER_BASEPROJECT Apache HTTP Server #服務的項目名稱

        #define AP_SERVER_BASEPRODUCT Apache #服務的產(chǎn)品名

        #define AP_SERVER_MAJORVERSION_NUMBER 2 #主要版本號

        #define AP_SERVER_MINORVERSION_NUMBER 4 #小版本號

        #define AP_SERVER_PATCHLEVEL_NUMBER 6 #補丁級別

        #define AP_SERVER_DEVBUILD_BOOLEAN 0 #

        上述列出的行,我已經(jīng)給出了注釋,大家可以修改成自己想要的,然后編譯安裝之后,再對文件進行修改,對方就徹底不知道你的版本號了。

        三、更改apache的默認用戶

        我們通過更改apache的默認用戶,可以提升apache的安全性。這樣,即使apache服務被攻破,黑客拿到apache普通用戶也不會對系統(tǒng)和其他應用造成破壞。這里創(chuàng)建的apache用戶,將用于對子進程和線程的控制。

        [root@c64-web /]# useradd -M -s /sbin/nologin apache 創(chuàng)建apache用戶

        編輯apache配置文件,修改默認的用戶。

        [root@c64-web /]# vim /usr/local/apache/conf/

        User apache #更改默認的daemon用戶為apache用戶

        Group apache #更改默認的daemon用戶為apache用戶

        四、apache目錄及文件權限設置

        在生產(chǎn)環(huán)境的網(wǎng)站架構中,我們應把資源文件,例如用戶上傳的圖片及附件等和程序做好分離,最好是把上傳程序也分離開來。這樣才能更方便我們做好授權,保證apache服務和整個服務器安全。

        這里我們設置apache的網(wǎng)站目錄屬主和屬組是root,權限是755,文件的權限為644。

        lrwxr-xr-x 1 root root 23 11月 5 02:04 apache -> /usr/local/apache-2.4.6

        drwxr-xr-x 14 root root 4096 11月 5 12:37 apache-2.4.6

        并且,在對日志的授權商,我們要將屬主和屬組都設置為root,權限設置為700。

        drwx------ 2 root root 4096 11月 5 02:46 logs

        由于apache日志的記錄是由apache的主進程進行操作的,而apache的主進程又是root用戶啟動的,所以這里設置700是不影響日志記錄了。這也是日志記錄的最安全的方法。

        五、配置cronolog進行日志輪詢

        由于apache自帶的日志輪詢工具rotatelogs,據(jù)專家說在進行日志切割時容易丟日志,因此我們通常使用cronolog進行日志輪詢。

        1、下載并安裝cronolog

        [root@sunsky /]# cd /server/tools/

        [root@sunsky tools]# wget

        [root@sunsky tools]# tar zxf cronolog-1.6.2.tar.gz

        [root@sunsky tools]# cd cronolog-1.6.2

        [root@sunsky cronolog-1.6.2]# ./configure

        [root@sunsky cronolog-1.6.2]# makemake install

        2、配置apache使用cronolog

        由于實驗用的apache開啟了虛擬主機功能,所以以下范例配置都在虛擬主機中進行。

        [root@sunsky cronolog-1.6.2]# vim /usr/local/apache/

        將配置文件中的CustomLog和ErrorLog替換為下面的(由于我們要對多站點,所以這里要替換兩個虛擬主機的,并且將日志存放名字做有效的區(qū)分才好)

        CustomLog |/usr/local/sbin/cronolog /app/logs/sunsky_access_%Y%m%d.log combined

        ErrorLog |/usr/local/sbin/cronolog /app/logs/sunsky_error_%Y%m%d.log

        更多日志格式參考:

        按天輪詢(生產(chǎn)環(huán)境常見用法,推薦使用):


        上一頁 1 2 3 4 5 6 7 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 庆城县| 蚌埠市| 盐池县| 建始县| 清丰县| 衢州市| 汽车| 攀枝花市| 霍山县| 禄丰县| 贞丰县| 黑水县| 贡嘎县| 阿克| 马边| 肥乡县| 佛坪县| 德钦县| 民权县| 广德县| 左权县| 福海县| 汨罗市| 平果县| 嘉兴市| 日喀则市| 平顶山市| 新乐市| 雷州市| 石柱| 上栗县| 连南| 巴彦淖尔市| 布尔津县| 邵阳市| 铜川市| 清河县| 牙克石市| 罗田县| 吴旗县| 隆子县|