国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦安全>系統(tǒng)安全>

    教你Apache安全如何加固

    時間: 若木635 分享

      一.賬號設(shè)置

      以專門的用戶帳號和組運行 Apache。

      1、根據(jù)需要為 Apache 創(chuàng)建用戶、組

      2、參考配置操作 如果沒有設(shè)置用戶和組,則新建用戶,并在 Apache 配置文件中指定

      (1) 創(chuàng)建 apache 組:groupadd apache

      (2) 創(chuàng)建 apache 用戶并加入 apache 組:useradd apache –g apache

      (3) 將下面兩行加入 Apache 配置文件 httpd.conf 中

      User apache

      Group apache

      3、檢查 httpd.conf 配置文件。 檢查是否使用非專用賬戶(如 root)運行 apache

      默認(rèn)一般符合要求,Linux下默認(rèn)apache或者nobody用戶,Unix默認(rèn)為daemon用戶

      二.授權(quán)設(shè)置

      嚴(yán)格控制Apache主目錄的訪問權(quán)限,非超級用戶不能修改該目錄中的內(nèi)容

      1、Apache 的 主目錄對應(yīng) 于 Apache Server

      配置文件 httpd.conf 的

      Server Root控制項中,

      應(yīng)為:

      Server Root /usr/local/apache”

      2、判定條件

      非超級用戶不能修改該目錄中的內(nèi)容

      3、檢測操作

      嘗試修改,看是否能修改

      4、一般為/etc/httpd目錄,默認(rèn)情況下屬主為root:root,其它用戶不能修改文件,默認(rèn)一般符合要求

      嚴(yán)格設(shè)置配置文件和日志文件的權(quán)限,防止未授權(quán)訪問

      1、chmod 600 /etc/httpd/conf/httpd.conf”設(shè)置配置文件為屬主可讀寫,其他用戶無權(quán)限。

      2、使用命令”chmod 644 /var/log/httpd/*.log”設(shè)置日志文件為屬主可讀寫,其他用戶只讀權(quán)限。

      3、/etc/httpd/conf/httpd.conf默認(rèn)權(quán)限是644,可根據(jù)需要修改權(quán)限為600。

      4、/var/log/httpd/*.log默認(rèn)權(quán)限為644,默認(rèn)一般符合要求。

      三.日志設(shè)置

      設(shè)備應(yīng)配置日志功能,對運行錯誤、用戶訪問等進行記錄,記錄

      內(nèi)容包括時間,用戶使用的 IP 地址等內(nèi)容。

      1、編輯 httpd.conf 配置文件,設(shè)置日志記錄文件、記錄內(nèi)容、記錄 格式。

      其中,錯誤日志:

      LogLevel notice #日志的級別

      ErrorLog /…/logs/error_log #日志的保存位置(錯誤日志)

      訪問日志:

      LogFormat %h %l %u %t \”%r\” %>s %b “%{Accept}i\”%{Referer}i\” \”%{User-Agent}i\””

      combined

      CustomLog /…/logs/access_log combined (訪問日志)

      ErrorLog 指令設(shè)置錯誤日志文件名和位置。錯誤日志是最重要的 日志文件,

      Apache httpd 將在這個文件中存放診斷信息和處理請 求中出現(xiàn)的錯誤。

      若要將錯誤日志送到 Syslog,則設(shè)置: ErrorLog syslog。

      CustomLog 指令指定了保存日志文件的具體位置以及日志的格式。訪問日志中會記錄服務(wù)器所處理的所有請求。

      LogFormat 設(shè)置日志格式,建議設(shè)置為 combined 格式。

      LogLevel 用于調(diào)整記錄在錯誤日志中的信息的詳細程度,建議設(shè)置為notice。

      日志的級別,默認(rèn)是warn,notice級別比較詳細,在實際中由于日志會占用大量硬盤空間,一般沒有設(shè)置

      四.禁止訪問外部文件

      禁止 Apache 訪問 Web 目錄之外的任何文件。

      1、參考配置操作

      編輯 httpd.conf 配置文件,

      Order Deny,Allow

      Deny from all

      2、設(shè)置可訪問目錄,

      Order Allow,Deny

      Allow from all

      其中/web 為網(wǎng)站根目錄

      3、默認(rèn)配置是

      Options FollowSymLinks

      AllowOverride None

      一般可根據(jù)需要設(shè)置

      五.目錄列出

      禁止 Apache 列表顯示文件

      編輯 httpd.conf 配置文件。

      Options Indexes FollowSymLinks #刪掉

      Indexes

      AllowOverride None

      Order allow,deny

      Allow from all

      將Options Indexes FollowSymLinks 中的 Indexes 去掉,就可以禁 止 Apache 顯示該目錄結(jié)構(gòu)。

      Indexes 的作用就是當(dāng)該目錄下沒 有 index.html 文件時,就顯示目錄結(jié)構(gòu)。

      2、重新啟動 Apache 服務(wù)

      3、可以設(shè)置 /etc/httpd/httpd.conf 段中刪除Options的Indexes設(shè)置 一般可根據(jù)需要設(shè)置

      六.錯誤頁面重定向

      Apache 錯誤頁面重定向

      1、修改 httpd.conf 配置文件:

      ErrorDocument 400 /custom400.html

      ErrorDocument 401 /custom401.html

      ErrorDocument 403 /custom403.html

      ErrorDocument 404 /custom404.html

      ErrorDocument 405 /custom405.html

      http://www.013188.com

      ErrorDocument 500 /custom500.html Customxxx.html 為要設(shè)置的錯誤頁面。

      2、重新啟動 Apache 服務(wù)

      3、此項需要應(yīng)用系統(tǒng)設(shè)有錯誤頁面,或者不在httpd中設(shè)置完全由業(yè)務(wù)邏輯實現(xiàn),可不做

      七.拒絕服務(wù)防范

      根據(jù)業(yè)務(wù)需要,合理設(shè)置 session 時間,防止拒絕服務(wù)攻擊

      1、編輯 httpd.conf 配置文件,

      Timeout 10 #客戶端與服務(wù)器端建立連接前的時間間隔

      KeepAlive On

      KeepAliveTimeout 15 #限制每個 session 的保持時間是 15 秒 注:此處為一建議值,具體的設(shè)定需要根據(jù)現(xiàn)實情況。

      2、重新啟動 Apache 服務(wù)

      3、默認(rèn)Timeout 120 KeepAlive Off,KeepAliveTimeout 15,該項設(shè)置涉及性能調(diào)整,一般不做。

      八.隱藏 Apache 的版本號

      隱藏 Apache 的版本號及其它敏感信息。

      1、配置操作

      修改 httpd.conf 配置文件: ServerSignature Off ServerTokens Prod

      2、默認(rèn)是 ServerSignature On,ServerTokens OS,可以設(shè)置

      九.關(guān)閉 TRACE

      關(guān)閉 TRACE,防止 TRACE 方法被訪問者惡意利用

      1、 配置修改vim /etc/httpd/conf/httpd.conf

      添加 “TraceEnable Off”

      注:適用于 Apache 2.0 以上版本

      2、默認(rèn)沒有該項設(shè)置,可以做。

      十.禁用 CGI

      如果服務(wù)器上不需要運行 CGI 程序,建議禁用 CGI

      1、 修改配置vim /etc/httpd/conf/httpd.conf

      把 cgi-bin 目錄的配置和模塊都注釋掉

      #LoadModule cgi_module modules/mod_cgi.so

      #ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”

      #

      #AllowOverride None

      # Options None

      #Order allow,deny

      #Allow from all

      #

      2、 根據(jù)需要設(shè)置,如果沒有CGI程序,可以關(guān)閉

      十一.監(jiān)聽地址綁定

      服務(wù)器有多個 IP 地址時,只監(jiān)聽提供服務(wù)的 IP 地址

      1、 修改配置vim /etc/httpd/conf/httpd.con

      修改

      Listen x.x.x.x:80

      2、檢測操作

      使用命令”cat /etc/httpd/conf/httpd.conf|grep Listen”查看是否 綁定 IP 地址

      3、默認(rèn)設(shè)置是Listen 80監(jiān)聽所有地址,如果服務(wù)器只有一個IP地址可不做該項設(shè)置,如果有多個IP可以按照需要設(shè)。

      十二.刪除缺省安裝的無用文件

      刪除缺省安裝的無用文件。

      1、參考配置操作刪除缺省 HTML 文件:

      # rm -rf /usr/local/apache2/htdocs/*

      刪除缺省的 CGI 腳本:

      # rm –rf /usr/local/apache2/cgi-bin/*

      刪除 Apache 說明文件:

      # rm –rf /usr/local/apache2/manual

      刪除源代碼文件:

      ( http://www.620788.com )

      # rm -rf /path/to/httpd-2.2.4* 根據(jù)安裝步驟不同和版本不同,某些目錄或文件可能不存在或位置不同。

      2、可根據(jù)實際情況刪除,一般是 /var/www/html /var/www/cgi-bin 默認(rèn)就是空的

      十三.禁用非法 HTTP 方法

      禁用PUT、DELETE等危險的HTTP 方法;

      1、 編輯 httpd.conf 文件。

      只允許 get、post 方法

      Deny from all

      2、檢測操作

      查看 httpd.conf 文件,

      檢查如下內(nèi)容,是否只允許 get、post

      方法

      Deny from all

      3、根據(jù)需要可設(shè)置,如果沒有不需要用到put delete HTTP 方法的話,

      加在/etc/httpd/conf/httpd.conf的段中。

    139772