FortiGate IPsec บน Linux: ไคลเอนต์ใดเชื่อมต่อได้จริง
ไคลเอนต์ Linux ของผู้จำหน่ายพูดแค่ SSL VPN ต้องสร้างโปรไฟล์ IPsec แบบมือถือใหม่ใน vpnc หรือ strongSwan และสี่ฟิลด์ต้องตรงกับเกตเวย์
เพื่อนร่วมงานฝั่ง Windows ของคุณนำเข้าโปรไฟล์ตัวช่วยสร้าง FortiGate และออนไลน์ได้ในหนึ่งนาที คุณติดตั้งแพ็กเกจของผู้จำหน่ายตัวเดียวกันบน Ubuntu มองหาแท็บ IPsec แล้วพบไคลเอนต์ที่รู้จักเพียงการเปิด SSL VPN พอร์ทัล ข้อสรุปที่ตามมาจึงมักผิดสองทาง คือเกตเวย์ไม่ได้ปฏิเสธคุณ และบิลด์ Linux ไม่ได้เสีย Fortinet จัดส่งไคลเอนต์นั้นโดยรองรับเฉพาะ SSL VPN โปรไฟล์ IPsec แบบมือถือจึงไม่มีที่อยู่ และต้องสร้างใหม่ในที่ที่พูด IKEv1
ก่อนอื่น ตัดสินใจว่าคุณได้รับโปรโตคอลใดมาจริง
การสร้างใหม่นั้นเป็นงานกลไกเมื่อคุณเลิกถือว่าไคลเอนต์ของผู้จำหน่ายเป็นแบบอย่างอ้างอิง
อุปกรณ์ FortiGate ประกาศทั้ง SSL VPN และ IPsec และอีเมลส่งมอบแทบไม่เคยบอกว่าคุณได้รับอันไหน URL พอร์ทัลพร้อมหน้าล็อกอินสไตล์เบราว์เซอร์หมายถึง SSL VPN และบน Linux คำตอบตรงนั้นคือ openfortivpn ไม่ใช่การจับคู่ฟิลด์ด้านล่าง ตัวระบุกลุ่มพร้อมคีย์ที่แชร์ล่วงหน้าหมายถึง IPsec แบบมือถือ ซึ่ง vpnc และ strongSwan จัดการ
การทำผิดตรงนี้คือสาเหตุที่พบบ่อยที่สุดที่ความพยายามบน Linux ตายก่อนระยะแรกจะเสร็จ: ไคลเอนต์กำลังเสนอ IKEv1 ให้พอร์ทัล HTTPS หรือกลับกัน. ขอชื่อโปรโตคอลเป็นลายลักษณ์อักษรจากผู้ดูแลระบบก่อนติดตั้งสิ่งใด
ข้อมูลรับรองสี่อย่างเดินทางในสี่ฟิลด์ที่ต่างกัน
คำว่า password ปรากฏสองครั้งในการส่งมอบส่วนใหญ่และหมายถึงสองสิ่งต่างกัน คีย์ที่แชร์ล่วงหน้าตรวจสอบตัวพีียร์เอง และเป็นความลับของเครื่องที่ผู้ดูแลระบบอ่านจากคอนฟิกเกตเวย์ รหัสผ่านบัญชีของคุณเป็นข้อมูลรับรองแยกต่างหากที่พิสูจน์ว่ามนุษย์คนใดอยู่เบื้องหลังพีียร์นั้น
อีกสองค่าถูกมองข้ามได้ง่ายกว่า ตัวระบุกลุ่มคือสตริงที่ตัวช่วยสร้างเขียนลงในออบเจกต์กลุ่ม IPsec และ 0 เป็นค่าที่ถูกต้อง ไม่ใช่ฟิลด์ว่าง ข้อเสนอครอบคลุมการเข้ารหัส การแฮช และกลุ่ม Diffie-Hellman สำหรับแต่ละระยะ รวมถึงการตั้งค่า PFS และทุกรายการในนั้นต้องตรงกับเกตเวย์ เมื่อการเชื่อมต่อล้มเหลวในระยะ 1 เกือบทุกครั้งหนึ่งในสี่นั้นคือต้นเหตุ จึงจดแยกกันแทนที่จะโยนใส่กล่องโต้ตอบเดียว
แต่ละฟิลด์ของ vpnc ต้องมีอะไร
ติดตั้งไคลเอนต์พร้อมส่วนหน้าของตัวแก้ไข แล้วสร้างการเชื่อมต่อ VPNC:
sudo apt install vpnc network-manager-vpnc network-manager-vpnc-gnome
ตั้งเกตเวย์เป็นที่อยู่สาธารณะของ FortiGate และตั้งชื่อกลุ่มให้ตรงกับตัวระบุจากเกตเวย์เป๊ะ รวมถึงศูนย์เปล่า ๆ Group password รับคีย์ที่แชร์ล่วงหน้า ขณะที่ชื่อผู้ใช้และรหัสผ่านรับบัญชีของคุณ โดยมีโทเคนใด ๆ ต่อท้ายตามที่เกตเวย์คาดไว้ ในกล่องโต้ตอบขั้นสูง ให้เลือกกลุ่ม Diffie-Hellman ที่ข้อเสนอระบุ จับคู่ PFS กับกลุ่มเดียวกัน เปิด NAT traversal เมื่อไคลเอนต์อยู่หลังเราเตอร์บ้าน และปล่อยให้การตรวจจับพีียร์ที่ตายแล้วก้าวเดียวกับเกตเวย์
ชื่อกลุ่มคือฟิลด์ที่ถูกข้าม เพราะดูเหมือนไม่บังคับและค่าเริ่มต้นศูนย์ดูคล้ายตัวยึดตำแหน่ง ส่งแบบว่างแล้วไคลเอนต์จะส่งตัวระบุที่ต่างจากที่เกตเวย์ตรวจสอบ หากโปรไฟล์ยังล้มเหลว ให้เทียบค่าขั้นสูงกับไคลเอนต์ Windows ที่ใช้งานได้ ไม่ใช่กับโพสต์ฟอรัมของไซต์อื่น
โปรไฟล์เดียวกันที่เขียนสำหรับ strongSwan
strongSwan เป็นภาชนะระยะยาวที่ดีกว่าสำหรับค่าเหล่านี้ เพราะคอนฟิกเป็นไฟล์ข้อความที่คุณตรวจทานและเก็บไว้ได้:
conn office-fw
keyexchange=ikev1
aggressive=yes
left=%any
leftauth=psk
leftauth2=xauth
xauth_identity=YOUR_USER
right=GATEWAY_ADDRESS
rightauth=psk
rightsubnet=OFFICE_SUBNET
ike=aes128-sha1-modp1536!
esp=aes128-sha1-modp1536!อ่านบรรทัดข้อเสนอก่อนบล็อก เพราะเครื่องหมายอัศเจรีย์ท้ายบรรทัดเปลี่ยนความหมายของมัน คือตรึงข้อเสนอเดียวนั้นและลบทางเลือกที่ไคลเอนต์จะเสนอเป็นอย่างอื่น เกตเวย์ที่กำหนดค่าสำหรับคู่การแปลงเดียวจะปฏิเสธไคลเอนต์ที่เปิดด้วยรายการ การตรึงจึงเป็นสิ่งที่เปลี่ยนการเจรจาให้เป็นการจับคู่. ใช้ชื่ออัลกอริทึมที่แน่นอนจากโปรไฟล์เกตเวย์ที่ใช้งานได้ และแทนที่ตัวยึดตำแหน่งด้วยค่าของคุณเอง
สองบรรทัดการพิสูจน์ตัวตนไม่ใช่ส่วนเกิน PSK พิสูจน์พีียร์ บล็อก XAuth พิสูจน์ผู้ใช้ และการตัดสิ่งใดออกจะเหลือระยะที่เกตเวย์จะไม่ทำให้เสร็จ
อ่านความล้มเหลวก่อนเปลี่ยนฟิลด์อื่น
ทำงานย้อนกลับจากอาการแทนที่จะสุ่มกล่องโต้ตอบใหม่ IKE SA ที่ขึ้นมาโดยไม่มีที่อยู่ที่จัดสรรหมายถึงการแลกเปลี่ยนการพิสูจน์ตัวตนของผู้ใช้ล้มเหลวหรือไม่เคยทำงานเลย จึงตรวจสอบบัญชีและการจัดการโทเคน ระยะ 1 ที่ไม่มีวันเสร็จชี้ไปที่ข้อเสนอ ตัวระบุกลุ่ม หรือโหมดก้าวร้าว และแต่ละอย่างจะถูกเทียบกับเกตเวย์ ไม่ใช่แค่กับไคลเอนต์ Windows
อุโมงค์ที่สร้างขึ้นแล้วตายทุกไม่กี่นาทีคือความไม่ลงรอยของการตรวจจับพีียร์ที่ตายแล้วระหว่างสองปลาย จับคู่ตัวจับเวลาของเกตเวย์แทนการปิด keepalive ทุกที่ อุโมงค์ที่สร้างแล้วแต่โฮสต์ในออฟฟิศยังเข้าถึงไม่ได้มักหมายความว่าซับเน็ตที่ดันลงไปไม่เคยเข้าตารางเส้นทางภายใน ซึ่งไคลเอนต์บุคคลที่สามอาจไม่ทำเอง
เมื่อเสร็จแล้ว คืนค่าที่ใช้งานได้ให้เจ้าของเกตเวย์: โปรโตคอล ตัวระบุกลุ่ม คีย์ที่แชร์ล่วงหน้า ข้อเสนอ PFS และการตัดสินใจเรื่อง DPD จากนั้นเครื่อง Linux ถัดไปจะใช้เวลาไม่กี่นาทีแทนทั้งเย็น และไม่มีใครต้องค้นพบใหม่ว่าชื่อกลุ่มเป็นศูนย์