簡體   English   中英

PostgreSQL本地連接建議

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM