postgresql 备份_等保涉及的PostgreSQL数据库
一、訪問控制
1. 應及時刪除或停用多余的、過期的賬戶,避免共享賬戶的存在
查看當前已有賬戶,詢問管理員是否存在多余過期賬戶
2. 應授予管理用戶所需的最小權限,實現管理用戶的權限分離
這個管理用戶的權限分離,像安全設備那種的三權分立用戶,個人認為數據庫層面不太好實現,一般不符合,要不就詢問客戶取證。
3. 應由授權主體配置訪問控制策略,訪問控制策略規定主體對客體的訪問規則
確認各用戶的操作權限,例如:賦予zfy角色所有表的查詢權限
然后查詢這個用戶對應表的權限,就均擁有了select權限。
這里的授權主體一般為數據庫管理員,對應的賬戶postgres,然后給zfy這個賬戶授予了select權限,也就是訪問控制規則了。
4. 訪問控制的粒度應達到主體為用戶級或進程級,客體為文件、數據庫表級
這個感覺是流氓條款。。。不知道我的理解對不對
看字面意識就是要主體為用戶,客體為數據庫表級?所以就是需要每一張表單獨給用戶授權,不能授權整個庫或者全局權限,就是權限這塊需要做的更細致,這個感覺一般都做不到。
查看訪問控制策略規則,確認是否達到用戶級、數據庫表級。
如果有多個角色super之類的肯定不符合,這樣粒度就不是表級了。
5. 應對重要主體和客體設置安全標記,并控制主體對有安全標記信息資源的訪問
敏感標記,這個數據庫應該沒有自帶這個功能。
二、安全審計
1. 應啟用安全審計功能,審計覆蓋到每個用戶,對重要的用戶行為和重要安全事件進行審計
PostgreSQL有3種日志:
pg_log(數據庫運行日志) ? 內容可讀 ? ?默認關閉的,需要設置參數啟動
pg_xlog(WAL 日志,即重做日志) ? ?內容一般不具有可讀性 ? ? ? ?強制開啟
pg_clog(事務提交日志,記錄的是事務的元數據) ?內容一般不具有可讀性 ? ?強制開啟
1.1 pg_log
作用:這個日志一般是記錄服務器與DB的狀態,比如各種Error信息,定位慢查詢SQL,數據庫的啟動關閉信息,發生checkpoint過于頻繁等的告警信息,諸如此類。該日志有.csv格式和.log。建議使用.csv格式,因為它一般會按大小和時間自動切割,畢竟查看一個巨大的日志文件比查看不同時間段的多個日志要難得多。pg_log是可以被清理刪除,壓縮打包或者轉移,同時并不影響DB的正常運行。當我們有遇到DB無法啟動或者更改參數沒有生效時,第一個想到的就是查看這個日志。
日志配置文件
在$PGDATA/postgresql.conf文件:
涉及的參數:
涉及的參數有:
logging_collector ? ? ?—是否開啟日志收集開關,默認off,開啟要重啟DB
log_destination ? ?—日志記錄類型,默認是stderr,只記錄錯誤輸出
log_directory ? ? ?—日志路徑,默認是$PGDATA/pg_log, 這個目錄最好不要和數據文件的目錄放在一起, 目錄需要給啟動postgres的操作系統用戶寫權限.
logfilename ? ? ? —日志名稱,默認是postgresql-%Y-%m-%d%H%M%S.log
log_file_mode ? --日志文件類型,默認為0600
log_truncate_on_rotation ?--默認為off,設置為on的話,如果新建了一個同名的日志文件,則會清空原來的文件,再寫入日志,而不是在后面附加。
log_rotation_age ? —保留單個文件的最大時長,默認是1d,也有1h,1min,1s,個人覺得不實用
log_rotation_size ?—保留單個文件的最大尺寸,默認是10MB
log_error_verbosity --默認為default,verbose表示冗長的
log_connections ? ?—用戶session登陸時是否寫入日志,默認off
log_disconnections —用戶session退出時是否寫入日志,默認off
1.2 px_log
代表WAL日志,即重做日志
作用:這個日志是記錄的Postgresql的WAL信息,也就是一些事務日志信息(transaction log)。默認單個大小是16M,源碼安裝的時候可以更改其大小(./configure —with-wal-segsize=target_value 參數,即可設置)這些日志會在定時回滾恢復(PITR), 流復制(Replication Stream)以及歸檔時能被用到,這些日志是非常重要的,記錄著數據庫發生的各種事務信息,不得隨意刪除或者移動這類日志文件,不然你的數據庫會有無法恢復的風險
WAL:PostgreSQL在將緩存的數據刷入到磁盤之前,先寫日志, 這就是PostgreSQL WAL ( Write-Ahead Log )方式,也就是預寫日志方式
日志目錄:
在$PGDATA目錄下
不可讀
1.3 pg_clog
pg_clog這個文件也是事務日志文件,但與pg_xlog不同的是它記錄的是事務的元數據(metadata),這個日志告訴我們哪些事務完成了,哪些沒有完成。這個日志文件一般非常小,但是重要性也是相當高,不得隨意刪除或者對其更改信息。
1.4 等保查看點
那么在我們測評的時候,一般會查詢以下參數:
1)開啟數據庫運行日志(pg_log)收集
show logging_collector; —是否開啟日志收集,默認off
2)其他一些日志配置
show log_destionation; —日志記錄類型,默認是stderr,只記錄錯誤輸出
show log_directory; —日志路徑,默認是$PGDATA/pg_log
show logfilename; —日志名稱,默認是postgresql-%Y-%m-%d%H%M%S.log
show log_connections; —用戶session登錄時是否寫入日志,默認off
show log_disconnections; —用戶session退出時是否寫入日志,默認off
show log_statement; —記錄用戶登錄數據庫后的各種操作
log_statement參數值:
none,不記錄
ddl,記錄create,drop,和alter
mod,記錄ddl+insert,delete,update和truncate
all,mod+select
2. 審計記錄應包括事件的日期和時間、用戶、事件類型、事件是否成功及其他與審計相關的信息
2.1 查看數據庫當前時間
2.2 查看日志文件
1) 查看$PGDATA目錄postgresql文件
log_line_prefix參數
也可使用命令查看
2)位置:在$PGDATA目錄下的:
查看其中一條日志,默認包含事件的時間、日期、主客體標識等:
3. 應對審計記錄進行保護,定期備份,避免受到未預期的刪除、修改或覆蓋等
1)查看存儲在本機的日志文件權限
查看log_file_mode參數:
在操作系統本地生成的也就是600權限
2)本機輪替規則
查看 log_truncate_on_rotation參數,需為開啟狀態
再查看log_filename參數,默認參數如下:
產生的日志文件,每天產生一個,不輪替:
為了讓日志文件自動覆蓋,達到保留多少日志的目的,可以進行如下設置:
log_truncate_on_rotation = on
log_filename = ‘postgresql-%I.log’ #最多保存12小時的日志,每小時一個文件
log_filename = ‘postgresql-%H.log’ #最多保存24小時的日志,每小時一個文件
log_filename = ‘postgresql-%w.log’ #最多保存一周的日志,每天一個文件
log_filename = ‘postgresql-%d.log’ #最多保存一個月的日志,每天一個文件
log_filename = ‘postgresql-%j.log’ #最多保存一年的日志,每天一個文件
3)備份
現場核查用戶是否有備份措施,日志保存時間是否達到6個月以上。
4. 應對審計進程進行保護,防止未經授權的中斷
審計進程的開關:
1)super權限賬戶
無法直接關閉,需要重啟服務才行
其他一些參數能修改
2)普通賬戶無權限
給他授權super權限賬戶后即可
結論:
logging_collector僅具有重啟服務權限的賬戶具有。
其余一些權限設置,查看用戶權限,具有superuser權限用戶可操作
三、入侵防范
1. 應遵循最小安裝的原則,僅安裝需要的組件和應用程序
不適用
2. 應關閉不需要的系統服務、默認共享和高危端口
不適用
3. 應通過設定終端接入方式或網絡地址范圍對通過網絡進行管理的管理終端進行限制
1)確認監聽地址
進入$PGDATA目錄,查看postgresql.con文件,linsten addresses參數,* 代表監聽所有地址。
2)確認遠程管理地址
查看$PGDATA目錄下的pg_hba文件:
確認ADDRESS字段是否進行了地址限制
4. 應提供數據有效性檢驗功能,保證通過人機接口輸入或通過通信接口輸入的內容符合系統設定要求
不適用
5. 應能發現可能存在的已知漏洞,并在經過充分測試評估后,及時修補漏洞
根據國標要求也就是要做兩點:
1)需要對數據庫進行漏洞掃描(其他發現風險的方式也行),確認是否存在高風險漏洞;
2)在對系統補丁進行更新時,需要進行充分的測試評估,也就是要留存相關測試評估證據,然后還要看是否及時對該漏洞進行修補。
6. 應能夠檢測到對重要節點進行入侵的行為,并在發生嚴重入侵事件時提供報警
該測評點一般在數據庫服務器上體現,數據庫不適用
總結
該數據庫的等保要求個人認為大致是這樣的,剩下的還有數據完整性、保密性、個人信息保護相關條款,有時間再更吧。
精彩推薦
總結
以上是生活随笔為你收集整理的postgresql 备份_等保涉及的PostgreSQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python网页版_经典python学习
- 下一篇: android 子module混淆_An