www-data 그룹에 자신을 추가한 후 Linux 호스트에 SSH로 접속할 수 없는 이유는 무엇입니까?

www-data 그룹에 자신을 추가한 후 Linux 호스트에 SSH로 접속할 수 없는 이유는 무엇입니까?

EC2 Linux 호스트(NGINX에서 호스팅)에 웹사이트를 설정했습니다. 디렉토리 /var/www/html의 소유자: 그룹은 이므로 파일을 사용하지 않고도 파일을 편집할 수 있도록 www-data:www-data해당 그룹에 나 자신을 추가해야겠다고 생각했습니다 .www-datasudo

/etc/group의 www-data 그룹에 나를 추가한 후에는 더 이상 호스트에 로그인할 수 없습니다. www-data그룹 에 자신을 추가하려면 다음과 같이 vi를 사용합니다.

sudo vi /etc/group
www-data:x:33:myusername

이 시점에서 그룹을 찾고 www-data줄 끝에 내 사용자 이름을 추가합니다.

(다행히도) 여전히 호스트에 SSH 창이 열려 있었기 때문에 www-data그룹에서 나 자신을 제거하고 SSH를 통해 호스트로 다시 돌아갈 수 있었습니다. 이 동작이 발생하는지 확인하기 위해 내 자신을 추가한 다음 다시 로그인할 수 있도록 내 자신을 제거해 보았습니다.

내 사용자를 www-data그룹에 추가하면 Linux 호스트에 (ssh를 통해) 로그인할 수 없는 이유는 무엇입니까?

답을 찾고

www-data는 Ubuntu에서 웹 서버(예: Apache 및 nginx)가 정상적으로 실행될 때 사용하는 기본 사용자입니다. 웹 서버 프로세스는 www-data가 접근할 수 있는 모든 파일에 접근할 수 있습니다. 다른 건 중요하지 않아

따라서 잘못되었거나 오래되었거나 이런 일이 발생하는 다른 이유가 있습니다.

답변1

호스트에 SELinux 또는 AppArmor와 같은 추가 보안 시스템이 활성화되어 있거나 사용자 정의 PAM 규칙과 같은 것 또는 심지어 매우 방어적인 구성이 있는 경우 /etc/ssh/sshd_config이러한 보안 규칙은 새 세션이 해당 그룹의 구성원임을 감지할 수 있습니다 www-data. 일반적으로 웹 서버의 하위 프로세스만 이 그룹의 구성원이어야 합니다.

웹 서버 하위 프로세스가 셸을 실행하려고 하면 해커 공격일 수 있습니다. 이러한 프로세스는 인증되지 않은 인터넷의 잠재적으로 악의적인 요청을 수락해야 하기 때문에 이전에 알려지지 않은 코드의 취약점으로 인해 침입자가 이를 악용할 수 있습니다. . 악성 코드를 실행하게 하여 프로세스를 침입자의 통제하에 두는 것입니다.

침입 프로세스의 명백한 다음 단계는 하이재킹된 프로세스가 침입자를 위해 셸 세션을 시작하는 것입니다. 따라서 www-data"강화된" 웹 서버에는 그룹 구성원이 셸 세션을 갖는 것을 방지하는 보안 규칙이 있을 수 있습니다. .

자세한 내용을 모르면 확실히 알기는 어렵지만, 이와 같은 보안 기능에 의해 차단될 수 있습니다.

관련 정보