iT邦幫忙

0

求救gitlab連線到外部的postgresql的密碼,如何用sha256??

我自己在liunx上架了一座gitlab(postgresql 不是用gitlab內部的),連接到另一台postgresql,連接過程很順利,

但是唯獨在gitlab.rb中gitlab_rails[db_password]想要改成sha256(現在是明碼),看了官網的教學,但沒有看到該怎麼設定?

看更多先前的討論...收起先前的討論...
DanSnow iT邦研究生 5 級 ‧ 2021-04-27 13:44:25 檢舉
那個密碼是 db 的密碼吧,那就是 pg 那邊在驗證的,你用明碼或用 sha256 都是一樣的啊,因為你就算真的是改成用 sha256 ,你也只是讓 pg 把這個東西當成密碼而已,就像你在網頁登入是輸入明碼還是輸入 sha256 後的密碼,不知道你有沒有理解我的意思,而且這樣還變相的限制了長度
DanSnow iT邦研究生 5 級 ‧ 2021-04-27 13:46:19 檢舉
你要做的應該是
1. 確保這兩台間的連線是安全的
2. 確保沒有不該碰到設定檔的人能看到設定檔
a79011088 iT邦新手 5 級 ‧ 2021-04-27 14:04:11 檢舉
先感謝回答~~~
1.兩台連線日後會走ssl
2.不確定有誰可以看到設定檔,因此才想說用sha256來隱藏db的密碼

我在pq內下指令select rolname,rolpassword from pg_authid;
會得到一串SCRAM-SHA-256$4096:xxxxxxxxxxx:uuuuuuuuu的字串,這段字串是可以直接放在gitlab_rails[db_password]的value中嗎?
DanSnow iT邦研究生 5 級 ‧ 2021-04-28 22:47:02 檢舉
我覺得你還是有點誤會,不管你放什麼東西, pg 的驗證方式簡單來說大概都會是「hash(輸入的密碼) == 儲存的 hash」,也就是不管你密碼放什麼,對於 pg 來說那個都叫做「明文」,你該在意的真的不是你的密碼是不是放明文在那,而是誰可以看到,而且那種格式… 我想高機率不行,那看起來像是有標記演算法跟 salt 的 hash ,這種 hash 不用原文是沒辦法驗證的,不可能用原文產生兩個不同的 hash 來比較
DanSnow iT邦研究生 5 級 ‧ 2021-04-28 22:53:44 檢舉
再換個說法好了,你放密碼在那邊的目的是不是要讓 Gitlab 可以登入 DB 存取它的資料,那是不是代表那個密碼一定可以登入,那它可以登入,是不是就沒道理我以同樣的密碼用其它的客戶端就沒辦法登入,除非你的 pg 還有黑魔法能驗證 Client 是什麼,你如果沒辦法保證設定檔不被人看到,那就保證那個帳號只存取 Gitlab 必要的資訊吧,雖然 Gitlab 的資訊外洩傷害通常也不小就是了
a79011088 iT邦新手 5 級 ‧ 2021-04-29 09:16:17 檢舉
我了解了,不管我在這欄位放了任何編碼形式的隱碼,對pg來說都是明碼,
所以我的根本解決是想辦法讓gitlab.rb這個檔案內容不能夠讓人隨意看到,
如果不能限制這個檔案內容可以觀看的權限,即便我在裡面放隱碼,別人看到還是可以利用隱碼去做DB登入,我這樣說對嗎?
DanSnow iT邦研究生 5 級 ‧ 2021-04-29 09:46:35 檢舉
對,說到底,既然密碼叫做密碼我覺得是有原因的,密就是要保密,因為這個東西不管是以什麼樣的型式外洩都會有問題

尚未有邦友回答

立即登入回答