บังคับให้ไคลเอนต์ PostgreSQL ใช้ SSL หรือไม่


29

ฉันได้กำหนดค่าssl = onในpostgresql.conf(และติดตั้งใบรับรองเป็นต้น) สิ่งนี้ทำให้มั่นใจได้หรือไม่ว่าลูกค้าทั้งหมดจะเชื่อมต่อผ่าน SSL เสมอ

( ssl = onนั่นคือมันเป็นไปไม่ได้ที่จะเชื่อมต่อโดยไม่มีการเข้ารหัส SSL หรือไม่)

มีวิธีอื่น ๆ เพื่อให้แน่ใจว่าลูกค้าทั้งหมดเชื่อมต่อผ่าน SSL / TLS หรือไม่

ขอแสดงความนับถือ KajMagnus

คำตอบ:


27

ssl = on เปิดใช้งานความเป็นไปได้ของการใช้ SSL เท่านั้น

เพื่อให้แน่ใจว่าลูกค้าทั้งหมดใช้ SSL ให้เพิ่มhostsslบรรทัดในpg_hba.confเช่น

hostssl  all  all  0.0.0.0/0  md5

และลบทุกhostบรรทัด (ก็อาจจะเก็บไว้เพื่อlocalhost.)


ฉันมีการติดตั้งการตั้งค่าทั้งหมดที่อยู่ในและpostgresql.conf แต่ผมก็ยังสามารถเชื่อมต่อกับpg_hba.conf sslmode=disableเช่น psql "sslmode = ปิดการใช้งานโฮสต์ = localhost dbname = test" ฉันพลาดอะไรนี่หรือเปล่า
Andy Aldo

@AndyAldo หนึ่งจะต้องดูการกำหนดค่าทั้งหมดเพื่อวิเคราะห์ว่า นั่นอยู่นอกขอบเขตที่นี่
Peter Eisentraut

13

ไม่นั่นเป็นเพียงการเปิดใช้งาน SSL คุณต้องทำการเปลี่ยนแปลงที่เหมาะสมกับไฟล์pg_hga.confของคุณด้วย


2
โอ้ฉันต้องอ่านเอกสารผิด: ฉันคิดว่าhostsslลูกค้าจำเป็นต้องให้ใบรับรอง SSL ของตัวเอง แต่ตอนนี้ฉันสังเกตเห็นว่ามีcertวิธีการตรวจสอบสิทธิ์ที่ฉันสามารถระบุใน pg_hga.conf
KajMagnus

(ขอบคุณฉันจะถอนคำตอบของคุณในภายหลังเมื่อฉันต้องการ 15 ตัวแทน)
KajMagnus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.