디렉터리의 스크립트에 높은 권한 추가

디렉터리의 스크립트에 높은 권한 추가

웹 요청에서 호출해야 하는 일부 스크립트가 포함된 디렉토리가 있습니다. 스크립트를 실행하려면 높은 권한이 필요합니다.

내 현재 생각은 다음 줄을 추가하는 것입니다 /etc/sudoers.

Cmnd_Alias WEB_COMMANDS = /path/to/scripts
www-data ALL=(ALL) NOPASSWD: WEB_COMMANDS

이것이 이 문제에 대한 올바른 접근 방식입니까? 아니면 잠재적인 보안 취약점을 야기하고 있습니까?

CentOS 7을 사용하면 차이가 있습니다.

답변1

무엇이든 잠재적인 보안 취약점이 있습니다. 두가지:

우선 당신은요?확신하는루트가 필요한가요? 왜? 대신 기능을 사용하여 그렇게 할 수 있나요? (아마도 그럴 수 있을 것이다.)

즉, 귀하의 예는 거의 정확합니다. 경로 뒤에 별표를 추가합니다.

Cmnd_Alias WEB_COMMANDS = /path/to/scripts/*

이제 작동할 것입니다. 그러나 공격자가 해당 스크립트 중 하나라도 수정할 수 있는 경우 공격자는 다음과 같은 이점을 얻을 수 있습니다.전체 루트 액세스. 그들은 간단 exec('/bin/bash')하고 껍질을 가질 수 있습니다. 가능하다면 반드시 스크립트별로 기능 경로를 지정하고 어느 쪽이든 스크립트 디렉터리를 확실히 잠그십시오. 보다이 unix.se 답변스크립트를 사용하여 기능을 관리하는 방법에 대한 정보를 확인하세요.

관련 정보