顯示具有 Vulnerability scan 標籤的文章。 顯示所有文章
顯示具有 Vulnerability scan 標籤的文章。 顯示所有文章

2020年4月29日 星期三

如何隱藏Apache的版本資訊

弱掃被掃到這項 Http Server Type and Version
現在資安這麼嚴格,像這種資訊都是不能讓別人知道,以免被駭客利用該版本的弱點進行攻擊

好的,要隱藏版本資訊也是非常容易,只要在http.conf中加上以上兩個參數即可


ServerTokens Prod
ServerSignature Off

存檔後再重啟即可,要驗證是否有效時,可以使用cUrl工具進行檢查,指令如下:

curl -I -k https://www.yourdomain.com

加上-k 是因為要讀https的,要請工具忽略驗證憑證
原本會看到

HTTP/1.1 200 OK
Date: Wed, 27 April 2020 14:25:00 GMT
Server: Apache/2.4.18 (Ubuntu)
Last-Modified: Wed, 27 April 2020 14:25:00 GMT

Accept-Ranges: bytes
Content-Length: 2432
Vary: Accept-Encoding
Content-Type: text/html

加上後會變成這樣

HTTP/1.1 200 OK
Date: Wed, 27 April 2020 14:25:00 GMT
Server: Apache/2.4.43 (Ubuntu)
Last-Modified: Wed, 27 April 2020 14:25:00 GMT
Accept-Ranges: bytes
Content-Length: 2432
Vary: Accept-Encoding
Content-Type: text/html

如何關閉Apache的80 Port


因資安弱點掃描,原本有一對外的服務走的是Https 443 port,不過弱掃出來 中了這項

Web Servers HTTP TRACE / TRACK Methods  Allowed  Port 80

雖然對外防火牆只開443Port, 應該不會造成問題才是,不過即然掃出來了就封起來吧
預設apache是開啟80 Port ,443 Port是要另外開啟的,往往都另外開啟 443 Port  就忘了應該關閉80 Port,其實關閉的方式很簡單,只要在 httpd.conf 中找尋

Listen 80

把這行加上 # ,註解掉,再重啟 apache 即可

當然如果你是用VirtualHost,就要再去VirtualHost裡去改設定


話說目前各家瀏覽器對安全性要求愈來愈高,看來之後apache內建的預設版本可能會是預設啟用https


2018年6月14日 星期四

Apache 阻擋 Slow HTTP Denial of Service Attack

最近又在進行客戶系統的弱點掃描,這次被掃到一個Medium Risk

Slow HTTP Denial of Service Attack

真是怪,每用一套不同的弱掃工具,就會掃到一些弱點

關於這個Slow DOS 攻擊弱點,經上網查了一下,可以直接從Apache 啟用mod_reqtimeout模組來排除此問題

mod_reqtimeout是Apache伺服器預設的模組之一,主要的功能在於限定要求(Request)封包傳遞的速率,避免要求連線因傳遞速率過慢而長時間占住網站伺服器的連線。
由於Slowris應用的技巧在於利用傳送要求標頭(Request Header)時間過久,藉此來占住網站伺服器的連線數,以致於網站伺服器無法服務正常的連線,以達到拒絕服務(DoS)的效果,因此mod_reqtimeout模組即是利用限定傳送要求標頭及要求內容時間的方式,來降低Slowris攻擊的危害。

可至 http.conf 啟用 mod_reqtimeout 把以下這行 # 去除

LoadModule reqtimeout_module modules/mod_reqtimeout.so

並再加上以下設定

<ifmodule mod_reqtimeout.c="">
  RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</ifmodule>


再重啟後重測,就可以過關了

當然還有其它方法排除,有興趣者就自已再去google 吧