ใน SOCKS5 การรับรองความถูกต้องจะถูกเจรจาก่อนที่ไคลเอนต์จะส่งคำขอปลายทาง จึงทำให้ความล้มเหลวของข้อมูลรับรองตั้งแต่ต้นเป็นเหตุการณ์ที่ต่างจากความล้มเหลวของ FTP, HTTPS หรือแอปพลิเคชันอื่นที่อยู่เลยพร็อกซีไป

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

สิ่งที่ลำดับของ Dante ควบคุม

Dante 1.4.x เรียกการตั้งค่าระดับโปรโตคอลว่า socksmethod เอกสารของมันกล่าวว่าวิธีถูกแสดงตามลำดับความชอบ สำหรับนโยบายที่อนุญาตทั้งสองวิธี การประกาศนี้จะชอบชื่อผู้ใช้/รหัสผ่านเมื่อไคลเอนต์เสนอ:

socksmethod: username none

การกลับลำดับรายการจะชอบการเข้าถึงที่ไม่มีการรับรองความถูกต้องเมื่อมีการเสนอทั้งสองวิธี:

socksmethod: none username

สิ่งเหล่านี้เป็นการประกาศวิธีทางเลือก ไม่ใช่การกำหนดค่าเซิร์ฟเวอร์ที่สมบูรณ์ อินเทอร์เฟซที่รับฟัง ไคลเอนต์ที่ได้รับอนุญาต กฎปลายทาง และข้อจำกัดการรับรองความถูกต้องเฉพาะกฎยังคงมีความสำคัญ

การอนุญาต none มีผลสืบเนื่องที่ชัดเจน ไคลเอนต์ที่เสนอเฉพาะไม่มีการรับรองความถูกต้องอาจได้รับการยอมรับภายใต้กฎที่บังคับใช้ การวาง username ไว้ก่อนไม่ได้เปลี่ยนรายการที่มี none ให้เป็นข้อกำหนดที่ทุกคนต้องให้รหัสผ่าน

เลือกข้อกำหนดก่อน

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

Dante ยังมี clientmethod ซึ่งเกี่ยวกับการตรวจสอบที่ทำเมื่อไคลเอนต์ TCP เชื่อมต่อ ก่อนการเจรจา SOCKS มันเป็นชั้นแยกจากวิธีที่แลกเปลี่ยนในคำทักทาย SOCKS5 ส่วนการกำหนดค่าที่ใช้คีย์เวิร์ด method แบบเก่าควรอ่านตามคู่มือของเวอร์ชัน Dante ที่ติดตั้ง

เมื่อไคลเอนต์สองตัวมีพฤติกรรมต่างกัน ให้เปรียบเทียบว่าแต่ละตัวเสนออะไร Dante เลือกอะไร และการเจรจาย่อยของวิธีที่เลือกสำเร็จหรือไม่ จากนั้นตรวจสอบการตอบกลับปลายทาง SOCKS ลำดับนี้ระบุการเรียกกลับข้อมูลรับรองที่หายไปโดยไม่โทษ FTP สำหรับทุกความล้มเหลวหรือเปลี่ยนนโยบายการรับรองความถูกต้องของเซิร์ฟเวอร์อย่างไม่ลืมหูลืมตา

สุดท้าย การรับรองความถูกต้องด้วยชื่อผู้ใช้/รหัสผ่านของ SOCKS5 ไม่ได้เข้ารหัสการแลกเปลี่ยนรหัสผ่าน ใช้การขนส่งหรือเครือข่ายที่ได้รับการปกป้องอย่างเหมาะสมเมื่อข้อมูลรับรองเหล่านั้นต้องการความลับ

บทความที่เกี่ยวข้อง