OpenVPN - ตรวจสอบรหัสผ่านเท่านั้น


11

เมื่อใช้ไคลเอนต์ OpenVPN สำหรับ Windows ฉันสามารถเข้าสู่เซิร์ฟเวอร์ OpenVPN ด้วยชื่อผู้ใช้และรหัสผ่านเท่านั้น ฉันไม่สามารถหาวิธีที่จะทำให้สิ่งเดียวกันเกิดขึ้นใน Ubuntu ดูเหมือนว่าต้องการใบรับรองบางประเภท

แนวคิดใดที่รับรองความถูกต้องกับเซิร์ฟเวอร์ OpenVPN ด้วยชื่อผู้ใช้และรหัสผ่านเท่านั้น

คำตอบ:


5

คุณสามารถตรวจสอบสิทธิ์โดยใช้ชื่อผู้ใช้ / รหัสผ่านได้อย่างสมบูรณ์แบบโดยไม่ต้องมีใบรับรองเซิร์ฟเวอร์ / CA อย่างไรก็ตามฉันขอแนะนำให้ตั้งค่าเพื่อตรวจสอบด้วยใบรับรอง CA ของคุณเพื่อป้องกันการโจมตีแบบ Man-in-the-Middle

หากไม่มีการยืนยันเซิร์ฟเวอร์ใคร ๆ ก็สามารถเลียนแบบเซิร์ฟเวอร์ OpenVPN ของคุณและเพียงยอมรับชื่อผู้ใช้ / รหัสผ่านของคุณ ผล:

  • ผู้โจมตีสามารถสกัดกั้นการรับส่งข้อมูลทั้งหมด เมื่อคุณไม่ยืนยันเซิร์ฟเวอร์ที่คุณกำลังเชื่อมต่อใคร ๆ ก็สามารถอ้างได้ว่าเป็นเซิร์ฟเวอร์ของคุณในเครือข่ายสาธารณะ (หรือเครือข่ายส่วนตัวที่ควบคุมโดยผู้โจมตี)
  • ผู้โจมตีรู้ชื่อผู้ใช้ / รหัสผ่านของคุณรวมกัน แย่มาก ๆ ในกรณีที่คุณใช้รหัสผ่านซ้ำสำหรับสิ่งอื่นเช่นกัน

ใน Network Manager จะทำงานได้ดีหากไม่มี CA Cert ดังที่แสดงด้านล่าง แต่โปรดอย่าใช้มันอย่างนั้น! หากคุณไม่ได้ใช้ใบรับรองเซิร์ฟเวอร์ / CA ใด ๆ บน Windows แสดงว่าคุณมีความเสี่ยงต่อการถูกโจมตีดังกล่าว

ป้อนคำอธิบายรูปภาพที่นี่


มันไม่ทำงานบน Ubuntu 16.04 ปุ่ม 'บันทึก' ถูกปิดใช้งานจนกว่าคุณจะเลือกใบรับรอง
leo

1
@leo โอ้เป็นข่าวที่ดีมาก มันป้องกันอีกหนึ่งกรณีของการกำหนดค่าที่ไม่ปลอดภัยแล้ว! :-)
gertvdijk

3

ฉันได้พบคำตอบที่นี่: http://openvpn.net/index.php/open-source/documentation/howto.html#auth

จำไว้ว่าคุณยังต้องมีใบรับรองเซิร์ฟเวอร์

การใช้การตรวจสอบชื่อผู้ใช้ / รหัสผ่านเป็นรูปแบบเดียวของการตรวจสอบลูกค้า

โดยค่าเริ่มต้นการใช้ auth-user-pass-Verify หรือปลั๊กอินตรวจสอบชื่อผู้ใช้ / รหัสผ่านบนเซิร์ฟเวอร์จะเปิดใช้งานการตรวจสอบสิทธิ์แบบคู่โดยกำหนดให้ทั้งการรับรองความถูกต้องของลูกค้าและรับรองความถูกต้องของชื่อผู้ใช้ / รหัสผ่าน

แม้ว่าจะไม่ได้รับการสนับสนุนจากมุมมองด้านความปลอดภัย แต่ก็เป็นไปได้ที่จะปิดการใช้งานใบรับรองไคลเอ็นต์และบังคับใช้การพิสูจน์ตัวตนชื่อผู้ใช้ / รหัสผ่านเท่านั้น บนเซิร์ฟเวอร์:

ไคลเอนต์ใบรับรองไม่จำเป็นต้องกำหนดค่าดังกล่าวมักจะตั้ง:

ชื่อผู้ใช้เป็นชื่อสามัญซึ่งจะบอกให้เซิร์ฟเวอร์ใช้ชื่อผู้ใช้เพื่อจุดประสงค์ในการจัดทำดัชนีซึ่งจะใช้ชื่อสามัญของลูกค้าที่รับรองความถูกต้องผ่านใบรับรองของลูกค้า

โปรดทราบว่าไคลเอนต์ที่ไม่จำเป็นต้องใช้จะไม่ลบล้างความต้องการใบรับรองเซิร์ฟเวอร์ดังนั้นลูกค้าที่เชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้ไคลเอนต์ที่ไม่ต้องการใบรับรองอาจลบใบรับรองและคีย์คำสั่งจากไฟล์กำหนดค่าไคลเอ็นต์ แต่ไม่ คำสั่ง ca เนื่องจากไคลเอ็นต์จำเป็นต้องตรวจสอบใบรับรองเซิร์ฟเวอร์

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