Module bảo mật Landlock của Linux đã có sẵn từ phiên bản kernel 5.13, nhưng mặc dù có khả năng sandbox mạnh mẽ, việc áp dụng vẫn còn hạn chế do API phức tạp. Một công cụ mới có tên Landrun nhằm thay đổi điều đó bằng cách làm cho các tính năng bảo mật của Landlock trở nên dễ tiếp cận thông qua giao diện dòng lệnh đơn giản.
Landrun, một công cụ CLI nhẹ được viết bằng Go, cho phép các tiến trình không đặc quyền tạo ra các sandbox an toàn với kiểm soát truy cập hệ thống tệp và mạng chi tiết. Không giống như các giải pháp sandbox truyền thống đòi hỏi đặc quyền root hoặc thiết lập container phức tạp, Landrun tận dụng Landlock LSM (Linux Security Module) tích hợp trong kernel để cung cấp bảo mật mạnh mẽ với chi phí tối thiểu.
Bảo Mật Đơn Giản Hóa cho Các Tiến Trình Không Đặc Quyền
Landrun giải quyết một khoảng trống đáng kể trong công cụ bảo mật Linux bằng cách làm cho API mạnh mẽ nhưng phức tạp của Landlock trở nên dễ tiếp cận với người dùng hàng ngày. Công cụ này cho phép kiểm soát chính xác các thư mục mà một tiến trình có thể đọc, ghi hoặc thực thi tệp, cũng như các cổng TCP mà nó có thể liên kết hoặc kết nối đến.
Linux Landlock là một module bảo mật tích hợp trong kernel cho phép các tiến trình không đặc quyền tự sandbox - nhưng không ai sử dụng nó vì API quá... khó!
Cách tiếp cận bảo mật này gợi nhớ đến các lệnh gọi hệ thống pledge và unveil của OpenBSD, mà nhiều người dùng trong cuộc thảo luận đã khen ngợi vì sự đơn giản của chúng. Mặc dù việc triển khai Landlock nhất thiết phức tạp hơn do yêu cầu tương thích ABI nghiêm ngặt của Linux, Landrun trừu tượng hóa sự phức tạp này, cung cấp một giao diện dễ tiếp cận hơn.
So Sánh với Các Giải Pháp Hiện Có
Cuộc thảo luận cộng đồng đã làm nổi bật một số so sánh giữa Landrun và các công cụ sandbox hiện có như Firejail, Bubblewrap và nsjail. Trong khi các công cụ này thường sử dụng namespaces của Linux để cách ly, việc Landrun sử dụng Landlock mang lại một số lợi thế riêng biệt.
Namespaces, mặc dù mạnh mẽ, có thể tạo ra một bề mặt tấn công lớn và thường đòi hỏi những thay đổi đáng kể đối với các ứng dụng muốn tự sandbox. Chúng cũng thường đòi hỏi đặc quyền root hoặc cấu hình hệ thống đặc biệt. Ngược lại, Landlock được thiết kế đặc biệt để được sử dụng bởi các tiến trình không đặc quyền và tích hợp tốt với các cơ chế bảo mật hiện có.
Một số người dùng lưu ý rằng Firejail gần đây cũng đã thêm hỗ trợ Landlock, cho thấy sự quan tâm ngày càng tăng đối với cơ chế bảo mật này trong hệ sinh thái Linux.
Hạn Chế Mạng và Phát Triển Tương Lai
Một trong những khía cạnh được thảo luận nhiều nhất của Landrun là khả năng hạn chế mạng. Hiện tại, Landrun hỗ trợ các hạn chế dựa trên cổng TCP (liên kết và kết nối), nhưng chỉ trên Linux kernel 6.8 trở lên với Landlock ABI v5.
Các nhà phát triển đã cho biết kế hoạch mở rộng khả năng lọc mạng trong các phiên bản tương lai, bao gồm hỗ trợ UDP và có thể là các điều khiển chi tiết hơn. Cách tiếp cận tăng dần này đối với việc phát triển tính năng phù hợp với sự phát triển của chính Landlock trong kernel Linux.
Một số người dùng bày tỏ sự quan tâm đến cài đặt tường lửa cho từng tiến trình, lưu ý rằng đây là một thách thức lâu dài trong bảo mật Linux. Mặc dù Landrun không hoàn toàn giải quyết vấn đề này, các hạn chế TCP của nó cung cấp một bước tiến cho các ứng dụng cần kiểm soát truy cập mạng.
Tính năng của Landrun
- Bảo mật cấp độ kernel sử dụng Landlock LSM
- Thực thi nhẹ và nhanh
- Kiểm soát truy cập chi tiết cho các thư mục
- Hỗ trợ đường dẫn đọc và ghi
- Quyền thực thi cụ thể theo đường dẫn
- Kiểm soát truy cập mạng TCP (kết nối và liên kết)
Bảng Tương thích Kernel
Tính năng | Phiên bản Kernel tối thiểu | Phiên bản Landlock ABI |
---|---|---|
Sandbox hệ thống tệp cơ bản | 5.13 | 1 |
Kiểm soát tham chiếu/tái cấp phép tệp | 5.19 | 2 |
Kiểm soát cắt ngắn tệp | 6.2 | 3 |
Hạn chế mạng TCP | 6.7 | 4 |
IOCTL trên tệp đặc biệt | 6.10 | 5 |
Ứng Dụng Thực Tế
Các thành viên cộng đồng đã chia sẻ nhiều trường hợp sử dụng cho Landrun, từ việc bảo mật máy chủ web với quyền mạng có chọn lọc đến chạy mã không đáng tin cậy trong môi trường được kiểm soát. Một người dùng đề cập đến việc sử dụng một công cụ tương tự để hạn chế việc xây dựng phần mềm của bên thứ ba, nhấn mạnh lợi ích bảo mật thực tế cho quy trình phát triển hàng ngày.
Đối với người dùng máy tính để bàn, một số người đã so sánh với hệ thống quyền của macOS, nơi các ứng dụng phải yêu cầu quyền truy cập vào các thư mục cụ thể. Mặc dù Landrun hiện không triển khai hệ thống quyền tương tác, nó cung cấp cơ chế cơ bản có thể cho phép chức năng như vậy trong tương lai.
Bản chất nhẹ và không phụ thuộc của công cụ làm cho nó đặc biệt hấp dẫn đối với người dùng quan tâm đến bảo mật, những người muốn thêm một lớp bảo vệ bổ sung mà không cần chi phí của việc container hóa đầy đủ.
Khi Linux tiếp tục phát triển khả năng bảo mật của mình, các công cụ như Landrun đóng vai trò quan trọng trong việc làm cho các tính năng bảo mật nâng cao trở nên dễ tiếp cận với đông đảo người dùng. Bằng cách đơn giản hóa giao diện với Landlock, Landrun giúp thu hẹp khoảng cách giữa các cơ chế bảo mật cấp kernel mạnh mẽ và các trường hợp sử dụng thực tế, hàng ngày.
Tham khảo: landrun