
OpenSSH เป็นชุดของแอปพลิเคชันที่อนุญาตการสื่อสารแบบเข้ารหัสผ่านเครือข่าย โดยใช้โปรโตคอล SSH
มีการประกาศเปิดตัวเวอร์ชันใหม่ของ OpenSSH 9.6 และเวอร์ชันนี้มีการแก้ไขข้อบกพร่องหลายประการ และยังรวมคุณสมบัติใหม่บางอย่าง การปรับปรุงประสิทธิภาพหลายประการ และอื่นๆ อีกมากมาย
สำหรับผู้ที่ไม่รู้จัก OpenSSH (Open Secure Shell) ควรทราบ นี่คือชุดแอปพลิเคชันที่อนุญาตให้มีการสื่อสารแบบเข้ารหัส ผ่านเครือข่ายโดยใช้โปรโตคอล SSH มันถูกสร้างขึ้นเพื่อเป็นทางเลือกที่เสรีและเปิดกว้างสำหรับโปรแกรม Secure Shell ซึ่งเป็นซอฟต์แวร์ที่เป็นกรรมสิทธิ์
คุณสมบัติใหม่หลักของ OpenSSH 9.6
ใน OpenSSH 9.6 เวอร์ชันใหม่นี้ ProxyJump ที่เรียบง่ายมีความโดดเด่น เนื่องจากมีการเพิ่มการทดแทน "%j" ลงใน ssh ซึ่งขยายเป็นชื่อโฮสต์ที่ระบุ ตลอดจนปรับปรุงการตรวจจับแฟล็กคอมไพเลอร์ที่ไม่เสถียรหรือไม่รองรับ เช่น "-fzero-call-ใช้-regs» เสียงดังกราว
การเปลี่ยนแปลงอีกประการหนึ่งที่เวอร์ชันใหม่นำเสนอก็คือ เพิ่มการรองรับการกำหนดค่า ChannelTimeout ใน ssh แล้ว บนฝั่งไคลเอ็นต์ซึ่งสามารถใช้เพื่อยุติช่องทางที่ไม่ได้ใช้งาน
นอกจากนี้ใน OpenSSH 9.6 มีการแนะนำการควบคุมอัลกอริธึมลายเซ็นแบบละเอียดเนื่องจากมีการเพิ่มส่วนขยายโปรโตคอล เพื่อ ssh และ sshd เพื่อเจรจาอัลกอริธึมลายเซ็นดิจิทัลใหม่ สำหรับการตรวจสอบคีย์สาธารณะหลังจากได้รับชื่อผู้ใช้ ตัวอย่างเช่น เมื่อใช้ส่วนขยาย คุณสามารถเลือกใช้อัลกอริธึมอื่นที่เกี่ยวข้องกับผู้ใช้ที่คุณระบุได้
นอกจากนี้ยังมีการเน้นย้ำว่า เพิ่มส่วนขยายโปรโตคอลใน ssh-add และ ssh-agent เพื่อกำหนดค่าใบรับรองเมื่อโหลดคีย์ PKCS#11, lo ที่อนุญาตให้ใช้ใบรับรองที่เกี่ยวข้องกับคีย์ส่วนตัว PKCS#11 ในยูทิลิตี้ OpenSSH ทั้งหมดที่รองรับ ssh-agent ไม่ใช่แค่ ssh
ในส่วนของการแก้ไขข้อบกพร่องนั้น มีการกล่าวถึงการแก้ไขดังต่อไปนี้:
- วิธีแก้ปัญหา ช่องโหว่ในโปรโตคอล SSH (CVE-2023-48795, การโจมตี Terrapin)ซึ่งช่วยให้การโจมตี MITM เปลี่ยนกลับการเชื่อมต่อเพื่อใช้อัลกอริธึมการรับรองความถูกต้องที่มีความปลอดภัยน้อยกว่า และปิดใช้งานการป้องกันการโจมตีช่องทางด้านข้างที่สร้างอินพุตขึ้นมาใหม่โดยการวิเคราะห์ความล่าช้าระหว่างการกดแป้นพิมพ์บนแป้นพิมพ์ วิธีการโจมตีมีอธิบายไว้ในบทความข่าวแยกต่างหาก
- วิธีแก้ปัญหา ช่องโหว่ในยูทิลิตี้ ssh ที่อนุญาตให้ทดแทนคำสั่งเชลล์ตามอำเภอใจ โดยการจัดการค่าล็อกอินและโฮสต์ที่มีอักขระพิเศษ ช่องโหว่นี้สามารถถูกโจมตีได้หากผู้โจมตีควบคุมการเข้าสู่ระบบและค่าชื่อโฮสต์ที่ส่งไปยัง ssh, คำสั่ง ProxyCommand และ LocalCommand หรือบล็อก "match exec" ที่มีอักขระไวด์การ์ด เช่น %u และ %h ตัวอย่างเช่น การเข้าสู่ระบบและโฮสต์ที่ไม่ถูกต้องสามารถแทนที่ได้บนระบบที่ใช้โมดูลย่อยใน Git เนื่องจาก Git ไม่ได้ห้ามไม่ให้ระบุอักขระพิเศษในชื่อโฮสต์และชื่อผู้ใช้ ช่องโหว่ที่คล้ายกันยังปรากฏใน libssh
- วิธีแก้ปัญหา ข้อผิดพลาดใน ssh-agent โดยที่เมื่อเพิ่มคีย์ส่วนตัว PKCS#11มีการใช้ข้อจำกัดกับคีย์แรกที่ส่งคืนโดยโทเค็น PKCS#11 เท่านั้น ปัญหานี้ไม่ส่งผลต่อคีย์ส่วนตัวทั่วไป โทเค็น FIDO หรือคีย์ที่ไม่จำกัด
ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น ของเวอร์ชันใหม่นี้:
- Pubkey ยอมรับอัลกอริธึม ในบล็อก "จับคู่ผู้ใช้"
- หากต้องการจำกัดสิทธิ์ของกระบวนการ sshd เวอร์ชันของ OpenSolaris ที่รองรับอินเทอร์เฟซ getpflags() จะใช้ PRIV_XPOLICY แทนที่จะเป็น PRIV_LIMIT
- เพิ่มการรองรับการอ่านคีย์ส่วนตัว ED25519 ในรูปแบบ PEM PKCS8 สำหรับ ssh, sshd, ssh-add และ ssh-keygen (ก่อนหน้านี้รองรับเฉพาะรูปแบบ OpenSSH เท่านั้น)
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม เกี่ยวกับเวอร์ชันใหม่นี้คุณสามารถตรวจสอบรายละเอียดได้ โดยไปที่ลิงค์ต่อไปนี้
จะติดตั้ง OpenSSH 9.6 บน Linux ได้อย่างไร?
สำหรับผู้ที่สนใจสามารถติดตั้ง OpenSSH เวอร์ชันใหม่นี้บนระบบของตนได้ ตอนนี้พวกเขาทำได้ ดาวน์โหลดซอร์สโค้ดของสิ่งนี้และ ดำเนินการรวบรวมบนคอมพิวเตอร์ของพวกเขา
เนื่องจากเวอร์ชันใหม่ยังไม่รวมอยู่ในที่เก็บของลีนุกซ์หลัก ในการรับซอร์สโค้ดคุณสามารถทำได้จากไฟล์ ลิงค์ต่อไป.
ดาวน์โหลดเสร็จแล้ว ตอนนี้เราจะคลายซิปแพ็คเกจด้วยคำสั่งต่อไปนี้:
tar -xvf openssh-9.6.tar.gz
เราเข้าสู่ไดเร็กทอรีที่สร้างขึ้น:
cd openssh-9.6
Y เราสามารถรวบรวมด้วย คำสั่งต่อไปนี้:
./configure --prefix=/opt --sysconfdir=/etc/ssh make make install