Buộc khách hàng PostgreSQL sử dụng SSL?


29

Tôi đã cấu hình ssl = ontrong postgresql.conf(và cài đặt một chứng chỉ vvetera). Điều này có đảm bảo rằng tất cả khách hàng sẽ luôn kết nối qua SSL không?

(Tức ssl = onlà nó không thể kết nối mà không có mã hóa SSL?)

Có cách nào khác để đảm bảo rằng tất cả khách hàng luôn kết nối qua SSL / TLS không?

Trân trọng, KajMagnus

Câu trả lời:


27

ssl = on chỉ cho phép khả năng sử dụng SSL.

Để đảm bảo rằng tất cả khách hàng đang sử dụng SSL, hãy thêm hostsslcác dòng vào pg_hba.conf, ví dụ:

hostssl  all  all  0.0.0.0/0  md5

và loại bỏ tất cả các hostdòng. (Chà, có thể giữ những cái cho localhost.)


Tôi đã thiết lập tất cả các cài đặt trong postgresql.confpg_hba.conf. Tuy nhiên tôi vẫn có thể kết nối với sslmode=disable. ví dụ: psql "sslmode = vô hiệu hóa host = localhost dbname = test" Tôi có bỏ lỡ điều gì ở đây không?
Andy Aldo

@AndyAldo Một người sẽ cần phải xem toàn bộ cấu hình để phân tích điều đó. Đó là ngoài phạm vi ở đây.
Peter Eisentraut

13

Không, điều đó chỉ đơn giản cho phép sử dụng SSL. Bạn cũng cần thực hiện các thay đổi phù hợp cho tệp pg_hga.conf của mình .


2
Ồ, tôi phải đọc sai tài liệu: Tôi nghĩ rằng hostsslkhách hàng phải cung cấp chứng chỉ SSL của riêng mình, nhưng bây giờ tôi nhận thấy rằng có một certphương thức xác thực mà tôi có thể chỉ định trong pg_hga.conf.
KajMagnus

(Cảm ơn bạn, tôi sẽ nêu lên câu trả lời của bạn sau khi tôi có 15 đại diện cần thiết.)
KajMagnus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.