12、web 中介軟體加固-apache 加固

落落的学习發表於2024-04-13

1.賬號設定

1.1.防止 webshell 越權使用

修改 httpd.conf:/etc/httpd/conf/httpd.conf 或編譯路徑下 /conf/httpd.conf

檢查程式啟動賬號和使用者組

  user apache或nobody

  group apache或nobody

  一般情況下預設使用者符合安全要求

1.2.非超級使用者許可權禁止修改 apache 主目錄

在 httpd.conf 檔案中查詢主目錄位置:grep "ServerRoot" /etc/httpd/conf/httpd.conf

修改許可權:

  chmod -R 700 /etc/httpd/

  chmod 644 /var/log/httpd/*.log

2.日誌設定

2.1.修改日誌級別,記錄格式

修改 httpd.conf 檔案

更改錯誤日誌:

  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(可根據磁碟規劃更改)

3.禁止訪問外部檔案

防止訪問網站目錄以外的檔案

開啟 httpd.conf 檢查關鍵語法

<Directory />
    AllowOverride none
    Require all denied
</Directory>
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

4.禁止列出目錄

防止使用 web 直接瀏覽目錄內容

修改 httpd.conf 檔案

去掉站點配置資訊中的 Indexes 選項(Indexes:無法在當前目錄下找到首頁檔案,就顯示目錄內容)

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

5.錯誤頁面重定向

防止透過預設錯誤回饋洩露敏感資訊

修改 httpd.conf 檔案

編輯錯誤頁面配置:

ErrorDocument 400 /error400.html
ErrorDocument 401 /error401.html
ErrorDocument 403 /error403.html
ErrorDocument 404 /error404.html
ErrorDocument 405 /error405.html
ErrorDocument 500 /error500.html
錯誤頁面在站點根目錄下建立,也可以在子目錄中
錯誤資訊還可以使用 ”直接輸出提示“

6.拒絕服務防範

合理設定會話時間,防 止拒絕服務

編輯 httpd.conf

修改內容:

  Timeout 10

  KeepAlive On

  KeepAliveTimeout 15

此處的連線間隔和 session 保持時間單位都是秒,一定要根據實際情況,分析後再設定

7.隱藏程式版本號

避免被針對漏洞

編輯 httpd.conf

修改資訊:

  ServerSignature Off

  ServerTokens Prod

8.關閉 TRACE 功能

防止 trace 方法被惡意利用洩露資訊

編輯 httpd.conf

修改資訊:TraceEnable Off

9.禁用 CGI 功能

確保不適用 cgi 程式的情況下,關閉 cgi 功能(開啟狀態下,可執行指令碼)

編輯 httpd.conf

註釋資訊如下

ScriptAlias /cgi-bin/ "/var/www/cgi-bin"
<Directory "/var/www/cgi-bin">
    AllowOverride Nonde
    Options None
    Require all granted
</Directory>
LoadModule cgi_module modules/mod_cgi.so

10.繫結監聽地址

伺服器多個 IP 時,繫結業務介面 IP

編輯 httpd.conf

新增監聽

  Listen xx.xx.xx.xx:80

  如果頁面為私有頁面,還可以更改預設埠值

11.禁用非法 HTTP 方法

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

編輯 httpd.conf

加入資訊:

除了這些方法,以外都可以使用
<Location /> <LimitExcept GET POST CONNECT OPTIONS> AllowOverride None Require all granted </LimitExcept> </Location>

12.防止 apache 解析漏洞

防止非法檔案繞過合法性檢查

編輯 httpd.conf

新增配置資訊

將檔案字尾定死了
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>

13.防止 sql 注入

禁止 PHP 頁面對 sql 注入給予反饋

修改 php.ini 檔案:/etc/php.ini

加入或修改資訊:magic_quotes_gpc=On

14.限制請求訊息長度

防止溢位漏洞

編輯 httpd.conf

新增資訊:LimitRequestBody 102400

相關文章