Apache服務器安全配置


用戶權限分配

Linux中默認給予apache的是一個www-data賬戶

image

可以看到第一行為apache的主進程,以root權限進行,因為apache的web端口是80或者443,而在Linux中開啟小於1024的端口需要root權限,所以主進程必須以root權限運行,第二行起為apache子進程,執行用戶為www-data,是Ubuntu中運行web服務的默認用戶,權限較低,可以看到創建不了文件

image

image

如果apache執行權限為高權限用戶

可以嘗試更改為低權限用戶,apache的運行用戶的配置信息可以在/etc/apache2/apache2.conf文件中看到,文件提示設置這些選項需要去/etc/apache2/envvars設置

image

到/etc/apache2/envvars下將user和group設置為www-data

image


Windows中apache安裝后默認是administrator權限

如果使用此權限運行web服務一旦攻擊者拿下webshell就很容易控制整個服務器,所以需要給apache降權,步驟如下

1.創建一個普通用戶apache

image

image

2.添加到Guests用戶組

image

3.將apache目錄下的日志的可寫權限賦給Guests賬戶

image

4.設置apache服務屬性中的登陸選項卡,最后重啟服務

image

5.菜刀查看權限

image



目錄及文件權限

Linux在默認情況下如果當前目錄不存在默認文件(如index.html),會列出當前目錄

image

其權限配置在apache配置文件http.conf中,可以看到都額定/var/www/操作的有兩個選項

indexes:可以在該目錄中使用符號連接

FollowSymLinks:允許目錄瀏覽,當客戶僅指定要訪問的目錄,但沒有指定要訪問目錄下的哪個文件,而且目錄下不存在默認文檔是,apache以超文本形式返回目錄中的文件和子目錄列表(虛擬目錄不會出現在目錄列表中)。

indexes決定目錄可以被列出,從漏洞角度上講也就是目錄遍歷漏洞

image

設置選項如下,重啟服務后發現目錄不在列出

image

image

另外也可以通過chmod命令進行權限控制

chmod o-r xxx.txt  將xxx.txt文件讀權限去掉


Windows同樣可以使用上述兩種方法進行權限控制

法一:修改httpd.conf配置文件的方法與Linux下是一樣的

法二:修改某文件的權限(apache已經添加到Guests用戶組)

image

同理可以設置文件或目錄的寫、執行權限,尤其是一些文件上傳目錄一定要設置為不可執行,可以有效的被getshell



錯誤重定向

錯誤重定向是指通過在web程序出錯令其跳轉到指定的顯示界面,首先可以通過設置.htaccess文件達到目的,但是Windows中正常情況下無法直接創建.xxx的文件,所有要使用DOS命令,生成.htaccess文件,在.htaccess文件中添加:ErrorDocument 404 /404.html,設置404錯誤重定向

image

image

同時創建404頁面

image

image

隨機訪問不存在的文件,自動跳轉到404.html

image

但這里也容易造成一個隱藏攻擊點,因為一旦被被攻擊者拿到webshell,發現並控制了.htaccess,攻擊者可以通過修改.htaccess將.jpg文件設置為可被當作php執行的文件,后期排查留下隱患。

通過修改httpd.conf文件也可以達到跳轉的目的

image

RewriteEngine On:開啟跳轉

RewriteRule "tttt\.html$"  "404.html":第一個參數是一個正則,第二個參數使要跳轉到的相對地址;也就是說當符合正則時進行跳轉。比如對於本條正則當訪問tttt.html時會跳轉到404.html界面。

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM