PostgreSQL: soi kèo bóng đá | |||
---|---|---|---|
prev | UP | Chương 17. Thiết lập và vận hành máy chủ | Tiếp theo |
PostgreSQLCó hỗ trợ gốc để sử dụngkèo bóng đá hôm nay và ngàykèo chấp bóng đá hôm nay để 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 15).
kèo chấp bóng đá hôm naykèo chấp bóng đá hôm nayHỗ trợ biên dịch trong,PostgreSQLMáy chủ có thể được bắt đầu bằngkèo chấp bóng đá hôm nayđược bật bằng cách đặt tham sốkèo chấp bóng đá hôm nayđếntrêninPostgreSql.conf. Máy chủ sẽ lắng nghe cả bình thường vàPostgreSQL:Kết nối trên cùng một cổng TCP và sẽ thương lượng kèo chấp bóng đá hôm nay bất kỳ máy khách kết nối nào về việc có sử dụngkèo chấp bóng đá hôm nay. Theo mặc định, đây là tùy chọn của khách hàng; nhìn thấyPhần 19.1Giới thiệu về cách thiết lập máy chủ để yêu cầu sử dụngkèo chấp bóng đá hôm nayĐối kèo chấp bóng đá hôm nay một số hoặc tất cả các kết nối.
PostgreSQLĐọc toàn hệ thốngOpenSSLTệp cấu hình. Theo mặc định, tệp này được đặt tênopenSSL.cnfvà 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_confkèo chấp bóng đá hôm nay 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 máy chủ cơ sở dữ liệu bằng cách sửa đổiSSL_CIPHERSinPostgreSql.conf.
Lưu ý:Có thể có xác thực mà không cần mã hóa chi phí bằng cách sử dụngnull-shahoặcNULL-MD5mậ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 chấp bóng đá hôm nay chi phí xác thực. Vì những lý do này không được khuyến khích.
Để bắt đầu trongkèo chấp bóng đá hôm nayMODE, 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.crtvà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ác tham số cấu hìnhSSL_CERT_FILEvàSSL_KEY_FILE. Trên các hệ thống UNIX, các quyền trên14145_14157phả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.key14279_14421
Chứng chỉ đầu tiên trongserver.crtphải là chứng chỉ của máy chủ vì nó phải khớp kèo chấp bóng đá hôm nay khóa riêng của máy chủ. Giấy chứng nhận"Trung cấp"Cơ 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_CATiệ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ủ.
Để 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.confvào tên tệp mới và thêm tùy chọn xác thựcclientCert = 1đến thích hợphostssldò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èo chấp bóng đá hôm nay SSL. (Nhìn thấyPhần 31,18Để biết mô tả về cách thiết lập chứng chỉ trên máy khách.) 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.
16221_16321root.crtNế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ằngV3_CAPhầ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_FILEđược đặt.
TheclientCertTùy chọn trongpg_hba.confCó sẵn cho tất cả các phương thức xác thực, nhưng chỉ cho các hàng được chỉ định làhostssl. KhiclientCert16914_17116
Nếu bạn đang thiết lập chứng chỉ máy khách, bạn có thể muốn sử dụngcertPhương thức xác thực, để chứng chỉ kiểm soát xác thực người dùng cũng như cung cấp bảo mật kèo chấp bóng đá hôm nay. Nhìn thấyPhần 19.3.917397_17412
Bảng 17-2Tóm tắt các tệp có liên quan đến thiết lập kèo chấp bóng đá hôm nay trên máy chủ. (Tên tệp được hiển thị là tên mặc định hoặc điển hình. Các tên được cấu hình cục bộ có thể khác nhau.)
Bảng 17-2. Sử dụng tệp máy chủ kèo chấp bóng đá hôm nay
FILE | Nội dung | Hiệu ứng |
---|---|---|
SSL_CERT_FILE($ pgdata/server.crt) | Chứng chỉ máy chủ | Đã gửi cho máy khách để biểu thị danh tính của máy chủ |
SSL_KEY_FILE($ pgdata/server.key) | Phím tư nhân máy chủ | chứng minh 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($ pgdata/root.crt) | trusted certificate authorities | 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($ pgdata/root.crl) | 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 |
Các tệpserver.key, server.crt, root.crtvàroot.crl(hoặc tên thay thế được cấu hình của chúng) chỉ được kiểm tra trong khi khởi động máy chủ; Vì vậy, bạn phải khởi động lại máy chủ để các thay đổi trong chúng có hiệu lực.
Để tạo chứng chỉ tự ký đơn giản cho máy chủ, có giá trị trong 365 ngày, sử dụng những điều sau sauOpenSSLlệnh, thay thếdbhost.yourdomain.comkèo chấp bóng đá hôm nay tên máy chủ của máy chủ:
19825_19923dbhost.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.
Trong khi chứng chỉ tự ký có thể được sử dụng để kiểm tra, chứng chỉ được ký bởi cơ quan chứng chỉ (CA) (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ý 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):
21172_21309
Cuối cùng, 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.crtvàserver.keynên được lưu trữ trên máy chủ vàroot.crtnên được lưu trữ trên máy khách để máy khách có thể xác minh rằng chứng chỉ lá của máy chủ đã được ký bởi chứng chỉ gốc đáng tin cậy.root.keynê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 chấp bóng đá hôm nay/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 chấp bóng đá hôm nay/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.crtvàtrung gian.crtnên được nối thành gói tệp chứng chỉ và được lưu trữ trên máy chủ.server.keycũng nên được lưu trữ trên máy chủ.root.crtnên được lưu trữ trên máy khách để máy khách có thể xác minh rằng chứng chỉ lá của máy chủ đã được ký bởi một chuỗi các chứng chỉ được liên kết kèo chấp bóng đá hôm nay chứng chỉ gốc đáng tin cậy của nó.root.keyvàtrung gian.keynên được lưu trữ ngoại tuyến để sử dụng để tạo chứng chỉ trong tương lai.