วิธีประกอบโปรไฟล์ไคลเอนต์ OpenVPN จากไฟล์ที่ออกให้
ไฟล์ ovpn คือการกำหนดค่า ไม่ใช่ใบรับรอง สร้างโปรไฟล์ไคลเอนต์หนึ่งชุดจาก CA ใบรับรอง และคีย์ที่ออกให้ แล้วตรึงอัตลักษณ์และไดเรกทอรี
ผู้ให้บริการของคุณส่งมอบชุด CA ใบรับรองไคลเอนต์และคีย์ของใบรับรองนั้น และไคลเอนต์จะไม่เริ่มทำงานจนกว่าจะเชื่อมโยงสิ่งเหล่านี้เข้าในโปรไฟล์เดียว โปรไฟล์คือการกำหนดค่า มันชี้ไปที่ไฟล์เหล่านั้น ไม่ได้บรรจุไฟล์ไว้ และการแก้ไขก็ไม่สามารถเปลี่ยนมันเป็นใบรับรองได้ คู่มือนี้เริ่มจากแล็ปท็อปที่ได้รับอนุมัติแล้วและจบด้วยโปรไฟล์ที่คุณเริ่มได้จากไดเรกทอรีที่รู้จัก มันไม่ได้สร้าง CA ไม่ได้ลงทะเบียนใบรับรองใหม่ และไม่ได้แตะต้องเซิร์ฟเวอร์
เป้าหมายตรงนี้คือไคลเอนต์บรรทัดคำสั่ง OpenVPN 2.6 สำหรับ Linux ที่กำหนดเส้นทางผ่าน TUN บน UDP พร้อมการพิสูจน์ตัวตนด้วยใบรับรอง
รวบรวมเฉพาะไฟล์ฝั่งไคลเอนต์
ทำงานในไดเรกทอรีที่ได้รับการป้องกันและรวบรวมวัสดุความเชื่อถือ CA ที่อนุมัติแล้ว ใบรับรองไคลเอนต์ที่ออกให้คุณ และคีย์ส่วนตัวที่ตรงกับใบรับรองนั้น ในตัวอย่างนี้ชื่อคือ ca.crt, laptop-a.crt และ laptop-a.key ชื่อไฟล์เป็นเพียงป้ายกำกับ ไม่ได้บอกอะไรเกี่ยวกับสิ่งที่แต่ละไฟล์บรรจุ
หากคุณสร้างคีย์ระหว่างการลงทะเบียน คีย์นั้นไม่เคยออกจากเครื่อง มีเพียงใบรับรองที่ลงนามแล้วและห่วงโซ่สาธารณะที่ต้องส่งกลับมาจากผู้ออก ตรวจสอบว่าใบรับรองมีบทบาทไคลเอนต์ที่บริการคาดหวัง ตรวจสอบด้วยว่าคีย์เป็นของใบรับรองนั้น ไม่ใช่ของใบรับรองเก่าจากความพยายามก่อนหน้า คู่ที่ไม่ตรงกันจะทำให้เกิดความล้มเหลวของ TLS ในภายหลังมาก ซึ่งดูเหมือนปัญหาเซิร์ฟเวอร์
วางคีย์ลงนามส่วนตัวของ CA คีย์ส่วนตัวของเซิร์ฟเวอร์ และพารามิเตอร์ DH ไว้นอกแพ็กเกจนี้
เชื่อมไฟล์เข้าเป็นโปรไฟล์เล็ก ๆ
โปรไฟล์ด้านล่างตั้งใจให้สั้น แต่ละบรรทัดเลือกปลายทาง จำกัดอัตลักษณ์ที่ไคลเอนต์จะยอมรับ หรือชี้ไปที่ไฟล์ใดไฟล์หนึ่งในสามไฟล์
client
dev tun
proto udp
remote vpn.example.net 1194
nobind
remote-cert-tls server
verify-x509-name vpn-gateway name
ca ca.crt
cert laptop-a.crt
key laptop-a.key
บรรทัด remote เลือกปลายทางเครือข่าย remote-cert-tls server ยืนกรานให้อีกฝ่ายนำเสนอใบรับรองที่มีบทบาทเซิร์ฟเวอร์ verify-x509-name ตรึงชื่อที่คาดไว้ ในที่นี้คือ vpn-gateway เป็น Common Name ของใบรับรองเซิร์ฟเวอร์ด้วยฟิลด์ชื่อเริ่มต้นของ OpenVPN ค่านั้นไม่ได้อนุมานจากชื่อโฮสต์ DNS ดังนั้นให้ใช้รูปแบบอัตลักษณ์ที่ผู้ให้บริการกำหนด
อย่าละทิ้งการตรวจสอบเหล่านั้นเพียงเพราะปลายทางทดสอบแสดงใบรับรองอื่น
โปรไฟล์พื้นฐานนี้ถือว่าไม่มีข้อท้าทายบัญชีแยกต่างหากและไม่มีคีย์ช่องควบคุม หากบริการต้องการ auth-user-pass, tls-auth หรือ tls-crypt ให้เก็บการกำหนดค่าและวัสดุที่ได้รับไว้ เพราะความลับช่องควบคุมที่คุณสร้างเองจะไม่ตรงกับที่เซิร์ฟเวอร์มี เก็บนโยบายการเข้ารหัสของบริการไว้ด้วยแทนการนำเข้าบรรทัดการบีบอัดหรือการเข้ารหัสจากตัวอย่างเก่า
ทำให้ไดเรกทอรีทำงานชัดเจน
พาธแบบสัมพัทธ์เป็นไปตามไดเรกทอรีทำงานของโปรเซส ไม่ใช่ตำแหน่งของไฟล์ .ovpn
สิ่งนี้ทำให้คนที่ย้ายโปรไฟล์ไปยังโฟลเดอร์ใหม่ประหลาดใจและคาดว่าคีย์จะตามไปด้วย สำหรับไดเรกทอรีที่ผู้ดูแลระบบเลือก คำสั่งด้านล่างจะเปลี่ยนไปยังพาธแบบสัมบูรณ์ก่อนอ่านโปรไฟล์และการอ้างอิงของมัน
sudo openvpn --cd /etc/openvpn/client/laptop-a --config laptop-a.ovpn
ตัวช่วยนำเข้าเดสก์ท็อปหรือบริการของระบบอาจแพ็กเกจส่วนที่ต้องพึ่งพาให้คุณ และใช้กฎของตัวเอง อาจใช้ไดเรกทอรีทำงานที่ต่างจากที่คุณทดสอบด้วย ตรวจสอบว่าวิธีเปิดใช้งานของคุณแก้พาธของคีย์ ใบรับรอง และ CA อย่างไร การย้ายเฉพาะไฟล์ .ovpn ไม่ได้ย้ายคีย์ส่วนตัวแยกต่างหาก
เก็บคีย์ให้อ่านได้เฉพาะผู้ใช้หรืออัตลักษณ์บริการที่ตั้งใจไว้
ตรวจสอบการส่งมอบ ไม่ใช่ชื่อไฟล์
ก่อนการเชื่อมต่อที่ได้รับอนุญาตครั้งแรก ให้ตรวจสอบปลายทาง อัตลักษณ์ของใบรับรอง ผู้ออก และช่วงเวลาที่ใช้ได้ จากนั้นยืนยันว่าการอ้างอิงไฟล์แก้ไขได้จากไดเรกทอรีทำงานที่คุณจะใช้จริง หลังเชื่อมต่อแล้ว ให้ทดสอบพฤติกรรมของแอปพลิเคชันและ DNS ที่นโยบายการกำหนดเส้นทางควรให้ ไฟล์ที่อ่านได้สามไฟล์ไม่ได้พิสูจน์อะไรเกี่ยวกับการอนุญาตของเซิร์ฟเวอร์หรือพาธทรัพยากรที่ใช้งานได้
หากมีข้อความขอวลีรหัสผ่าน แสดงว่าเป็นของคีย์ส่วนตัว ไม่ใช่ของบัญชี VPN
สุดท้าย ให้ทำบัญชีแพ็กเกจเป็นวัสดุรับรองตัวตน การมอบใบรับรองและคีย์เดียวกันให้แล็ปท็อปเครื่องที่สองเป็นการคัดลอกอัตลักษณ์ และการเปลี่ยนชื่อไฟล์ไม่ได้ให้การลงทะเบียนครั้งที่สองแก่คุณ ความแตกต่างระหว่างการประกอบโปรไฟล์กับการออกให้อยู่ตรงนี้