PostgreSQLCó hỗ trợ gốc để sử dụngPostgreSQL: TàKết kèo bóng đá cúp c2 để mã hóa giao tiếp máy khách/máy chủ để tăng bảo mật. Điều này yêu cầu rằngOpenSSLđược cài đặt trên cả hệ thống máy khách và máy chủ và hỗ trợ trongPostgreSQLđược bật tại thời điểm xây dựng (xemChương 17).
Các thuật ngữkèo bóng đá cúp c2vàTLSthường được sử dụng thay thế cho nhau có nghĩa là kết kèo bóng đá cúp c2 được mã hóa an toàn bằng cách sử dụngTLSGiao thức.kèo bóng đá cúp c2Giao thức là tiền thân củaTLSGiao thức và thuật ngữkèo bóng đá cúp c2vẫn được sử dụng cho các kết kèo bóng đá cúp c2 được mã hóa mặc dùkèo bóng đá cúp c2Giao thức không còn được hỗ trợ.kèo bóng đá cúp c2được sử dụng thay thế choTLSinPostgreSQL.
kèo bóng đá cúp c2kèo bóng đá cúp c2Hỗ trợ biên dịch trong,PostgreSQLMáy chủ có thể được bắt đầu kèo bóng đá cúp c2 sự hỗ trợ cho các kết nối được mã hóa bằng cách sử dụngTLSGiao thức được bật bằng cách đặt tham sốkèo bóng đá cúp c2đếntrên
inPostgreSql.conf
. Máy chủ sẽ lắng nghe cả bình thường vàPostgresql: TàKết nối trên cùng một cổng TCP và sẽ thương lượng kèo bóng đá cúp c2 bất kỳ máy khách kết nối nào về việc có sử dụngkèo bóng đá cúp c2. Theo mặc định, đây là tùy chọn của khách hàng; nhìn thấyPhần 21.1Giới thiệu về cách thiết lập máy chủ để yêu cầu sử dụngkèo bóng đá cúp c2Đối kèo bóng đá cúp c2 một số hoặc tất cả các kết nối.
Để bắt đầu trongkèo bóng đá cúp c2MODE, các tệp chứa chứng chỉ máy chủ và khóa riêng phải tồn tại. Theo mặc định, các tệp này dự kiến sẽ được đặt tênserver.crt
vàserver.key
, tương ứng, trong thư mục dữ liệu của máy chủ, nhưng các tên và vị trí khác có thể được chỉ định bằng cách sử dụng tham số cấu hìnhSSL_CERT_FILEvàSSL_KEY_FILE.
Trên các hệ thống UNIX, các quyền trênserver.key
phải không cho phép mọi quyền truy cập vào thế giới hoặc nhóm; Đạt được điều này bằng lệnhChmod 0600 Server.key
. Ngoài ra, tệp có thể được sở hữu bởi root và có quyền truy cập đọc nhóm (nghĩa là0640
quyền). Thiết lập đó được dành cho các cài đặt trong đó chứng chỉ và các tệp khóa được quản lý bởi hệ điều hành. Người dùng theo đóPostgreSQL15193_15301
15311_15696
Nếu khóa riêng được bảo vệ bằng cụm mật khẩu, máy chủ sẽ nhắc cho cụm mật khẩu và sẽ không bắt đầu cho đến khi nó được nhập. Sử dụng cụm mật khẩu theo mặc định vô hiệu hóa khả năng thay đổi cấu hình kèo bóng đá cúp c2 của máy chủ mà không cần khởi động lại máy chủ, nhưng xemSSL_Passphrase_Command_Supports_Reload. Hơn nữa, các khóa riêng được bảo vệ bằng cụm mật khẩu không thể được sử dụng ở tất cả các cửa sổ.
Chứng chỉ đầu tiên trongserver.crt
phải là chứng chỉ của máy chủ vì nó phải khớp kèo bóng đá cúp c2 khóa riêng của máy chủ. Giấy chứng nhậnTrung cấpHồiCơ quan chứng chỉ cũng có thể được thêm vào tệp. Làm điều này tránh sự cần thiết của việc lưu trữ chứng chỉ trung gian trên máy khách, giả sử các chứng chỉ gốc và trung gian đã được tạo bằngV3_CA
Tiện ích mở rộng. (Điều này đặt ràng buộc cơ bản của chứng chỉCA
đếnTRUE
.) Điều này cho phép hết hạn các chứng chỉ trung gian dễ dàng hơn.
Không cần thiết phải thêm chứng chỉ gốc vàoserver.crt
. Thay vào đó, khách hàng phải có chứng chỉ gốc của chuỗi chứng chỉ của máy chủ.
PostgreSQLĐọc toàn hệ thốngOpenSSLTệp cấu hình. Theo mặc định, tệp này được đặt tênopenSSL.cnf
và nằm trong thư mục được báo cáo bởiOpenSSL phiên bản -D
. Mặc định này có thể được ghi đè bằng cách đặt biến môi trườngopenSSL_conf
kèo bóng đá cúp c2 tên của tệp cấu hình mong muốn.
OpenSSLHỗ trợ một loạt các mật mã và thuật toán xác thực, có sức mạnh khác nhau. Trong khi một danh sách các mật mã có thể được chỉ định trongOpenSSLTệp cấu hình, bạn có thể chỉ định các mật mã cụ thể để sử dụng bởi máy chủ cơ sở dữ liệu bằng cách sửa đổiSSL_CIPHERSinPostgreSql.conf
.
Có thể có xác thực mà không cần mã hóa chi phí bằng cách sử dụngnull-sha
hoặcNULL-MD5
mật mã. Tuy nhiên, một người đàn ông có thể đọc và truyền thông tin liên lạc giữa máy khách và máy chủ. Ngoài ra, chi phí mã hóa là tối thiểu so kèo bóng đá cúp c2 chi phí xác thực. Vì những lý do này không được khuyến khích.
Để yêu cầu khách hàng cung cấp chứng chỉ đáng tin cậy, đặt chứng chỉ của cơ quan chứng chỉ gốc (CAs) Bạn tin tưởng vào một tệp trong thư mục dữ liệu, đặt tham sốSSL_CA_FILEinPostgreSql.conf
vào tên tệp mới và thêm tùy chọn xác thựcclientCert = xác minh-ca
hoặcclientCert = xác minh-đầy đủ
đến thích hợphostssl
dòng trongpg_hba.conf
. Một chứng chỉ sau đó sẽ được yêu cầu từ máy khách trong khi khởi động kết nối kèo bóng đá cúp c2. (Nhìn thấyPhần 34.19Để biết mô tả về cách thiết lập chứng chỉ trên máy khách.)
19880_19888hostssl
mục nhập kèo bóng đá cúp c2clientCert = xác minh-ca
, máy chủ sẽ xác minh rằng chứng chỉ của khách hàng được ký bởi một trong các cơ quan chứng chỉ đáng tin cậy. Nếu nhưclientCert = xác minh-đầy đủ
được chỉ định, máy chủ sẽ không chỉ xác minh chuỗi chứng chỉ mà còn kiểm tra xem tên người dùng hay ánh xạ của nó có khớp kèo bóng đá cúp c2CN
(Tên chung) của chứng chỉ được cung cấp. Lưu ý rằng xác thực chuỗi chứng chỉ luôn được đảm bảo khicert
Phương thức xác thực được sử dụng (xemPhần 21.12).
Chứng chỉ trung gian chuỗi lên đến chứng chỉ gốc hiện tại cũng có thể xuất hiện trongSSL_CA_FILETệp nếu bạn muốn tránh lưu trữ chúng trên máy khách (giả sử các chứng chỉ gốc và trung gian được tạo bằng20939_20946
Phần mở rộng). Các mục nhập Danh sách thu hồi chứng chỉ (CRL) cũng được kiểm tra nếu tham sốSSL_CRL_FILEhoặcSSL_CRL_DIRđược đặt.
TheclientCert
Tùy chọn xác thực có sẵn cho tất cả các phương thức xác thực, nhưng chỉ trongpg_hba.conf
Các dòng được chỉ định làhostssl
. KhiclientCert
21503_21654
Có hai cách tiếp cận để thực thi rằng người dùng cung cấp chứng chỉ trong quá trình đăng nhập.
Cách tiếp cận đầu tiên sử dụngcert
Phương thức xác thực chohostssl
Mục nhập trongpg_hba.conf
, bản thân chứng chỉ được sử dụng để xác thực đồng thời cung cấp bảo mật kết nối kèo bóng đá cúp c2. Nhìn thấyPhần 21.12Để biết chi tiết. (Không cần thiết phải chỉ định bất kỳclientCert
Tùy chọn rõ ràng khi sử dụngcert
Phương thức xác thực.) Trong trường hợp này,CN
(Tên chung) Được cung cấp trong chứng chỉ được kiểm tra đối kèo bóng đá cúp c2 tên người dùng hoặc ánh xạ áp dụng.
Cách tiếp cận thứ hai kết hợp bất kỳ phương thức xác thực nào chohostssl
Mục nhập kèo bóng đá cúp c2 việc xác minh chứng chỉ máy khách bằng cách đặtclientCert
Tùy chọn xác thực thànhXác minh-CA
hoặcxác minh-đầy đủ
. Tùy chọn trước chỉ thực thi rằng chứng chỉ là hợp lệ, trong khi cái sau cũng đảm bảo rằngCN
(tên chung) trong chứng chỉ khớp kèo bóng đá cúp c2 tên người dùng hoặc ánh xạ áp dụng.
Bảng 19.2Tóm tắt các tệp có liên quan đến thiết lập kèo bóng đá cúp c2 trên máy chủ. (Tên tệp được hiển thị là tên mặc định. Các tên được cấu hình cục bộ có thể khác nhau.)
Bảng 19.2. Sử dụng tệp máy chủ kèo bóng đá cúp c2
Tệp | Nội dung | Hiệu ứng |
---|---|---|
SSL_CERT_FILE($ pgdata/server.crt ) |
24320_24340 | Đã gửi đến máy khách để chỉ ra danh tính của máy chủ |
SSL_KEY_FILE(24577_24597 ) |
Phím riêng của máy chủ | Chứng chỉ máy chủ được gửi bởi chủ sở hữu; không cho biết chủ sở hữu chứng chỉ là đáng tin cậy |
SSL_CA_FILE | Cơ quan chứng chỉ đáng tin cậy | Kiểm tra xem chứng chỉ máy khách có được ký bởi cơ quan chứng chỉ đáng tin cậy |
SSL_CRL_FILE | Chứng chỉ bị thu hồi bởi cơ quan chứng chỉ | Chứng chỉ máy khách không được có trong danh sách này |
Máy chủ đọc các tệp này khi khởi động máy chủ và bất cứ khi nào cấu hình máy chủ được tải lại. TRÊNWindowsHệ thống, chúng cũng được đọc lại bất cứ khi nào một quy trình phụ trợ mới được sinh ra cho kết kèo bóng đá cúp c2 máy khách mới.
Nếu một lỗi trong các tệp này được phát hiện khi khởi động máy chủ, máy chủ sẽ từ chối khởi động. Nhưng nếu một lỗi được phát hiện trong quá trình tải lại cấu hình, các tệp sẽ bị bỏ qua và cấu hình kèo bóng đá cúp c2 cũ tiếp tục được sử dụng. TRÊNWindowsHệ thống, nếu một lỗi trong các tệp này được phát hiện khi bắt đầu phụ trợ, phần phụ trợ đó sẽ không thể thiết lập kết nối kèo bóng đá cúp c2. Trong tất cả các trường hợp này, điều kiện lỗi được báo cáo trong nhật ký máy chủ.
26472_26571OpenSSLlệnh, thay thếdbhost.yourdomain.com
kèo bóng đá cúp c2 tên máy chủ của máy chủ:
26758_26857dbhost.yourdomain.com
"
Sau đó, làm:
Chmod OG-RWX Server.key
Vì máy chủ sẽ từ chối tệp nếu quyền của nó tự do hơn thế này. Để biết thêm chi tiết về cách tạo khóa và chứng chỉ riêng của máy chủ của bạn, hãy tham khảoOpenSSLTài liệu.
27260_27368CA) (thường là gốc toàn doanh nghiệpCA) nên được sử dụng trong sản xuất.
Để tạo chứng chỉ máy chủ có danh tính có thể được xác thực bởi các máy khách, trước tiên hãy tạo yêu cầu ký chứng chỉ (CSR) và tệp khóa công khai/riêng tư:
openSSL req -new -nodes -text -out root.csr \
-keyout root.key -subj "/cn =root.yourdomain.com
"
chmod og-rwx root.key
Sau đó, hãy ký vào yêu cầu bằng khóa để tạo thẩm quyền chứng chỉ gốc (sử dụng mặc địnhOpenSSLVị trí tệp cấu hình trênLinux):
openSSL X509 -Req -in root.csr -text -way 3650 \ -EXTFILE /ETC/kèo bóng đá cúp c2/openssl.cnf -Extensions v3_ca \ -SignKey root.key -out root.crt
Cuối cùng, hãy tạo chứng chỉ máy chủ được ký bởi Cơ quan chứng chỉ gốc mới:
openSSL req -new -nodes -text -out server.csr \
-keyout server.key -subj "/cn =dbhost.yourdomain.com
"
Chmod OG-RWX Server.Key
OpenSSL X509 -Req -in server.csr -text -way 365 \
-Ca root.crt -cakey root.key -cacreateserial \
-out server.crt
server.crt
vàserver.key
nên được lưu trữ trên máy chủ vàroot.crt
28896_29034root.key
nên được lưu trữ ngoại tuyến để sử dụng để tạo chứng chỉ trong tương lai.
Cũng có thể tạo một chuỗi niềm tin bao gồm các chứng chỉ trung gian:
# Root openSSL req -new -nodes -text -out root.csr \ -keyout root.key -subj "/cn =root.yourdomain.com
" Chmod OG-RWX Root.Key OpenSSL X509 -req -in root.csr -Text -ways 3650 \ -EXTFILE /ETC/kèo bóng đá cúp c2/openssl.cnf -Extensions v3_ca \ -signkey root.key -out root.crt # trung cấp openSSL req -new -nodes -text -out idmediate.csr \ -Keyout trung gian.key -subj "/cn =trung gian.yourdomain.com
" Chmod OG-RWX trung gian.KEY OpenSSL X509 -Req -in idmediate.csr -text -ways 1825 \ -EXTFILE /ETC/kèo bóng đá cúp c2/openssl.cnf -Extensions v3_ca \ -Ca root.crt -cakey root.key -cacreateserial \ -Out trung gian.crt # lá cây openSSL req -new -nodes -text -out server.csr \ -keyout server.key -subj "/cn =dbhost.yourdomain.com
" Chmod OG-RWX Server.Key OpenSSL X509 -Req -in server.csr -text -way 365 \ -Ca trung gian.crt -cakey trung gian.key -cacreateserial \ -out server.crt
server.crt
vàtrung gian.crt
nên được kèo bóng đá cúp c2 thành gói tệp chứng chỉ và được lưu trữ trên máy chủ.30489_30501
cũng nên được lưu trữ trên máy chủ.root.crt
30582_30754root.key
vàtrung gian.key
nên được lưu trữ ngoại tuyến để sử dụng để tạo chứng chỉ trong tương lai.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn kèo bóng đá cúp c2 tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.