Apache 網頁與安全優化

Apache 網頁與安全優化

  • Apache是一個跨平臺的web服務器,由於其簡單高效、穩定安全的特性,被廣泛應用於計算機技術的各個領域。現在,Apache憑藉其龐大的用戶數,已成爲用戶數排名第一的web服務器。

  • 儘管如此,在實際的生產環境中,我們仍然不可能直接使用默認配置的Apache來充當服務器。畢竟,爲了更充分合理地利用Apache服務器,我們都應該根 據自己的實際需要對Apache的默認配置作出一些必要的調整。

  • 需要編譯Apache添加優化模塊(安裝詳細操作

    # cd /opt/httpd-2.4.2
    # ./configure \
    --prefix=/usr/local/httpd \    //安裝目錄
    --enable-deflate \              //壓縮模板
    --enable-expires \            //支持 HTTP 控制
    --enable-so \                    //讓apache核心裝載DSO
    --enable-rewrite \             //啓用重寫功能 
    --enable-charset-lite \       //啓動字符集支持
    --enable-cgi                      //啓用CGI腳本程序支持,便於擴展網站的應用訪問能力
     # make && make install

  • 網頁壓縮( 網頁加載速度加快 節省流量)

    Gzip是一種流行的文件壓縮算法,現在的應用十分廣泛,尤其是在Linux平臺。當應用Gzip壓縮到一個純文本文件時,效果是非常明顯的,大約可以減少70%以上的文件大小。這取決於文件中的內容。 利用Apache中的Gzip模塊,我們可以使用Gzip壓縮算法來對Apache服務器發佈的網頁內容進行壓縮後再傳輸到客戶端瀏覽器。這樣經過壓縮後實際上降低了網絡傳輸的字節數,最明顯的好處就是可以加快網頁加載的速度。

    # vim /etc/httpd.conf
    打開Apache主配置文件  去掉下面三行前面 #
    LoadModule headers_module modules/mod_headers.so
    LoadModule deflate_module modules/mod_deflate.so    
    LoadModule filter_module modules/mod_filter.so
    ........................................
    在Apache主配置文件末尾添加
    <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
        DeflateCompressionLevel 9
        SetOutputFilter DEFLATE
    </IfModule>
    註解:
    <IfModule mod_deflate.c>
    對html、plain、css、xml、javacript內容啓用gzip壓縮
    是指壓縮程度的等級,從1到9,9是最高等級,級別越高,壓縮越小
    對上面設置的所有 輸出啓用壓縮
    </IfModule>
  • 驗證語法和模塊

    # cd /usr/local/httpd/bin
    # ./apachectl -t
    Syntax OK     //驗證配置文件成功
    # ./apachectl -t -D DUMP_MODULES | grep "deflate"
    deflate_module (shared)
    
    # systemctl restart httpd   //重啓服務
  • 網頁緩存

網頁緩存是將一部分經常不會改變或變動很少的頁面緩存,下次瀏覽器再次訪問這些頁面時,不需要再次去下載這些頁面,從而提高了用戶的訪問速度

    # vim /etc/httpd.conf
    Apache主配置開啓模塊(去#號)
    LoadModule expires_module modules/mod_expires.so
    配置文件末尾添加
    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access plus 50 seconds"         #緩存爲50秒
    </IfModule>
  • 驗證語法和模塊

    # cd /usr/local/httpd/bin
    # ./apachectl -t
    Syntax OK     //驗證配置文件成功
    # ./apachectl -t -D DUMP_MODULES | grep "expires"
    expires_module (shared)
    
    # systemctl restart httpd   //重啓服務

Apache安全優化

  • 隱藏版本

隱藏版本可以減少被攻JI的風險,保護服務器安全運行。

    # vim /etc/httpd.conf  (去掉下面配置行的#)
    Include conf/extra/httpd-default.conf
    # vim /usr/local/httpd/conf/extra/httpd-default.conf
    ServerTokens Prod            //修改成Prod   只顯示名稱,沒有版本
    ServerSignature Off
    # systemctl restart httpd   //重啓服務
  • 防盜鏈

現在很多長站都是直接使用其它網站上的資源,如果你網站帶寬性能不好,很容易給這類網站把流量費光了,下面我來介紹在Apache環境防盜鏈配置方法,這他們無法直接使用你網站資源哦。

主配置文件修改

    # vim /etc/httpd.conf   
    LoadModule rewrite_module modules/mod_rewrite.so   //去掉#號 開啓
    ...................................
        <Directory "/usr/local/httpd/htdocs">       
            Options Indexes FollowSymLinks          //215行添加
            AllowOverride None
            Require all granted
            RewriteEngine On
            RewriteCond %{HTTP_REFERER} !^http://benet.com/.*$ [NC]
            RewriteCond %{HTTP_REFERER} !^http://benet.com$ [NC]
            RewriteCond %{HTTP_REFERER} !^http://www.benet.com/.*$ [NC]
            RewriteCond %{HTTP_REFERER} !^http://www.benet.com/$ [NC]
            RewriteRule .*\.(gif|jpg|swf)$ http://www.benet.com/error.png [R,NC,L]
        #設置規則 盜用gif jpg swf 結尾的文件時  跳轉盜鏈的替代圖片:(error.png圖片放在站點目錄下)
        .........省略n行
        </Directory>
        (.*$:以任意字符結尾            NC:不區分大寫            R:強制跳轉)

Apache 網頁與安全優化

  • 測試

    # vim /usr/local/httpd/htdocs/index.html  //編輯默認首頁
    <html>
    <body>
    <h1>It works!</h1>
    <img src='test.jpg' />     //添加測試圖片
    </body>
    </html>
  • 再開一臺web服務器
  • 編輯一個盜鏈網頁

    # vim /usr/local/httpd/htdocs/index.html     //編輯盜鏈的首頁
    <html>
    <body>
    <h1>It works!</h1>
    <img src='http://www.bt.com/test.jpg'/>;     //注意使用目標的圖片地址
    </body>
  • 訪問盜鏈網頁
  • 可以看到跳轉到 站點裏惡 error.png 圖片了

    Apache 網頁與安全優化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章