Phiên bản được hỗ trợ:hiện tại(17)16/15/14/13
Phiên bản phát triển:Devel
Phiên bản không được hỗ trợ:12/11/10/9.6/9.5/9.4/9.3/9.2/9.1/9.0/8.4/8.3/8.2/8.1/8.0/7.4/7.3/7.2/7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

18.9.kèo bóng đá hom nay an toàn với SSL

PostgreSQLCó hỗ trợ bản địa để sử dụngkèo bóng đá hom naykèo bóng đá hom 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 16).

18.9.1.Thiết lập cơ bản

kèo bóng đá hom naykèo bóng đá hom nayHỗ trợ biên dịch trong,PostgreSQLMáy chủ có thể được bắt đầu bằngkèo bóng đá hom nayđược bật bằng cách đặt tham sốkèo bóng đá hom nayđếntrêninPostgreSql.conf. Máy chủ sẽ lắng nghe cả bình thường vàkèo bóng đá hom nayKết nối trên cùng một cổng TCP và sẽ thương lượng kèo bóng đá hom nay bất kỳ máy khách kết nối nào về việc có sử dụng13125_13130. Theo mặc định, đây là tùy chọn của khách hàng;Phần 20.1Giới thiệu về cách thiết lập máy chủ để yêu cầu sử dụngkèo bóng đá hom nayĐối kèo bóng đá hom nay một số hoặc tất cả các kết nối.

Để bắt đầu trongkèo bóng đá hom 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.crtserver.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_FILESSL_KEY_FILE.

Trên các hệ thống UNIX, các quyền trênserver.keyphả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à0640Quyề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.PostgreSQL14515_14623

Nếu thư mục dữ liệu cho phép truy cập đọc nhóm thì các tệp chứng chỉ có thể cần được đặt bên ngoài thư mục dữ liệu để tuân thủ các yêu cầu bảo mật được nêu ở trên. Nói chung, quyền truy cập nhóm được bật để cho phép người dùng không có đặc quyền sao lưu cơ sở dữ liệu và trong trường hợp đó, phần mềm sao lưu sẽ không thể đọc các tệp chứng chỉ và có thể sẽ xảy ra lỗi.

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 đá hom nay 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.crtphải là chứng chỉ của máy chủ vì nó phải khớp kèo bóng đá hom nay 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_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ủ.

18.9.2.Cấu hình openSSL

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à được đặt 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 bóng đá hom 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 bởi 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ủ.

18.9.3.Sử dụng Chứng chỉ Máy 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.confvào tên tệp mới và thêm tùy chọn xác thựcclientCert = xác minh-cahoặcclientCert = xác minh-đầy đủđế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 bóng đá hom nay SSL.Phần 33.18Để biết mô tả về cách thiết lập chứng chỉ trên máy khách.)

cho ahostsslmục nhập kèo bóng đá hom nayclientCert = 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 đá hom nayCN(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 khicertPhương pháp xác thực được sử dụng (xemPhần 20.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ằngV3_CATiện ích 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 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.confCác dòng được chỉ định làhostssl. KhiclientCertkhông được chỉ định hoặc được đặt thànhNo-Verify20696_20869

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ụngcertPhương thức xác thực chohostsslMụ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èo bóng đá hom nay SSL. Nhìn thấyPhần 20.12Để biết chi tiết. (Không cần thiết phải chỉ định bất kỳclientCertTùy chọn một cách rõ ràng khi sử dụngcertPhươ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 đá hom nay tên người dùng hoặc ánh xạ hiện hành.

Cách tiếp cận thứ hai kèo bóng đá hom nay hợp bất kỳ phương thức xác thực nào chohostsslMục nhập kèo bóng đá hom nay việc xác minh chứng chỉ máy khách bằng cách đặtclientCertTùy chọn xác thực thànhXác minh-CAhoặ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 đá hom nay tên người dùng hoặc ánh xạ áp dụng.

18.9.4.Sử dụng tệp máy chủ kèo bóng đá hom nay

Bảng 18.2Tóm tắt các tệp có liên quan đến thiết lập kèo bóng đá hom nay 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 18.2.Sử dụng tệp máy chủ kèo bóng đá hom nay

FILE Nội dung Hiệu ứng
SSL_CERT_FILE($ pgdata/server.crt) Chứng chỉ máy chủ Đã gửi đến 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 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èo bóng đá hom nay 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 đá hom nay cũ tiếp tục được sử dụng.WindowsHệ 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èo bóng đá hom nay SSL. 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ủ.

18.9.5.Tạo chứng chỉ

Để 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 bóng đá hom nay tên máy chủ của máy chủ:

25865_25964dbhost.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 một 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 \root.yourdomain.com"

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 \

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 \dbhost.yourdomain.com"

server.crtserver.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 trong việc 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:

# Rootroot.yourdomain.com"trung gian.yourdomain.com"dbhost.yourdomain.com"

server.crttrung gian.crtnên được kèo bóng đá hom nay vào 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 bóng đá hom nay chứng chỉ gốc đáng tin cậy của nó.root.keytrung gian.keynên được lưu trữ ngoại tuyến để sử dụng để tạo chứng chỉ trong tương lai.