企業資料庫安全管理規範 | 運維進階

運維實踐派發表於2023-04-24

來源:twt企業IT社群

【摘要】本文梳理了資料庫安全管理的各項要求和注意事項,詳細實用。供大家參考。

【作者】朱雲峰,美宜佳系統架構師,主要負責負責IDC基礎設施和資訊保安,擅長雲原生、安全、監控、架構規劃相關工作。

1.目的

為規範資料庫系統安全使用活動,降低因使用不當而帶來的安全風險,保障資料庫系統及相關應用系統的安全,特制定本資料庫安全管理規範。

2.適用範圍

本規範中所定義的資料管理內容,特指存放在資訊系統資料庫中的資料。

本規範適用於資訊系統建設與運維,旨在明確資料庫管理員(DBA)工作職責及資料庫系統中與安全相關的配置項及其使用要求,指導資料庫系統的安裝、配置及日常管理,提高資訊系統的安全水平。

3.定義

資料庫管理員:也稱 DBA ,負責資料庫安裝、除錯、使用及日常運維,管理使用者對資料庫的訪問許可權,增加、刪除、修改該資料庫中資料庫物件。

DML(data manipulation language):是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對資料庫裡的資料進行操作的語言。

DDL(data definition language):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,資料型別,表之間的連結和約束等初始化工作上,他們大多在建立表時使用。

DCL(Data Control Language):是資料庫控制功能。是用來設定或更改資料庫使用者或角色許可權的語句,包括(grant,deny,revoke等)語句。在預設狀態下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員才有權力執行DCL。

4.DBA 職責

1、對資料庫系統進行合理配置、測試、調整,最大限度地發揮裝置資源優勢,負責資料庫的安全、穩定執行;

2、對所有資料庫系統的配置進行可用性,可靠性,效能以及安全檢查;

3、定期對資料庫系統的可用性,可靠性,效能以及安全的配置方法進行檢查、修訂和完善;

4、負責資料庫系統執行過程中出現的問題及時處理解決;

5、負責對資料庫系統的資料一致性和完整性,並協助開發、網路人員做好相關的配置、檢查等工作;

6、負責做好資料庫系統及資料的備份和恢復工作;

7、做好資料日常檢查記錄(CheckList表單)准入要求。

DBA 許可權及流程

1、DBA按“1001-資訊系統許可權申請指南”的規範按紙質流程完成資料庫運維賬號的申請;

2、DBA 資料庫運維賬號繫結使用人員裝置和手機號碼,透過簡訊或令牌實現2次驗證。所有的運維操作透過堡壘機完成,堡壘機記錄並審計 DBA 所有的操作指令;

3、禁止遠端DDL:核心業務系統限制DDL操作僅能在資料庫伺服器本地進行,禁止遠端連線執行DDL操作;

4、DBA 透過查詢分析器執行的資料的變更(包括增加、刪除、重建等)操作需和運維部負責人共同評估後透過紙質流程申請執行。

5.安全管理

安全性是資料庫重要的日常工作,安全管理的主要內容包括賬戶管理和許可權管理。帳戶管理就是在資料庫中應該增加哪些帳戶、這些帳戶應該組合成哪些角色等。許可權管理是物件許可權和語句許可權的管理。

5.1 網路環境安全

1、資料庫伺服器置於單獨的伺服器區域,任何對這些資料庫伺服器的物理訪問均應受到控制。

2、資料庫伺服器所在的伺服器區域邊界部署防火牆或其它邏輯隔離設施。

5.2 伺服器安全

1、重要的資料庫伺服器除提供資料訪問服務外,不提供任何其它的服務。如WEB,FTP等。

2、資料庫專用帳戶,賦予賬戶除執行資料庫服務之外的最小許可權,sa或是sysdab等許可權不能對外開放。

3、目錄及相應檔案訪問許可權進行控制,非管理員不能訪問資料庫伺服器上任何目錄如:禁止使用者訪指令碼存放目錄。

5.3 資料庫安全

5.3.1 資料庫系統

1、正式生產資料庫系統與開發測試資料庫系統物理分離,確保沒有安裝未使用的資料庫系統元件或模組;

2、資料庫使用者的建立、刪除和更改工作,並做好記錄;

3、資料庫物件儲存空間的建立、刪除和更改工作,並做好記錄;

4、對系統的安裝更新、系統設定的更改等要作好維護記錄;

5、確保沒有開啟未使用的資料庫系統服務;

6、資料庫系統安裝必要的升級程式或是補丁,升級前作好資料庫備份。

5.3.2 資料保密

嚴禁任何人洩漏資料庫業務關鍵資料,需要業務資料時,必須向資訊總部相關領導提出申請批准後才能對資料進行相關的操作,並做好記錄與日誌。

資料庫安全性設計與管理需要依照《資料保護技術規範》、《資料資產管理條例》等制度實施。

5.3.3 賬戶設定

1、資料庫管理員帳號具有最高資料庫管理許可權(如:MSSQL的SA或是ORACLE的SYSDBA等),其他人員需要直連訪問資料庫或需要具有一定資料庫操作許可權,必須向資訊部門相關領導申請,審批透過後,由資料庫管理員告知使用者許可權等資訊,其他人員透過業務系統訪問資料庫;

2、根據業務需要的許可權建立專門的賬號,以區分責任,提高系統的安全性,業務人員必須使用自己的賬號登入資料庫,如JOB,儲存過程等執行許可權;

3、對賬號許可權的設定遵從最小化原則,不需求的許可權就不能開通。如查詢資料的人員,只能有對某些表的SELECT許可權,而不能用UPDATE,DELETE等許可權;

4、普通資料庫使用者賬戶與資料庫管理員帳戶分離。

5.3.4 帳戶型別

系統管理員:能夠管理資料庫系統中的所有元件及所有資料庫。

資料庫管理員:能夠管理相關資料庫中的賬戶、物件及資料。

資料庫使用者:只能以特定的許可權訪問特定的資料庫物件,不具有資料庫管理許可權,大部份都是屬於這個使用者型別。如業務資料人員。

5.3.5 使用者許可權

資料庫帳戶按最小許可權原則設定在相應資料庫中的許可權。以下幾種許可權:

系統管理許可權:包括帳戶管理、服務管理、資料庫管理等。

資料庫管理許可權:包括建立、刪除、修改資料庫等。

資料庫訪問許可權:包括插入、刪除、修改資料庫特定表,檢視,過程,FUNCTION,JOB記錄等。

5.3.6 資料庫物件安全

1、資料檔案安全,對資料檔案訪問許可權進行控制,如:禁止除專用賬戶外的其它賬戶訪問、修改、刪除資料檔案。

2、刪除不需要的示例資料庫,在允許存在的示例資料庫中嚴格控制資料庫賬戶的許可權。

3、刪除或禁用不需要的資料庫物件,如表,檢視,過程,函式,觸發器等。

4、敏感資料安全,對於資料庫中的敏感欄位,如:口令等,要加密儲存。

5.3.7 口令密碼策略

1、資料庫賬戶口令應為無意義的字元組,長度至少八位,並且至少包括數字、英文字母兩類字元。可設定相應的策略強制複雜的口令。

2、必須根據安全要求對資料庫管理系統的密碼策略進行設定和調整,以確保口令符合要求。

3、定期或不定期修改資料庫管理員口令,並與第一條相符合。

4、帳戶、密碼統一管理,由DBA進行管理,記錄帳戶變及稽核。

5.3.8 訪問控制

1、在外圍防火牆或其它隔離設施上控制從網際網路到資料庫系統的直接訪問。

2、修改資料庫系統預設監聽埠。

3、應用程式的資料庫連線字串中不能出現資料庫賬戶口令明文。

4、禁止未授權的資料庫系統遠端管理訪問,對於已經批准的遠端管理訪問,應採取安全措施增強遠端管理訪問安全。

5.3.9 帳戶開通

1、開通帳戶必須先填寫“資訊系統許可權申請指南”,經如下流程人員審批透過後,資料庫管理員建立帳號。

2、帳戶許可權最小化原則。開通只需要的許可權,做到不同的應用不同的帳戶及專人專帳戶。

3、採用OA帳戶為資料庫開通帳戶的基礎,可追加"_"符號並設定附加欄位(如資源池標記、賬戶所屬組別標記等)。

企業資料庫安全管理規範 | 運維進階

資料庫賬號申請流程圖

5.3.10 賬戶登出

1、資料庫管理員收到人員離職通知後,應即時審查該人員是否擁有資料庫訪問賬戶;並把對應許可權刪除。

2、帳戶許可權最小化原則。開通只需要的許可權,做到不同的應用不同的帳戶及專人專帳戶。

3、採用OA帳戶為資料庫開通帳戶。

5.3.11 MySQL資料庫特別設定

1、採用叢集配置方案,不得將資料庫配置檔案部署於資料庫本地。配置檔案儲存伺服器的資料安全管控級別應為最高。

2、資料庫啟動必須採用遠端呼叫配置檔案形式啟動,不得采用命令列啟動,應採用服務呼叫方式啟動,避免透過系統指令查到配置檔案所在伺服器。

3、應對賬戶設定白名單策略,針對特殊業務場景可以進行分時段訪問攔截。

5.3.12 SQL Server資料庫特別設定

1、代理賬戶宜採用單獨賬戶設定。

2、新業務超過100萬行資料的表,必須採用分割槽表形式實現。

3、資料庫必須採用檔案組方式實現,每個資料檔案不宜超過500GB。

4、tempdb、log與data檔案宜硬體IO分離,若資源緊張至少將tempdb與 log和data檔案分離。

5、資料庫系統檔案必須獨立存放於系統盤,且與tempdb、log與data檔案硬體IO分離。

6、應對賬戶設定IP白名單策略,針對特殊業務場景可以進行分時段訪問攔截。

7、非演算法應用場景,可設定資源池分散賬戶訪問壓力。

8、減少連結伺服器的使用,若必須使用則必須設定賬戶訪問限制,不得提供公共連結伺服器訪問。

9、DBA儲存過程需要部署於system庫中,註明sp_dba_字首,並做好版本控制管理。

10、嚴格控制標記與指標的使用,在滿足效能要求前提下,可將資訊寫入資料庫error日誌中,便於後續對接日誌處理平臺進行集中收集處理。

11、資料庫分庫分表分割槽等指令碼,必須透過備份庫在測試環境執行,評估效率,形成書面報告審議。執行必須按照新建庫/表/分割槽→資料匯入→索引重建→名稱切換方式進行。涉及檢視操作,完成後必須重新重新整理檢視。分庫分表分割槽後,必須建立維護作業,對函式與方案實現自動維護。正式啟用新的分庫分表分割槽前,需要至少2名工作人員對新舊錶的資料一致性進行核對,形成書面報告審議,透過後才可啟用。被分庫分表分割槽的原始表,需要保留7天。7天后應將該錶轉移至業務歷史資料庫留存至少90天。

12、應監控資料庫儲存過程呼叫情況,針對超過10個以上的資料庫併發訪問、連結池資源1個小時內不被釋放、CPU和Tempdb資源消耗超過總資源的20%的情況,應作出預警。針對需要特殊保護的業務場景,經產品與運維部門同意,可啟動自動切斷連結設定。

6. 備份與恢復

1、制定資料庫系統的備份策略,定期對資料庫系統進行備份。如備份週期,方式等。

2、資料庫備份策略要以高效備份與恢復為目標,與作業系統的備份最好地結合,物理備份與邏輯備份相結合。

3、必須對備份帳戶的許可權嚴格控制,由系統管理員或指定專人負責。

4、妥善存放和保管備份介質(從資料庫匯出的磁碟櫃等),防止非法訪問與丟失。

5、本地備份與遠端異地備份相結合,以防止本地備份丟失的情況。

6、根據重要性對資料庫進行週期或不定期進行恢復測試與應及處理。

7、資料庫升級、表結構變更、資料庫分庫分表分割槽、業務核心表變更前必須進行資料備份。對資料層面重大調整的,應啟動啟動完整日誌或資料備份等資料容災策略。

6.1 備份方式及策略

完全備份:對備份的內容進行整體備份。

增量備份:僅備份相對於上一次備份後新增加和修改過的資料。

差異備份:僅備份相對於上一次完全備份之後新增加和修改過的資料。

按需備份:僅備份應用系統需要的部分資料,或臨時需要解決的問題。

1、建立各個應用能接受的恢復時間和資料備份方式,採取相應的備份策略。

2、結合使用線上備份、邏輯備份和物理備份等多種方式,並且自動方式和手動方式相結合。

3、資料備份應根據系統情況和備份內容,採用不同的備份方式及策略,並做好記錄。

6.2 備份要求

1、資料庫的資料要求定時自動備份。

2、建立備份記錄,詳細記錄備份資料資訊。備份應有明確的檔名,時間點、備份人,備份檔名統一標準。

3、備份檔案儲存時間可根據資料重要程度和有效利用週期確定。

4、備份介質安全問題,既要保證存放的物理環境,也要避免對備份資料的非授權訪問。

5、系統管理員和資料庫管理員確定備份策略。

6、備份檔名採用標準格式:資料庫名稱 + 下劃線 + ISO時間格式(YYYYMMDDHHNNSS,即四位年2位月2位日2位小時2位分鐘 + 備份的副檔名bak或是trn(日誌檔案))myj_202004011131.trn或是myj_202004011131.bak

7、資料表的備份命名為原表命名_bak_yyyyMMdd形式命名,若為同一天可以追加批次版本_v1,備份資料宜採用bcp形式進行資料匯出與匯入。備份表生產環境留存期至少7天。7天后應將該錶轉移至歷史資料庫留存至少90天。

6.3 恢復管理

恢復的操作直接影響到實際的應用。恢復操作應嚴格按一定的操作程式進行,而絕不能由備份系統管理員或某一個應用者進行恢復操作了事。

故障確認。在進行恢復之前首先應該確認造成故障的原因。故障的原因非常多,應該分清是作業系統的故障還是資料庫的故障。如果是資料庫的故障,不同的資料庫應採用不同的故障分析方法,在完成故障分析後確認需要進行恢復操作時,由相應的管理人員提交書面的故障分析報告。

恢復計劃。系統管理員在確認故障分析報告後應與相應管理者一起制定詳細的恢復計劃,包括應恢復的內容、恢復的時間、恢復的操作步驟、恢復對應用造成的影響等,主管領導應確認恢復對生產造成的影響,在批准執行恢復前應以相應方式與有關部門進行溝通和通知有關部門進行恢復前的準備工作。

定期備份校驗。對長期儲存的備份進行校驗,防止在需要時備份不可用的情況發生,使用資料庫自帶工具校驗。

7. 日常檢查表單

企業資料庫安全管理規範 | 運維進階
企業資料庫安全管理規範 | 運維進階
企業資料庫安全管理規範 | 運維進階

原題:企業資料庫安全管理規範

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70027825/viewspace-2948332/,如需轉載,請註明出處,否則將追究法律責任。

相關文章