루트가 아닌 사용자에게 sudo 권한을 부여하는 것이 더 안전한 이유는 무엇입니까?

루트가 아닌 사용자에게 sudo 권한을 부여하는 것이 더 안전한 이유는 무엇입니까?

최근 NodeJS 애플리케이션을 실행하기 위해 EC2에 Amazon Linux를 설치했습니다.

루트가 아닌 사용자로 실행하는 것이 좋습니다. 사용자는 여전히 나이므로 목록에 없는 vim에 다른 사람이 액세스하는 것에 대해 걱정하지 마십시오.

새 사용자를 추가했는데 이제 새 사용자는 루트와 동일한 sudo 권한을 갖습니다. 그렇다면 이제 무엇이 더 안전할 수 있을까요? 단지 newuser가 명령을 실행하기 위해 비밀번호를 입력해야 하기 때문인가요?

NodeJS 프로덕션 환경 설정

답변1

newuser에서 특정 명령 집합을 정의할 수 있으므로 명령은 /etc/sudoers높은 권한으로 실행되도록 제한됩니다. 이상적으로는 필요한 최소한의 명령을 찾아 이를 제한하는 것입니다. 가능하다면 이 계정이 모든 명령을 루트로 실행하는 것을 허용하지 마십시오.

다음으로, SSH를 통해 루트가 로그인하는 것을 허용하지 않습니다. ( /etc/ssh/sshd_config, 놓다 PermitRootLogin no). 항상 루트가 아닌 자신으로 로그인하고 필요에 따라 sudo를 사용합니다.

답변2

악의적인 사용자가 귀하의 로그인 정보에 액세스하고 귀하에게 무제한 sudo액세스 권한이 있는 경우 귀하가 옳습니다. sudo액세스는 셸을 직접 사용하는 것에 비해 추가 장벽을 제공하지 않습니다 root. (어쨌든 이것은 아마도 그들이 액세스와 관련하여 가장 먼저 하는 일일 것입니다 sudo.)

그러나 만약에이를 사용하려면 실제로 사용하지 않는 한 일반 권한을 사용하십시오.필요루트 액세스는 불쾌한 실수를 예방하는 데 도움이 됩니다.

이곳은 안전한 장소가 아닙니다. 사고를 예방하는 포인트입니다.

이에 대해서는 이 사이트의 다른 곳에서 광범위하게 논의되었습니다.


참고: 매우 구체적인 명령에 대한 액세스 제한을 설정하는 것은 확실히 기업 환경에서 sudo실질적인 보안 이점을 제공합니다 . 위의 진술에서 나는 개인용 컴퓨터를 언급하고 있으며 이 질문에 대답하려면 다음과 같이 하십시오." 개인용 컴퓨터에서도 셸을 직접 사용하는 것보다 무제한 sudo액세스가 더 나은 이유는 무엇입니까?"root 사고를 예방할 수 있어 바람직합니다.

관련 정보