6.2. 새로운 Linux 사용자 제한: useradd
SELinux
unconfined_u 사용자에게 매핑된 Linux 사용자는 unconfined_t 도메인에서 실행됩니다. 이는 unconfined_u 에 매핑된 Linux 사용자로 로그인한 동안 id -Z 명령을 실행하여 확인할 수 있습니다.
id -Z unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
~]$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Linux 사용자가
unconfined_t 도메인에서 실행되면 SELinux 정책 규칙이 적용되지만, unconfined_t 도메인에서 실행되는 Linux 사용자가 거의 모든 액세스 권한을 허용하는 정책 규칙이 있습니다. 제한되지 않은 Linux 사용자가 SELinux 정책에서 정의한 애플리케이션을 실행하는 경우 unconfined_t 도메인에서 자체 제한된 도메인으로 전환할 수 있는 경우 제한되지 않은 Linux 사용자에게는 여전히 해당 제한된 도메인의 제한 사항이 적용됩니다. 이 경우의 보안 이점은 Linux 사용자가 제한되지 않았더라도 애플리케이션이 제한된 상태로 유지되므로 애플리케이션에서 결함을 악용하는 것은 정책에 의해 제한될 수 있다는 것입니다.
참고
이렇게 하면 사용자로부터 시스템을 보호하지 않습니다. 대신, 사용자 및 시스템은 애플리케이션의 결함으로 인해 발생할 수 있는 손상으로부터 보호되고 있습니다.
useradd 명령으로 Linux 사용자를 생성할 때
-Z 옵션을 사용하여 매핑되는 SELinux 사용자를 지정합니다. 다음 예제에서는 새 Linux 사용자인 useruuser 를 생성하고 해당 사용자를 SELinux user_u 사용자에게 매핑합니다. SELinux user_u 사용자에게 매핑된 Linux 사용자는 user_t 도메인에서 실행됩니다. 이 도메인에서 Linux 사용자는 SELinux 정책에서 허용하지 않는 한 setuid 애플리케이션을 실행할 수 없으며 su 또는 sudo 명령을 실행할 수 없으므로 이러한 명령을 사용하여 root 사용자가 되지 않습니다.
절차 6.1. user_u SELinux 사용자로 새 Linux 사용자 제한
- root 로서 SELinux
user_u사용자에게 매핑되는 새 Linux 사용자(useruuser)를 만듭니다.useradd -Z user_u useruuser
~]# useradd -Z user_u useruuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow useruuser와user_u간의 매핑을 보려면 root로 다음 명령을 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - root 로서 Linux
useruuser사용자에게 암호를 할당합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 현재 세션에서 로그아웃한 후 Linux
useruuser사용자로 로그인합니다. 로그인하면pam_selinux모듈은 Linux 사용자를 SELinux 사용자(이 경우user_u)에 매핑하고 결과 SELinux 컨텍스트를 설정합니다. 그런 다음 Linux 사용자의 쉘이 이 컨텍스트를 사용하여 시작됩니다. 다음 명령을 입력하여 Linux 사용자의 컨텍스트를 확인합니다.id -Z user_u:user_r:user_t:s0
~]$ id -Z user_u:user_r:user_t:s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Linux
useruuser에서 로그아웃한 후 계정으로 다시 로그인합니다. Linuxuseruuser사용자가 필요하지 않은 경우 root로 다음 명령을 입력하여 홈 디렉터리와 함께 제거합니다.userdel -Z -r useruuser
~]# userdel -Z -r useruuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow