[英]PostgreSQL local connection advice
好的,我們有一台VPS Linux機器,我們將在那里安裝一個PostgreSQL人作為數據源。
我們當然不會更改任何默認連接設置,而pg只接受本地連接。
所以問題是,我們是否應該使用postgresql保護(SSL)連接,而除了localhost之外不會接受任何IP?
您應該問問自己,您正在保護PostgreSQL的攻擊類型是什么?
您是否已准備好保護服務器機器免受損害,或者是否有人可以對其進行物理訪問? 如果是,那么您需要的不僅僅是SSL加密。 如果沒有,那么你必須假設本地機器相對安全,並且不需要在那里加密。 另見這個答案 。
通常,不需要加密本地連接。 加密連接的主要目的是保護您的數據(和密碼),使其能夠訪問服務器或PostgreSQL服務器與客戶端之間的線路。
目前尚不清楚為什么本地主機上的SSL是可取的。
另一方面,性能是在檢索大量數據時不使用它的一個很好的理由。 這是一個小型演示。
我從表bintest(b bytea)
獲取4.64 MB的bintest(b bytea)
。
通過未加密的Unix域套接字執行此操作大約需要25毫秒:
CPU:Intel(R)Xeon(R)CPU E31230 @ 3.20GHz(顯然包括AES指令 )。
$ psql -d demoml psql (9.3.4) Type "help" for help. demoml=> \o /dev/null demoml=> \timing Timing is on. demoml=> select * from bintest; Time: 26.713 ms demoml=> select * from bintest; Time: 25.613 ms
現在與加密的localhost相同:
$ psql -h localhost -d demoml Password for user manitou: psql (9.3.4) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. demoml=> \o /dev/null demoml=> \timing Timing is on. demoml=> select * from bintest; Time: 464.545 ms demoml=> select * from bintest; Time: 462.927 ms
在此測試中,TCP + SSL比未加密的Unix域套接字慢約460/18 = 18x (與未加密的localhost沒有明顯不同)。
在其他測試中,我還計划在PostgreSQL和libpq客戶端之間建立連接,並且使用SSL大約慢了5倍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.