โมดูลความปลอดภัย Landlock ของ Linux มีให้ใช้งานตั้งแต่เคอร์เนลเวอร์ชัน 5.13 แต่ถึงแม้จะมีความสามารถในการสร้าง sandbox ที่ทรงพลัง การนำไปใช้ยังคงมีข้อจำกัดเนื่องจาก API ที่ซับซ้อน เครื่องมือใหม่ที่ชื่อว่า Landrun มีเป้าหมายที่จะเปลี่ยนแปลงสิ่งนี้ด้วยการทำให้คุณสมบัติด้านความปลอดภัยของ Landlock สามารถเข้าถึงได้ผ่านอินเทอร์เฟซคอมมานด์ไลน์ที่เรียบง่าย
Landrun เป็นเครื่องมือ CLI เบาที่เขียนด้วยภาษา Go ช่วยให้โปรเซสที่ไม่มีสิทธิ์พิเศษสามารถสร้าง sandbox ที่ปลอดภัยพร้อมการควบคุมการเข้าถึงไฟล์ระบบและเครือข่ายอย่างละเอียด ต่างจากโซลูชัน sandbox แบบดั้งเดิมที่ต้องการสิทธิ์ root หรือการตั้งค่าคอนเทนเนอร์ที่ซับซ้อน Landrun ใช้ประโยชน์จาก Landlock LSM (Linux Security Module) ที่มีอยู่ในเคอร์เนลเพื่อให้ความปลอดภัยที่แข็งแกร่งโดยมีโอเวอร์เฮดน้อยที่สุด
ความปลอดภัยที่เรียบง่ายสำหรับโปรเซสที่ไม่มีสิทธิ์พิเศษ
Landrun แก้ไขช่องว่างที่สำคัญในเครื่องมือความปลอดภัยของ Linux โดยทำให้ API ของ Landlock ที่ทรงพลังแต่ซับซ้อนสามารถเข้าถึงได้สำหรับผู้ใช้ทั่วไป เครื่องมือนี้ช่วยให้สามารถควบคุมได้อย่างแม่นยำว่าโปรเซสสามารถอ่านจากไดเรกทอรีใด เขียนไปยังไดเรกทอรีใด หรือเรียกใช้ไฟล์จากไดเรกทอรีใด รวมถึงพอร์ต TCP ใดที่สามารถผูกหรือเชื่อมต่อได้
Linux Landlock เป็นโมดูลความปลอดภัยระดับเคอร์เนลที่ช่วยให้โปรเซสที่ไม่มีสิทธิ์พิเศษสามารถสร้าง sandbox ให้ตัวเองได้ - แต่ไม่มีใครใช้มันเพราะ API นั้น... ยากเกินไป!
แนวทางด้านความปลอดภัยนี้คล้ายคลึงกับ system call ของ OpenBSD ที่เรียกว่า pledge และ unveil ซึ่งผู้ใช้หลายคนในการสนทนาชื่นชมในความเรียบง่าย ในขณะที่การใช้งาน Landlock จำเป็นต้องมีความซับซ้อนมากกว่าเนื่องจากข้อกำหนดความเข้ากันได้ของ ABI ที่เข้มงวดของ Linux แต่ Landrun ช่วยลดความซับซ้อนนี้ลง โดยให้อินเทอร์เฟซที่เข้าถึงได้ง่ายกว่า
การเปรียบเทียบกับโซลูชันที่มีอยู่
การสนทนาในชุมชนได้เน้นถึงการเปรียบเทียบระหว่าง Landrun และเครื่องมือ sandboxing ที่มีอยู่เช่น Firejail, Bubblewrap และ nsjail ในขณะที่เครื่องมือเหล่านี้มักใช้ Linux namespaces สำหรับการแยก การใช้ Landlock ของ Landrun มีข้อได้เปรียบที่แตกต่างกัน
Namespaces แม้จะมีประสิทธิภาพ แต่อาจนำเสนอพื้นที่การโจมตีขนาดใหญ่และมักต้องการการเปลี่ยนแปลงที่สำคัญกว่าสำหรับแอปพลิเคชันที่ต้องการสร้าง sandbox ให้ตัวเอง นอกจากนี้ยังมักต้องการสิทธิ์ root หรือการกำหนดค่าระบบพิเศษ ในทางกลับกัน Landlock ถูกออกแบบมาโดยเฉพาะเพื่อให้ใช้โดยโปรเซสที่ไม่มีสิทธิ์พิเศษและผสานรวมกับกลไกความปลอดภัยที่มีอยู่ได้ดี
ผู้ใช้หลายคนสังเกตว่า Firejail ได้เพิ่มการสนับสนุน Landlock เช่นกัน ซึ่งบ่งชี้ถึงความสนใจที่เพิ่มขึ้นในกลไกความปลอดภัยนี้ทั่วทั้งระบบนิเวศของ Linux
ข้อจำกัดเครือข่ายและการพัฒนาในอนาคต
หนึ่งในแง่มุมที่มีการพูดถึงมากที่สุดของ Landrun คือความสามารถในการจำกัดเครือข่าย ปัจจุบัน Landrun รองรับข้อจำกัดตามพอร์ต TCP (การผูกและการเชื่อมต่อ) แต่เฉพาะบน Linux kernel 6.8 หรือใหม่กว่าที่มี Landlock ABI v5
นักพัฒนาได้แสดงแผนที่จะขยายความสามารถในการกรองเครือข่ายในรุ่นที่จะมาถึง รวมถึงการสนับสนุน UDP และอาจมีการควบคุมที่ละเอียดยิ่งขึ้น แนวทางแบบค่อยเป็นค่อยไปนี้สอดคล้องกับวิวัฒนาการของ Landlock เองในเคอร์เนล Linux
ผู้ใช้บางคนแสดงความสนใจในการตั้งค่าไฟร์วอลล์ต่อโปรเซส โดยสังเกตว่านี่เป็นความท้าทายที่มีมานานในความปลอดภัยของ Linux แม้ว่า Landrun จะไม่ได้แก้ไขปัญหานี้อย่างสมบูรณ์ แต่ข้อจำกัดของ TCP ของมันก็เป็นก้าวหนึ่งในทิศทางนั้นสำหรับแอปพลิเคชันที่ต้องการการเข้าถึงเครือข่ายที่ควบคุมได้
คุณสมบัติของ Landrun
- ความปลอดภัยระดับเคอร์เนลโดยใช้ Landlock LSM
- การทำงานที่เบาและรวดเร็ว
- การควบคุมการเข้าถึงไดเรกทอรีอย่างละเอียด
- รองรับเส้นทางการอ่านและเขียน
- สิทธิ์การเรียกใช้งานเฉพาะเส้นทาง
- การควบคุมการเข้าถึงเครือข่าย TCP (การผูกและการเชื่อมต่อ)
ตารางความเข้ากันได้กับเคอร์เนล
คุณสมบัติ | เวอร์ชันเคอร์เนลขั้นต่ำ | เวอร์ชัน Landlock ABI |
---|---|---|
การแซนด์บ็อกซ์ระบบไฟล์พื้นฐาน | 5.13 | 1 |
การควบคุมการอ้างอิง/การย้ายตำแหน่งไฟล์ | 5.19 | 2 |
การควบคุมการตัดทอนไฟล์ | 6.2 | 3 |
ข้อจำกัดเครือข่าย TCP | 6.7 | 4 |
IOCTL บนไฟล์พิเศษ | 6.10 | 5 |
การประยุกต์ใช้งานจริง
สมาชิกในชุมชนได้แบ่งปันกรณีการใช้งานต่างๆ สำหรับ Landrun ตั้งแต่การรักษาความปลอดภัยของเว็บเซิร์ฟเวอร์ด้วยสิทธิ์เครือข่ายที่เลือกได้ไปจนถึงการรันโค้ดที่ไม่น่าเชื่อถือในสภาพแวดล้อมที่ควบคุมได้ ผู้ใช้รายหนึ่งกล่าวถึงการใช้เครื่องมือที่คล้ายกันเพื่อจำกัดการสร้างซอฟต์แวร์จากบุคคลที่สาม ซึ่งเน้นย้ำถึงประโยชน์ด้านความปลอดภัยในทางปฏิบัติสำหรับเวิร์กโฟลว์การพัฒนาประจำวัน
สำหรับผู้ใช้เดสก์ท็อป บางคนเปรียบเทียบกับระบบสิทธิ์ของ macOS ซึ่งแอปพลิเคชันต้องขอสิทธิ์เข้าถึงไดเรกทอรีเฉพาะ แม้ว่า Landrun จะยังไม่ได้ใช้ระบบสิทธิ์แบบโต้ตอบ แต่ก็ให้กลไกพื้นฐานที่สามารถเปิดใช้งานฟังก์ชันดังกล่าวในอนาคตได้
ลักษณะที่เบาและไม่ต้องพึ่งพาอะไรมากของเครื่องมือนี้ทำให้มีความน่าสนใจเป็นพิเศษสำหรับผู้ใช้ที่ใส่ใจเรื่องความปลอดภัยซึ่งต้องการเพิ่มชั้นการป้องกันเพิ่มเติมโดยไม่มีภาระของการทำคอนเทนเนอร์เต็มรูปแบบ
ในขณะที่ Linux ยังคงพัฒนาความสามารถด้านความปลอดภัย เครื่องมืออย่าง Landrun มีบทบาทสำคัญในการทำให้คุณสมบัติความปลอดภัยขั้นสูงสามารถเข้าถึงได้สำหรับผู้ชมในวงกว้าง ด้วยการทำให้อินเทอร์เฟซไปยัง Landlock ง่ายขึ้น Landrun ช่วยลดช่องว่างระหว่างกลไกความปลอดภัยระดับเคอร์เนลที่ทรงพลังและกรณีการใช้งานในชีวิตประจำวันที่ปฏิบัติได้จริง
อ้างอิง: landrun