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

การตัดสินใจสองอย่างซ่อนอยู่ในไฟล์เดียว

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

การสับสนทั้งสองอย่างทำให้ได้คำแนะนำที่ไม่ดีทั้งสองทาง คือโปรไฟล์ที่ดูสะอาดจากผู้ให้บริการที่ไม่รู้จัก หรือโปรไฟล์ของผู้ให้บริการที่รู้จักแต่มีฮุกที่ไม่มีใครอ่าน โปรไฟล์ที่ปลอดภัยในเครื่องยังอาจมอบทราฟฟิกของคุณให้คนที่คุณไม่เลือก

อ่านโปรไฟล์ก่อนที่ไคลเอนต์ใดจะทำ

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

grep -nE '^(script-security|up|down|plugin|route-up|ipchange)' untrusted.ovpn

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

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

อ่านไฟล์ทั้งหมดหนึ่งครั้งด้วย เพราะบรรทัดที่ไม่คุ้นเคยบรรทัดเดียวตัดสินได้ง่ายกว่าในบริบทมากกว่าในรายการที่กรองแล้ว ถ้าบรรทัดใดไม่คุ้นเคย ให้ค้นในคู่มือของไคลเอนต์คุณแทนการเดา

ไคลเอนต์จะเรียกใช้อะไรจริง ๆ

คู่มือ 2.6 ของ Community OpenVPN อธิบายบันได script-security ว่า ระดับ 1 เป็นค่าเริ่มต้นและปิดกั้นสคริปต์ที่ผู้ใช้กำหนด ขณะที่ระดับ 2 อนุญาต การโหลดปลั๊กอินเป็นกลไกแยกที่มีคำสั่งของตัวเอง นั่นคือเหตุผลที่ไฟล์เดียวกันอาจหมายถึงสิ่งต่างกันในไคลเอนต์ต่างกัน ไคลเอนต์มือถือและไคลเอนต์ของผู้ผลิตอาจยอมรับชุดคำสั่งที่แคบกว่า หรือไม่ยอมรับฮุกใดเลย

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

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

เปรียบเทียบผู้ให้บริการ ไม่ใช่แค่ที่อยู่

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

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

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

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

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