Apache安全加固

2021-07-13 20:30:49 字數 4935 閱讀 2148

一.賬號設定

以專門的使用者帳號和組執行 apache。

1、根據需要為 apache 建立使用者、組

2、參考配置操作 如果沒有設定使用者和組,則新建使用者,並在 apache 配置檔案中指定

(1) 建立 apache 組:groupadd apache

(2) 建立 apache 使用者並加入 apache 組:useradd apache –g apache

(3) 將下面兩行加入 apache 配置檔案 httpd.conf 中

user apache

group apache

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

預設一般符合要求,linux下預設apache或者nobody使用者,unix預設為daemon使用者

二.授權設定

嚴格控制apache主目錄的訪問許可權,非超級使用者不能修改該目錄中的內容

1、apache 的 主目錄對應 於 apache server

配置檔案 httpd.conf 的

server root控制項中,

應為:server root /usr/local/apache」

2、判定條件

非超級使用者不能修改該目錄中的內容

3、檢測操作

嘗試修改,看是否能修改

4、一般為/etc/httpd目錄,預設情況下屬主為root:root,其它使用者不能修改檔案,預設一般符合要求

嚴格設定配置檔案和日誌檔案的許可權,防止未授權訪問

1、chmod 600 /etc/httpd/conf/httpd.conf」設定配置檔案為屬主可讀寫,其他使用者無許可權。

2、使用命令「chmod 644 /var/log/httpd/*.log」設定日誌檔案為屬主可讀寫,其他使用者唯讀許可權。

3、/etc/httpd/conf/httpd.conf預設許可權是644,可根據需要修改許可權為600。

4、/var/log/httpd/*.log預設許可權為644,預設一般符合要求。

三.日誌設定

裝置應配置日誌功能,對執行錯誤、使用者訪問等進行記錄,記錄

內容包括時間,使用者使用的 ip 位址等內容。

1、編輯 httpd.conf 配置檔案,設定日誌記錄檔案、記錄內容、記錄 格式。

其中,錯誤日誌:

loglevel notice #日誌的級別

errorlog /…/logs/error_log #日誌的儲存位置(錯誤日誌)

訪問日誌:

logformat %h %l %u %t \」%r\」 %>s %b 「%i\」

」\」%i\」 \」%i\」"

combined

customlog /…/logs/access_log combined (訪問日誌)

errorlog 指令設定錯誤日誌檔名和位置。錯誤日誌是最重要的 日誌檔案,

apache httpd 將在這個檔案中存放診斷資訊和處理請 求中出現的錯誤。

若要將錯誤日誌送到 syslog,則設定: errorlog syslog。

customlog 指令指定了儲存日誌檔案的具體位置以及日誌的格式。訪問日誌中會記錄伺服器所處理的所有請求。

logformat 設定日誌格式,建議設定為 combined 格式。

loglevel 用於調整記錄在錯誤日誌中的資訊的詳細程度,建議設定為notice。

日誌的級別,預設是warn,notice級別比較詳細,在實際中由於日誌會占用大量硬碟空間,一般沒有設定

四.禁止訪問外部檔案

禁止 apache 訪問 web 目錄之外的任何檔案。

1、參考配置操作

編輯 httpd.conf 配置檔案,

order deny,allow

deny from all

2、設定可訪問目錄,

order allow,deny

allow from all

其中/web 為**根目錄

3、預設配置是

options followsymlinks

allowoverride none

一般可根據需要設定

五.目錄列出

禁止 apache 列表顯示檔案

1、 編輯 httpd.conf 配置檔案。

options indexes followsymlinks #刪掉

indexes

allowoverride none

order allow,deny

allow from all

將options indexes followsymlinks 中的 indexes 去掉,就可以禁 止 apache 顯示該目錄結構。

indexes 的作用就是當該目錄下沒 有 index.html 檔案時,就顯示目錄結構。

2、重新啟動 apache 服務

3、可以設定 /etc/httpd/httpd.conf 段中刪除options的indexes設定 一般可根據需要設定

六.錯誤頁面重定向

apache 錯誤頁面重定向

1、修改 httpd.conf 配置檔案:

errordocument 400 /custom400.html

errordocument 401 /custom401.html

errordocument 403 /custom403.html

errordocument 404 /custom404.html

errordocument 405 /custom405.html

errordocument 500 /custom500.html custom***.html 為要設定的錯誤頁面。

2、重新啟動 apache 服務

3、此項需要應用系統設有錯誤頁面,或者不在httpd中設定完全由業務邏輯實現,可不做

七.拒絕服務防範

根據業務需要,合理設定 session 時間,防止拒絕服務攻擊

1、編輯 httpd.conf 配置檔案,

timeout 10 #客戶端與伺服器端建立連線前的時間間隔

keepalive on

keepalivetimeout 15 #限制每個 session 的保持時間是 15 秒 注:此處為一建議值,具體的設定需要根據現實情況。 2、重新啟動 apache 服務

3、預設timeout 120 keepalive off,keepalivetimeout 15,該項設定涉及效能調整,一般不做。

八.隱藏 apache 的版本號

隱藏 apache 的版本號及其它敏感資訊。

1、配置操作

修改 httpd.conf 配置檔案: serversignature off servertokens prod

2、預設是 serversignature on,servertokens os,可以設定

九.關閉 trace

關閉 trace,防止 trace 方法被訪問者惡意利用

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

新增 「traceenable off」

注:適用於 apache 2.0 以上版本

2、預設沒有該項設定,可以做。

十.禁用 cgi

如果伺服器上不需要執行 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、 根據需要設定,如果沒有cgi程式,可以關閉

十一.監聽位址繫結

伺服器有多個 ip 位址時,只監聽提供服務的 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、預設設定是listen 80監聽所有位址,如果伺服器只有乙個ip位址可不做該項設定,如果有多個ip可以按照需要設。

十二.刪除預設安裝的無用檔案

刪除預設安裝的無用檔案。

1、參考配置操作刪除預設 html 檔案:

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

刪除預設的 cgi 指令碼:

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

刪除 apache 說明檔案:

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

刪除源**檔案:

(    

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

2、可根據實際情況刪除,一般是 /var/www/html /var/www/cgi-bin 預設就是空的

十三.禁用非法 http 方法

禁用put、delete等危險的http 方法;

1、 編輯 httpd.conf 檔案。

只允許 get、post 方法

deny from all

2、補充操作說明

」2、檢測操作

檢視 httpd.conf 檔案,

檢查如下內容,是否只允許 get、post

方法deny from all

」 3、根據需要可設定,如果沒有不需要用到put delete http 方法的話,

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

apache安全加固

apache加固安全配置 在httpd.conf中進行如下配置 將options indexes followsymlinks 中的indexes 去掉,就可以禁止 apache顯示該目錄結構 在httpd.conf中進行如下配置 serversignature off servertokens p...

資訊保安 安全加固

為了防止黑客獲取伺服器中 php 版本資訊,如x powered by php 5.3.7,最好關閉顯示 php 版本資訊,在配置檔案中追加以下資訊 expose php off預設情況下,php錯誤資訊會將程式出錯的原因顯示到瀏覽器上,容易造成敏感資訊洩露。關閉錯誤顯示 display error...

Tomcat安全加固

1.公升級到最新穩定版,這個是老生常談了。目前tomcat支援6.0和7.0兩個版本。1 出於穩定性考慮,不建議進行跨版本公升級,如果之前是6.0系列版本,最好還是使用該系列的最新版本。2.從監聽埠上加固 1 如果tomcat不需要對外提供服務,則監聽在本地回環,前面放nginx。如果需要對外提供訪...