輕量級的企業用 PostgreSQL 安全管理策略

CYBERSEC 2020 臺灣資安大會

古哥
古哥
Aug 12 · 4 min read

本篇分享設定對像為初入 PostgreSQL 資料庫系統的組織或企業。眾所皆知,安全和方便一直是需要取得平衡的,所以本篇先提供初步可以思考的安全策略方向。它們必須要與你的企業文化與系統環境綜合考量,在可供長期運作的前提下,才是當下適當的策略。

本篇以連線過程區分,連線前、連線中、連線後,方便在實際操作時聯想其應有的配置方式。在此之前,還是先強調,人員的安全意識,才是安全配置最重要的一環。

瀏覽簡報

Image for post
Image for post
輕量級的企業用 PostgreSQL 安全管理策略

現實=安全、方便、合規

安全是必須和現實接軌的,如果不是可以讓維運人員每日執行的安全策略就沒有意義。合規的標的時常是定義模糊的法規或標準,訂定可以明確執行的管理辦法是比較有效率的方式。

所謂的「安全」很多人的想像是外部的惡意入侵,但現實上多數造成資料庫無法運作反而是同仁們的「手滑」。所以安全策略反而更多的措施是要協助同仁們可以安心作業,自然防呆。

連線前

連線前的重點在於避免不小心連入資料庫。這在多應用程式的開發環境下很容易發生。因為每個團隊都有命名及結構設定的慣性,時常會不知道自己連錯資料庫,就可能會造成資料損壞的風險。關於資料庫連線及預設的權限可以參閱「PostgreSQL 預設權限設定

pgBouncer 作為 Connection Pool,除了效率以外,也順帶提供了安全性的提升,因為資料庫系統可以安心地處理眼前的工作就好,即使應用程式佈署異常,大量開啓資料庫連線無法中止,都不會影響資料庫的正常作業。細節請另參閱「你當然需要 PgBouncer 啊」。

限制 postgres 登入途徑是值得採用的策略,如同 Linux 環境的安全策略都會回收 root 一樣,因為權力影響大,又無法追蹤軌跡。合併於 sudo 一同管理可以簡化安全規則,是很理想的方式。不設密碼是規避組織有密碼變更的安全規則,沒有密碼就不需要變更密碼。

連線中

避免不小心越權更新資料,不論你是手滑還是故意的,對資料庫的傷害都很巨大。由於 PostgreSQL 預設權限是比較大的,在安全的前提下,儘量先縮小權限,當操作到無法操作時再確認業務需求是否真的需要更大的權限,逐漸符合正常應俱備的權限範圍。

Timeout 方面的設定是不得已的,畢竟很多查詢都是要執行了才知道結果,也才能累積經驗和記錄,但停損點是必須的。避免浪費時間等待有高可能性失敗的查詢,提早失敗是好的結果。另可參閱「保護自己,善待他人」。

資料遮蔽雖然並不是所有行業都需要,但也可以視為一種製造測試資料的方式。保持測試系統面對測試資料,正式系統使用正式資料的習慣,可以減少許多意外的發生。

連線後

「亡羊補牢,未為遲也」,完全的安全是不可能做到的事,但至少要有亡羊補牢的準備,其中「備份」永遠是必須要做的事。即使有增量備份這樣的功能可以使用,還是必須要時常重新再做完整備份。因為每次的增量備份只要有一次失敗沒有被發現,等於接下來的備份都沒有意義了。

由於 PostgreSQL 相對來說是注重符合 SQL 標準的資料庫系統,所以指令的相容性也很高。所以如果可以的話,請儘量升級到最新版本,在安全和效能上都可以取得更大的優勢。

磁碟空間在 PostgreSQL 的設計上是沒有管理的,全權交給作業系統處理,所以當交易的當下磁碟空間不足的時候,反而限制了維護工作的進行,因為連刪資料都沒有辦法(會需要先寫入 transaction log)。額外在資料庫以外進行磁碟空間的超前佈署就變得十分重要了,這個部份的建議可以參閱「你的資料庫有87%機率超過用量」。

先保護自己人不會搞死自己

資料庫安全的三個要素:Confidentiality、Integrity、Availability。只要任何一項被破壞,資料庫不再被信任可以好好保存資料的時候,就是不安全了。

在導入資料庫系統的初期,更多的安全風險來自於操作的不熟悉。如果能利用安全策略來養成具有安全意識的操作習慣,其實就已經可以安心渡過大多數的安全危機了。

pgsql-tw

這裡是 PostgreSQL 台灣使用者社群,歡迎任何人投稿!

古哥

Written by

古哥

解決不了問題,就解決提出問題的人

pgsql-tw

pgsql-tw

你懂資料庫,資料庫就會幫你🐘

古哥

Written by

古哥

解決不了問題,就解決提出問題的人

pgsql-tw

pgsql-tw

你懂資料庫,資料庫就會幫你🐘

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store