當前位置:首頁 > IT技術 > Web編程 > 正文

Apache安全加固
2021-09-19 22:43:14

實驗環(huán)境

root@NF:~# apache2 -version
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2020-03-13T12:26:16
root@NF:~# cat /etc/issue
Ubuntu 18.04.3 LTS 
 l

關注官網(wǎng)更新公告

https://httpd.apache.org/security_report.html

以最小權限運行Apache進程

注意:本環(huán)境下的Apache默認就是以www-data用戶運行,默認符合要求。

  1. 根據(jù)需要,為 Apache 服務創(chuàng)建用戶及用戶組。如果沒有設置用戶和組,則新建用戶,并在 Apache 配置文件中進行指定。

    i. 創(chuàng)建 Apache 用戶組。

    groupadd apache

    ii. 創(chuàng)建 Apache 用戶并加入 Apache 用戶組。

    useradd apache –g apache

    iii. 將下面兩行設置參數(shù)加入 Apache 配置文件 apache2.conf 中:

     User apache
     Group apache
    
  2. 檢查 apache2.conf 配置文件中是否允許使用非專用賬戶(如 root 用戶)運行 Apache 服務。

    默認設置一般即符合要求。Linux 系統(tǒng)中默認使用 apache 或者 nobody 用戶,Unix 系統(tǒng)默認使用 daemon 用戶。

image

加固作用:

  • 以最小權限運行中間件服務,即使網(wǎng)站被getshell,也能減少影響程度。

擴展閱讀:

查看和修改運行 Apache 的用戶與用戶組 - 荒原之夢

linux 下修改 apache 啟動的所屬用戶和組 - 天涯雪

apache2為什么有多個進程? - muru

禁用目錄瀏覽功能

編輯配置文件apache2.conf,指定網(wǎng)站根目錄添加Options FollowSymLinks參數(shù)。

<Directory /var/www/html>
	Options  FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

若要啟用目錄瀏覽功能,則是Options Indexes FollowSymLinks,同樣禁止目錄瀏覽功能除了刪除Indexes也可以在前面加個減號,即Options -Indexes FollowSymLinks來表示。

image

加固作用:

  • 不展示目錄結構信息,防止敏感文件泄露。

擴展閱讀:

Apache Options Indexes FollowSymLinks詳解 - callie

AllowOverride參數(shù)詳解 - upupw

Apache的Order Allow,Deny 詳解 - 與時俱進

Apache2.4使用require指令進行訪問控制 - leoyu

啟用日志審計

apache2默認啟用了錯誤日志和訪問日志的記錄,可看配置文件apache.conf有無以下內容。

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn

LogFormat "%v:%p %h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"" vhost_combined
LogFormat "%h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

apache默認日志路徑:/var/log/apache2

一條標準的訪問日志內容如下:

192.168.56.1 - - [30/Mar/2020:16:34:56 +0800] "GET /test/index.php HTTP/1.1" 200 277 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
格式 含義
%h 遠端主機(訪問網(wǎng)站的客戶端地址)
%l 遠端登錄名,用了短橫代替
%u 遠端用戶名,用了短橫代替
%t 時間,包括訪問的日期、時間、時區(qū)
%r 請求起始行,包括請求方法、訪問的文件路徑
%>s HTTP狀態(tài)碼
%O 響應包數(shù)據(jù)大小,單位是字節(jié)
%{Referer}i 來源
%{User-Agent}i 遠端主機瀏覽器的UA信息

加固作用:

  • 記錄訪問信息,提供溯源證據(jù)。
  • 幫助開發(fā)者排查問題。

擴展閱讀:

Apache日志詳解 - long9617

限制特定目錄文件執(zhí)行權限

編輯配置文件apache2.conf,根據(jù)業(yè)務需求添加下面內容。

<Directory "/var/www/html/upload">
	<FilesMatch ".(php|php3)$">
		Order allow,deny
		Deny from all
	</FilesMatch>
</Directory>

image

加固作用:

  • 通過禁止訪問來阻止一些非法文件的執(zhí)行(惡意攻擊者通過任意文件上傳漏洞,往往會上傳一些可執(zhí)行文件,如木馬文件,從而拿到webshell)。

擴展閱讀:

apache禁止訪問文件或目錄執(zhí)行權限、禁止運行腳本PHP文件的設置方法(轉)

自定義錯誤頁面

編輯配置文件apache2.conf,添加下面內容

ErrorDocument 403 /custom403.html
ErrorDocument 404 /custom404.html
ErrorDocument 500 /custom500.html

其中customxxx.html為要設置的錯誤頁面,需提前寫好放網(wǎng)站根目錄下。

root@NF:~# ls -lah /var/www/html/ | grep html
-rw-r--r--  1 ubuntu ubuntu  688 1月  19 15:00 403.html
-rw-r--r--  1 ubuntu ubuntu  685 1月  19 14:57 404.html
-rw-r--r--  1 ubuntu ubuntu  665 1月  19 15:01 500.html

image

加固作用:

  • 防止默認報錯頁面泄露一些敏感信息(開發(fā)框架、數(shù)據(jù)庫語句、物理路徑、內網(wǎng)IP等)。

擴展閱讀:

APACHE_自定義404錯誤頁面 - epsilon1

隱藏Apache版本號

編輯配置文件apache2.conf,添加下面內容

ServerSignature Off
ServerTokens Prod

image

加固作用:

  • 防止中間件版本信息泄露。

限制和允許特定IP訪問

編輯配置文件apache2.conf,添加下面內容。

若使用IP白名單,則根據(jù)業(yè)務需求添加下面內容

<Directory "/var/www/html/test">
	Options All
	AllowOverride None
	Order Deny,Allow
	Deny From all
	Allow From 192.168.1.0/24 192.168.3.0/24
	Allow From 127.0.0.1
</Directory>

若使用IP黑名單,則根據(jù)業(yè)務需求添加下面內容

<Directory "/var/www/html/test">
	Options All
	AllowOverride None
	Order Deny,Allow
	Deny From 192.168.1.0/24 192.168.3.0/24
	Deny From 192.168.56.1
</Directory>

image

加固作用:

  • 使訪問受控。

擴展閱讀:

Apache中限制和允許特定IP訪問 - we will rock you

擴展閱讀

http://httpd.apache.org/docs/current/zh-cn/
https://blog.51cto.com/ww123/1639424
https://www.cnblogs.com/xiaozi/p/10117715.html
https://www.jianshu.com/p/a8bab3f50c7b
https://bbs.ichunqiu.com/thread-35736-1-1.html
http://www.defvul.com/apache/
https://www.alibabacloud.com/help/zh/faq-detail/52981.htm
https://blog.csdn.net/my98800/article/details/51740389

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務立即開通 >