sudo-rs의 첫 번째 안정 버전이 이미 출시되었습니다.

sudo는

Rust에서 sudo 및 su 구현은 이러한 유틸리티의 보안을 향상시키는 것을 목표로 합니다.

세 달 전, 저희 블로그에서 Let's Encrypt 프로젝트의 창립자이자 인터넷 보안 강화 기술 개발을 추진하는 ISRG가 "Sudo-rs" 프로젝트를 시작했다는 소식을 전해드렸습니다.

해당 게시글에서 우리는 프로젝트의 세부 사항과 특징을 공유했는데 , 이 프로젝트의 목표는 기본적으로 Rust로 SUDO 및 SU 유틸리티를 구현하는 것입니다( 다음 링크에서 해당 게시글을 확인할 수 있습니다 ).

sudo-rs의 첫 번째 안정 버전

이 이야기를 꺼내는 이유는 최근 Sudo-rs 프로젝트의 첫 번째 안정 버전이 출시 되었기 때문입니다 . 이 프로젝트에는 Ferrous Systems와 Tweede Golf의 엔지니어들이 참여했으며, Google, Cisco 및 Amazon Web Services에서 자금을 지원했습니다.

"Sudo-rs" 프로젝트에 대해 잘 모르시는 분들을 위해 설명드리자면, 이 프로젝트의 목적은 SUDO 및 SU 유틸리티의 Rust 버전을 개발하는 것입니다. SUDO는 유닉스 계열 운영 체제에서 다른 사용자(기본적으로 루트 슈퍼유저)의 권한으로 명령을 실행하는 콘솔 유틸리티입니다.

`sudo-rs`의 `sudo` 및 `su` 함수는 Rust로 처음부터 새로 작성되었습니다. Rust는 업계에서 점점 더 많이 사용되고 권장되는 언어로, 안드로이드 개발의 주요 언어 중 하나가 되었으며 리눅스 커널에서도 보조 프로그래밍 언어로 지원됩니다. 마이크로소프트 또한 여러 차례에 걸쳐 커널과 그 안에 포함된 일부 윈도우 라이브러리를 재작성할 계획을 밝힌 바 있습니다.

이 유틸리티는 가능한 한 기존 SUDO 및 SU 유틸리티와 호환되도록 설계되어 있어, Ubuntu 및 Debian의 기본 /etc/sudoers 설정과 유사한 일반적인 시나리오에서 SUDO를 투명하게 대체할 수 있습니다 . sudo-rs는 최고 수준의 보안을 제공하기 위해 Wolfi Linux 배포판에서 기존 SUDO 패키지를 대체하여 이미 구현되었습니다.

SU와 SUDO 개발에 Rust 언어를 사용하는 것은 안전하지 않은 메모리 처리로 인한 취약점 발생 위험을 줄이고 , 해제된 메모리 영역에 접근하거나 버퍼 경계에서 메모리 부족 오류가 발생하는 등의 문제를 방지하기 위한 것입니다 .

또한, 적절한 수준의 보안을 보장하기 위해 프로젝트는 확장된 테스트 모음을 개발했으며 , 이를 통해 기존 sudo 유틸리티와의 필요한 호환성 유지 여부를 모니터링할 수 있습니다. sudo-rs의 공격 표면과 잠재적 취약점 수를 줄이기 위해 사용 빈도가 낮은 sudo 기능은 구현하지 않기로 결정했습니다.

SUDO와의 차이점으로는 기본 use_pty 모드가 포함되어 있다는 점 , 기본적으로 구현되지 않은 기능 으로는 mail_badpass 와 sendmail과의 호환성이 있다는 점, 그리고 아직 구현되지 않았지만 향후 추가될 기능으로는 sudoedit 유틸리티, NOEXEC 및 NOINTERCEPT 모드, 개별 사용자 및 명령에 "기본" 구성 블록을 연결하는 기능, PAM을 사용하지 않고 인증하는 기능 등이 있습니다.

이번 XNUMX월에는 구현 품질을 확인할 예정이며 sudo-rs 코드 베이스에 대한 독립적인 감사도 계획되어 있다는 점을 언급할 가치가 있습니다.

또한, 두 번째 버전에서는 NOEXEC 모드, 감사 로그, sudoers 의 호스트 매핑 기능, 최대 16개 사용자 그룹 지원 등 다중 사용자 환경에서 작업하기 위한 도구들을 추가할 계획이라고 언급되어 있습니다. 세 번째 버전은 Fedora에서 사용되는 sudoers 설정과 호환되도록 설계되었으며, sudoedit 유틸리티를 추가하고 SELinux 및 AppArmor 메커니즘을 활용하여 보안을 강화할 예정입니다.

마지막으로 , 이 주제에 대해 더 자세히 알고 싶으시다면 다음 링크에서 자세한 내용을 확인하실 수 있습니다 .


Google에서 선호하는 검색 엔진으로 추가