欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

設(shè)置CA證書來(lái)強(qiáng)化PostgreSQL的安全性的教程

 更新時(shí)間:2015年04月21日 11:06:45   投稿:goldensun  
這篇文章主要介紹了設(shè)置CA證書來(lái)強(qiáng)化PostgreSQL的安全性的教程,主要用到了CA私鑰,需要的朋友可以參考下

在經(jīng)歷了多次的摸索實(shí)驗(yàn)后我終于成功地實(shí)現(xiàn)了SSL證書認(rèn)證的功能,因此我想這次我要把這些步驟記錄下來(lái)供日后查閱。

出于安全和方便的原因,我要在一臺(tái)單獨(dú)的專用機(jī)器上簽署客戶的證書,這臺(tái)機(jī)器也稱為 證書授證中心(CA)。

這讓我們?cè)谑跈?quán)新的客戶端時(shí)不必先登錄到PostgreSQL服務(wù)器然后再簽署證書或者修改pg_hba.conf。

我們要?jiǎng)?chuàng)建一個(gè)特殊的數(shù)據(jù)庫(kù)組,叫sslcertusers。這個(gè)組里的所有用戶都可以通過由CA簽署的證書進(jìn)行連接。

在下面的例子中,請(qǐng)將"trustly"替換成你的公司名或組織名。所有的命令都是基于Ubuntu Linux 12.04 LTS。
 
設(shè)置CA
CA應(yīng)該是一臺(tái)離線的處于高度安全環(huán)境中的計(jì)算機(jī)。

生成CA私鑰
 

sudo openssl genrsa -des3 -out /etc/ssl/private/trustly-ca.key 2048
sudo chown root:ssl-cert /etc/ssl/private/trustly-ca.key
sudo chmod 640 /etc/ssl/private/trustly-ca.key

生成CA證書
 

sudo openssl req -new -x509 -days 3650 \
-subj '/C=SE/ST=Stockholm/L=Stockholm/O=Trustly/CN=trustly' \
-key /etc/ssl/private/trustly-ca.key \
-out /usr/local/share/ca-certificates/trustly-ca.crt
sudo update-ca-certificates

配置PostgreSQL服務(wù)器
生成PostgreSQL服務(wù)器私鑰
 

# Remove default snakeoil certs
sudo rm /var/lib/postgresql/9.1/main/server.key
sudo rm /var/lib/postgresql/9.1/main/server.crt
# Enter a passphrase
sudo -u postgres openssl genrsa -des3 -out /var/lib/postgresql/9.1/main/server.key 2048
# Remove the passphrase
sudo -u postgres openssl rsa -in /var/lib/postgresql/9.1/main/server.key -out /var/lib/postgresql/9.1/main/server.key
sudo -u postgres chmod 400 /var/lib/postgresql/9.1/main/server.key

生成PostgreSQL服務(wù)器證書簽署請(qǐng)求(CSR)

 

sudo -u postgres openssl req -new -nodes -key /var/lib/postgresql/9.1/main/server.key -days 3650 -out /tmp/server.csr -subj '/C=SE/ST=Stockholm/L=Stockholm/O=Trustly/CN=postgres'

用CA私鑰簽署PostgreSQL服務(wù)器證書請(qǐng)求
 

sudo openssl req -x509 \
-key /etc/ssl/private/trustly-ca.key \
-in /tmp/server.csr \
-out /var/lib/postgresql/9.1/main/server.crt
sudo chown postgres:postgres /var/lib/postgresql/9.1/main/server.crt

創(chuàng)建根(root)證書=PostgreSQL服務(wù)器證書+CA證書
 

sudo -u postgres sh -c 'cat /var/lib/postgresql/9.1/main/server.crt /etc/ssl/certs/trustly-ca.pem > /var/lib/postgresql/9.1/main/root.crt'
sudo cp /var/lib/postgresql/9.1/main/root.crt /usr/local/share/ca-certificates/trustly-postgresql.crt
sudo update-ca-certificates

授權(quán)訪問
 

CREATE GROUP sslcertusers;
ALTER GROUP sslcertusers ADD USER joel;
 
# /etc/postgresql/9.1/main/pg_hba.conf:
hostssl nameofdatabase +sslcertusers 192.168.1.0/24 cert clientcert=1

重啟PostgreSQL
 

sudo service postgresql restart

PostgreSQL客戶端設(shè)置
從PostgreSQL服務(wù)器上復(fù)制根證書
 

mkdir ~/.postgresql
cp /etc/ssl/certs/trustly-postgresql.pem ~/.postgresql/root.crt

生成PostgreSQL客戶端私鑰
 

openssl genrsa -des3 -out ~/.postgresql/postgresql.key 1024
 
# If this is a server, remove the passphrase:
openssl rsa -in ~/.postgresql/postgresql.key -out ~/.postgresql/postgresql.key

生成PostgreSQL客戶端證書簽署請(qǐng)求并簽署
 

# Replace "joel" with username:
openssl req -new -key ~/.postgresql/postgresql.key -out ~/.postgresql/postgresql.csr -subj '/C=SE/ST=Stockholm/L=Stockholm/O=Trustly/CN=joel'
sudo openssl x509 -req -in ~/.postgresql/postgresql.csr -CA /etc/ssl/certs/trustly-ca.pem -CAkey /etc/ssl/private/trustly-ca.key -out ~/.postgresql/postgresql.crt -CAcreateserial
sudo chown joel:joel -R ~/.postgresql
sudo chmod 400 -R ~/.postgresql/postgresql.key

相關(guān)文章

  • DBeaver一款替代Navicat的數(shù)據(jù)庫(kù)可視化工具

    DBeaver一款替代Navicat的數(shù)據(jù)庫(kù)可視化工具

    這篇文章主要介紹了DBeaver一款替代Navicat的數(shù)據(jù)庫(kù)可視化工具,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 如何使用navicat遠(yuǎn)程連接openGauss

    如何使用navicat遠(yuǎn)程連接openGauss

    公司要在openEuler系統(tǒng)中安裝openGauss數(shù)據(jù)庫(kù),經(jīng)過幾天的查資料,終于是安裝成功了,并且能在navicat中遠(yuǎn)程連接使用,本文給大家介紹如何使用navicat遠(yuǎn)程連接openGauss,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 大數(shù)據(jù)量時(shí)提高分頁(yè)的效率

    大數(shù)據(jù)量時(shí)提高分頁(yè)的效率

    當(dāng)我們?cè)谔幚泶罅繑?shù)據(jù)的時(shí)候,就需要注意分頁(yè)的效率問題了,下面大家可以看看
    2009-03-03
  • Navicat運(yùn)行sql文件導(dǎo)入數(shù)據(jù)不全或?qū)胧〉慕鉀Q方案

    Navicat運(yùn)行sql文件導(dǎo)入數(shù)據(jù)不全或?qū)胧〉慕鉀Q方案

    最近導(dǎo)出數(shù)據(jù)庫(kù)到另一個(gè)服務(wù)器,遇到這個(gè)問題,下面這篇文章主要給大家介紹了關(guān)于Navicat運(yùn)行sql文件導(dǎo)入數(shù)據(jù)不全或?qū)胧〉慕鉀Q方案,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • 關(guān)于SQL注入中文件讀寫的方法總結(jié)

    關(guān)于SQL注入中文件讀寫的方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于SQL注入中文件的讀寫方法,文中通過示例代碼介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • 深入SQL中PIVOT 行列轉(zhuǎn)換詳解

    深入SQL中PIVOT 行列轉(zhuǎn)換詳解

    T-SQL語(yǔ)句中,Pivot運(yùn)算符用于在列和行之間對(duì)數(shù)據(jù)進(jìn)行旋轉(zhuǎn)或透視轉(zhuǎn)換,PIVOT命令可以實(shí)現(xiàn)數(shù)據(jù)表的列轉(zhuǎn)行,同時(shí)執(zhí)行聚合運(yùn)算,UNPIVOT則與其相反,實(shí)現(xiàn)數(shù)據(jù)的行轉(zhuǎn)列。
    2015-10-10
  • 談?wù)剶?shù)據(jù)庫(kù)的字段設(shè)計(jì)的幾個(gè)心得

    談?wù)剶?shù)據(jù)庫(kù)的字段設(shè)計(jì)的幾個(gè)心得

    今天小編就為大家分享一篇關(guān)于談?wù)剶?shù)據(jù)庫(kù)的字段設(shè)計(jì)的幾個(gè)心得,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • SQL中where子句與having子句的區(qū)別小結(jié)

    SQL中where子句與having子句的區(qū)別小結(jié)

    這篇文章主要給大家介紹了關(guān)于SQL中where子句與having子句的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 關(guān)于數(shù)據(jù)庫(kù)性能優(yōu)化中的表結(jié)構(gòu)優(yōu)化

    關(guān)于數(shù)據(jù)庫(kù)性能優(yōu)化中的表結(jié)構(gòu)優(yōu)化

    這篇文章主要介紹了關(guān)于數(shù)據(jù)庫(kù)性能優(yōu)化中的表結(jié)構(gòu)優(yōu)化,合理的表結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)庫(kù)的查詢效率和性能,而不合理的表結(jié)構(gòu)設(shè)計(jì)則可能導(dǎo)致查詢效率低下、數(shù)據(jù)冗余、數(shù)據(jù)不一致等問題,需要的朋友可以參考下
    2023-07-07
  • JDBC常用接口總結(jié)

    JDBC常用接口總結(jié)

    這篇文章主要介紹了JDBC常用接口總結(jié),以及部分使用代碼語(yǔ)句,需要的朋友可以參考下。
    2017-09-09

最新評(píng)論