More  

小編的世界 優質文選 主機

等保測評之系列1


2021年12月05日 - 主機小編  
   

文刀姓21:16

前期調研

針對於等保前期系統情況方面,這裏我們要了解的是數據庫的版本。今天以:Redis 數據庫配置為例。

查看數據庫版本:運維人員一般都會配置redis命令的環境變量,如果下面命令不行就用 find 找吧,一些基礎知識這裏就不說了。

1)服務器本地查看

redis-server -vredis-server --version

2)登錄到數據庫內查詢

登錄數據庫:redis-cli -h 127.0.0.1 -p 6379 -h後面跟ip,-p跟端口

一般是本地登錄,直接 redis-cli 即可登錄,當然前提是沒有修改過Redis的服務端口。

登錄到數據庫後,我們輸入:info

一、身份鑒別

a)應對登錄的用戶進行身份標識和鑒別,身份標識具有唯一性,身份鑒別信息具有複雜度要求並定期更換

1. 身份鑒別和標識

默認情況下redis數據庫是無口令直接登錄的:直接輸入redis-cli 即可登錄

所以我們要查看redis配置文件,一般為redis.conf,在redis主目錄下

查看requirepass參數是否不為注釋狀態:

如果不是注釋狀態,如上圖,後面跟著的 *y@123 就是密碼,是明文存儲的。

如果設置過口令,則會提示

注意:這裏沒有用戶的概念,只能加一個口令驗證。

2. 身份鑒別信息具有複雜度並定期更改

沒辦法滿足這個要求,無口令複雜度、最長使用期限設置功能。

這裏核查用戶當前口令複雜度是否滿足要求。

擴展:Redis 數據庫開啟口令驗證

1)通過配置文件進行配置

在 redis.conf 中找到 requirepass foobared參數

取消requirepass前面的注釋,並將將foobared改成相應密碼,然後重啟數據庫即可

再嘗試登錄,此時可以連接,但無法執行一些相關命令

需要使用auth password命令進行登錄

或者使用 redis-cli -h 127.0.0.1 -p 6379 -a “mypass” 進行登錄(不建議使用)

因為這樣明文密碼會留存到 history 裏面,不安全。

2)通過命令行配置(臨時)

config set requirepass ***y@1234config get requirepass

然後嘗試配置文件中配置的老密碼登錄redis,會發現原來的不可用,被拒絕

但是再重啟redis後,將會引用配置文件中的口令

b)應具有登錄失敗處理功能,應配置並啟用結束會話、限制非法登錄次數和當登錄連接超時自動退出等相關措施

1. 登錄失敗處理功能

沒有這個功能,詢問管理人員是否有第三方措施。

默認不符合。

2. 操作超時自動退出功能

查看redis配置文件,一般為redis.conf,在redis主目錄下

查看timeout的值,默認為0永不退出

這裏設置的就是,120秒退出後要求重新進行身份鑒別。

超過這個時間它就要求重新進行身份鑒別了。

c)當進行遠程管理時,應采取必要措施防止鑒別信息在網絡傳輸過程中被竊聽

默認情況下:

抓包出來是明文傳輸的

這個要去詢問管理人員是否做了相關措施防止鑒別信息在傳輸過程中被竊聽。

默認不符合。

d)應采用口令、密碼技術、生物技術等兩種或兩種以上組合的鑒別技術對用戶進行身份鑒別,且其中一種鑒別技術至少應使用密碼技術來實現

這個一般不會去做,我們只要現場核查它是否使用了雙因素認證就行了。

二、訪問控制

由於Redis數據庫沒有用戶這個概念,通過單一的口令驗證就可以登錄,擁有所有權限,所以針對訪問控制這個控制點,有些是判不適用,有些是判不符合的,這個我覺得可以根據機構自己的要求來進行判斷,畢竟目前沒有一個統一的標准。

a)應對登錄的用戶分配賬戶和權限

無用戶概念,通過口令驗證,擁有所有權限。

b)應重命名或刪除默認賬戶,修改默認賬戶的默認口令

無默認賬戶存在。不適用

c)應及時刪除或停用多餘的、過期的賬戶,避免共享賬戶的存在

無賬戶概念。

d)應授予管理用戶所需的最小權限,實現管理用戶的權限分離

無法分權,做不到。

e)應由授權主體配置訪問控制策略,訪問控制策略規定主體對客體的訪問規則

無授權主體。

f)訪問控制的粒度應達到主體為用戶級或進程級,客體為文件、數據庫表級

無用戶概念。

g)應對重要主體和客體設置安全標記,並控制主體對有安全標記信息資源的訪問

做不到。

三、安全審計

a)應啟用安全審計功能,審計覆蓋到每個用戶,對重要的用戶行為和重要安全事件進行審計

查看redis配置文件,一般為redis.conf,在redis主目錄下

查看loglevel、logfile參數,我安裝的該版本默認情況下:

redis支持通過loglevel配置項設置日志等級,共分四級,即debug、verbose、notice、warning。

redis也支持通過logfile配置項來設置日志文件的生成位置。如果設置為空字符串,則redis會將日志輸出到標准輸出,日志將會發送給/dev/null。

這裏我們配置一下,將日志輸出到如下文件中。

重啟後,日志就會寫入到這個文件中

所以這裏我們要確定兩個參數:loglevel、logfile。

且logfile必須要配置,因為不配置就不會留存對應的日志了。

b)審計記錄應包括事件的日期和時間、用戶、事件類型、事件是否成功及其他與審計相關的信息

默認符合,日志時間跟隨系統時間。比如我剛重啟了數據庫,就會產生對應日志。

c)應對審計記錄進行保護,定期備份,避免受到未預期的刪除、修改或覆蓋等

存儲在操作系統上的日志文件權限,不得超過644,默認不刪應該永久保存。

定期備份問題,詢問管理人員是否有做即可。

d)應對審計進程進行保護,防止未經授權的中斷

默認符合。

無法中斷日志文件輸出,但是可以修改日志記錄等級。

四、入侵防範

以下條款為:不適用

a)應遵循最小安裝的原則,僅安裝需要的組件和應用程序

b)應關閉不需要的系統服務、默認共享和高危端口

d)應提供數據有效性檢驗功能,保證通過人機接口輸入或通過通信接口輸入的內容符合系統設定要求

f)應能夠檢測到對重要節點進行入侵的行為,並在發生嚴重入侵事件時提供報警

涉及到的:

c)應通過設定終端接入方式或網絡地址範圍對通過網絡進行管理的管理終端進行限制

找到redis的配置文件,一般為redis.conf,可以先找NETWORK,下面會有個bind

注釋情況下為任意IP訪問,可設置指定 IP,以空格分割。這裏只要看bind後面跟的ip地址即可。

e)應能發現可能存在的已知漏洞,並在經過充分測試評估後,及時修補漏洞

這條就結合漏掃、測試等方法進行判斷,redis這玩意可是出了名的漏洞多。。

像非授權訪問漏洞,本地也測試過能成功,這裏就不細說了,交給滲透工程師去看吧,然後我們等保的拿他們的報告確認是否存在對應漏洞即可。

五、數據完整性

針對這個數據庫,下面兩條默認都是不符合。詢問管理人員是否做了相關措施來保證數據的完整性。

a)應采用校驗技術或密碼技術保證重要數據在傳輸過程中的完整性,包括但不限於鑒別數據、重要業務數據、重要審計數據、重要配置數據、重要視頻數據和重要個人信息等

b)應采用校驗技術或密碼技術保證重要數據在存儲過程中的完整性,包括但不限於鑒別數據、重要業務數據、重要審計數據、重要配置數據、重要視頻數據和重要個人信息等

六、數據保密性

這個保密性同理,針對這個數據庫,下面兩條默認都是不符合。詢問管理人員是否做了相關措施來保證數據的保密性。

a)應采用密碼技術保證重要數據在傳輸過程中的保密性,包括但不限於鑒別數據、重要業務數據和重要個人信息等

b)應采用密碼技術保證重要數據在存儲過程中的保密性,包括但不限於鑒別數據、重要業務數據和重要個人信息等

七、數據備份恢複

a) 應提供重要數據的本地數據備份與恢複功能

這個沒啥好說的,直接去問管理人員備份怎麼做的,是否有措施保證備份數據有效(有測試記錄即可)。

b)應提供異地實時備份功能,利用通信網絡將重要數據實時備份至備份場地

詢問管理員

c)應提供重要數據處理系統的熱冗餘,保證系統的高可用性

這個根據實際情況來看,是否有熱冗餘的必要性。沒有個人認為可判不適用。

  大家在看