sudo 공격으로부터 폴더를 보호하세요

sudo 공격으로부터 폴더를 보호하세요

sudoer가 폴더를 볼 수 없도록 하는 기능이 있습니까(사용자와 루트만 폴더에 액세스할 수 있음)?

답변1

"sudoers"가 접두어를 사용하여 명령을 루트로 실행하도록 허용된 사람들을 참조한다고 가정하면 파일에서 비슷한 줄로 sudo언급되기 때문에 이러한 사람들은sudoersbob ALL=(ALL) ALL뿌리. 루트의 정의는 루트 계정의 비밀번호를 알지 못하지만 어떤 수단을 통해서든 루트 계정에 접근하는 것입니다.

루트 보호로부터 데이터를 보호할 수 없습니다. 정의에 따르면 루트 사용자는 모든 작업을 수행할 수 있습니다. 루트는 권한을 변경하거나 우회할 수 있으므로 권한은 도움이 되지 않습니다. 루트는 암호 해독을 수행하는 프로그램을 파괴할 수 있으므로 암호화는 도움이 되지 않습니다.

누군가를 신뢰할 수 없다면 데이터를 저장한 컴퓨터에 대한 루트 액세스 권한을 부여하지 마세요. 컴퓨터에 대한 루트 액세스 권한을 가진 사람을 신뢰할 수 없다면 해당 컴퓨터에 데이터를 저장하지 마십시오.

사용자가 특정 목적(예: 간편한 애플리케이션 관리, 패키지 설치 등)을 위해 루트 액세스가 필요한 경우 자체 하드웨어를 제공하거나 자체 가상 머신을 제공하십시오. 호스트 시스템의 루트가 아닌 가상 시스템의 루트로 만듭니다.

답변2

sudo액세스는 일반적으로 다음과 같은 방식으로 부여됩니다.

# User privilege specification

root    ALL=(ALL) ALL
user1   ALL=(ALL) ALL

이 경우 사용자는 기본적으로 루트가 되어 제한 없이 원하는 모든 작업을 수행할 수 있습니다. 이렇게 하면 sudo의 다양한 작업에 대한 액세스 권한을 보다 지능적으로 부여할 수 있습니다.

user1  ALL=(root) /usr/bin/find, /bin/rm

여기서는 user1이 사용할 수 있는 명령을 find및 로 제한합니다 rm. 사용자에게 특정 명령만 필요하다는 것을 알고 있는 경우 해당 명령에만 독점적인 액세스 권한을 부여할 수 있습니다.

또한 단순히 명령을 추가하는 대신 스크립트를 생성할 수도 있습니다. 예를 들어:

user1  ALL=(root) /usr/local/bin/limited_script.sh

이 스크립트는 액세스할 수 있는 유일한 명령입니다. 예를 들어 cd /to/some/dir이전 스크립트에서 액세스할 수 있는 명령을 래핑할 수 있습니다. 이는 접근을 제한하는 방법이 될 수 있습니다.

이 방법은 완전한 증거는 아니지만 일정 수준의 보호를 제공할 수 있습니다.

답변3

sudoer가 실행할 수 있는 명령이 sudoers구성 파일(일반적으로 /etc/sudoers) 에서 제한되어 sudo있지 않으면 rootsudoer가 디렉터리에 액세스하는 것을 막을 수 없습니다.

답변4

ACL을 사용하고 적절한 ACE 항목을 설정하여 이 작업을 수행할 수 있습니다. 그러나 이것이 더 문제입니다.

어쨌든 이렇게 하면 관리자가 파일/디렉터리 문제를 해결하는 데 어떻게 도움을 주나요? 신뢰할 수 있는 사용자를 신뢰하거나 신뢰하지 않고 관리자를 신뢰하는 다른 시스템으로 이동합니다.

관련 정보