Phiên bản ổn định đầu tiên của sudo-rs đã được phát hành

sudo

Việc triển khai sudo và su trong Rust nhằm mục đích cải thiện tính bảo mật trong các tiện ích này.

Ba tháng trước, chúng tôi đã chia sẻ trên blog này tin tức về việc ISRG, tổ chức sáng lập dự án Let's Encrypt và thúc đẩy phát triển các công nghệ nhằm tăng cường an ninh mạng, thành lập dự án "Sudo-rs".

Trong bài viết đó, chúng tôi đã chia sẻ một số chi tiết và đặc điểm của dự án, về cơ bản nhằm mục đích tạo ra các triển khai của các tiện ích SUDO và SU bằng Rust (bạn có thể tham khảo bài viết tại liên kết sau ).

Phiên bản ổn định đầu tiên của sudo-rs

Lý do đề cập đến điều này là vì phiên bản ổn định đầu tiên của dự án Sudo-rs vừa được ra mắt gần đây , trong đó các kỹ sư từ Ferrous Systems và Tweede Golf đã tham gia phát triển với nguồn tài trợ từ Google, Cisco và Amazon Web Services.

Đối với những ai chưa quen thuộc với dự án "Sudo-rs", tôi có thể cho bạn biết rằng mục đích của nó là phát triển các phiên bản Rust của các tiện ích SUDO và SU, được thiết kế để thực thi các lệnh thay mặt cho người dùng khác, vì SUDO là một tiện ích dòng lệnh trong các hệ điều hành giống Unix để thực thi các lệnh với quyền hạn của người dùng khác, mặc định là người dùng siêu cấp root.

Các hàm `sudo` và `su` trong `sudo-rs` được viết lại hoàn toàn bằng Rust, một ngôn ngữ ngày càng được sử dụng và khuyến nghị trong ngành công nghiệp, vì nó đã trở thành một trong những ngôn ngữ chính cho Android và thậm chí còn được hỗ trợ như một ngôn ngữ lập trình phụ trong nhân Linux. Về phần mình, Microsoft cũng đã nhiều lần đề cập đến ý định viết lại nhân Linux và một số thư viện Windows có trong đó.

Bài viết đề cập rằng các tiện ích này tương thích với các tiện ích SUDO và SU cổ điển bất cứ khi nào có thể, cho phép sử dụng sudo-rs như một sự thay thế minh bạch cho SUDO trong các trường hợp điển hình phù hợp với cấu hình /etc/sudoers mặc định trong Ubuntu và Debian. Sudo-rs đã được triển khai thay thế cho gói SUDO truyền thống trong bản phân phối Wolfi Linux, với mục tiêu cung cấp mức độ bảo mật cao nhất.

Việc sử dụng ngôn ngữ Rust để phát triển SU và SUDO được cho là sẽ giảm thiểu rủi ro về các lỗ hổng bảo mật do xử lý bộ nhớ không an toàn và loại bỏ sự xuất hiện của các lỗi như truy cập vào vùng nhớ sau khi nó đã được giải phóng và hết bộ nhớ tại ranh giới bộ đệm.

Hơn nữa, để đảm bảo mức độ bảo mật phù hợp, dự án đã phát triển một bộ kiểm thử mở rộng , cho phép giám sát việc duy trì mức độ tương thích cần thiết với tiện ích sudo gốc. Để giảm thiểu bề mặt tấn công và số lượng lỗ hổng tiềm tàng trong sudo-rs, người ta đã quyết định từ bỏ việc triển khai chức năng sudo ít được sử dụng.

Trong số những điểm khác biệt so với SUDO , cần lưu ý rằng chế độ use_pty mặc định được bao gồm, trong số các tính năng cơ bản chưa được triển khai là mail_badpass, cũng như khả năng tương thích với sendmail, trong khi các tính năng chưa được triển khai nhưng sẽ được bổ sung trong tương lai: tiện ích sudoedit, các chế độ NOEXEC và NOINTERCEPT, hỗ trợ liên kết các khối cấu hình "mặc định" với người dùng và lệnh riêng lẻ, khả năng xác thực mà không cần sử dụng PAM.

Điều đáng nói là trong tháng XNUMX này, dự kiến ​​sẽ xác nhận chất lượng triển khai và một cuộc kiểm tra độc lập đối với cơ sở mã sudo-rs cũng đã được lên kế hoạch.

Ngoài ra, bản cập nhật cũng đề cập rằng phiên bản thứ hai dự kiến ​​sẽ bổ sung các công cụ để làm việc trong môi trường đa người dùng , chẳng hạn như chế độ NOEXEC, nhật ký kiểm toán, khả năng cho người dùng sudo ánh xạ máy chủ và hỗ trợ tối đa 16 nhóm người dùng. Phiên bản thứ ba dự kiến ​​sẽ tương thích với cấu hình sudoers được sử dụng trong Fedora, đồng thời sẽ bổ sung tiện ích sudoedit và sử dụng các cơ chế SELinux và AppArmor để tăng cường bảo mật.

Cuối cùng , nếu bạn muốn tìm hiểu thêm về vấn đề này , bạn có thể xem chi tiết tại liên kết sau.


Thêm vào danh sách nguồn ưu tiên trên Google.