이 페이지에서는 SELinux를 사용 설정하여 컨테이너를 보호하는 방법을 설명합니다. SELinux는 RHEL 및 CentOS에 대해 지원됩니다. 호스트 머신이 RHEL 또는 CentOS를 실행 중이고 클러스터에서 SELinux를 사용 설정하려면 모든 호스트 머신에서 SELinux를 사용 설정해야 합니다. 베어메탈용 GKE 출시 버전 1.9.0 이상부터 시작하여 클러스터 만들기 또는 클러스터 업그레이드 전후에 SELinux를 사용 설정 또는 사용 중지할 수 있습니다. SELinux가 호스트에서 사용 설정되면 컨테이너 런타임에 대해 사용 설정됩니다.
SELinux가 사용 설정되었는지 확인
SELinux는 기본적으로 RHEL 및 CentOS에서 사용 설정됩니다. 확인하려면 다음을 실행합니다.
$ getenforce
이 명령어는 Enforcing
, Permissive
, Disabled
를 반환합니다. 이 명령어가 Enforcing
을 반환하면 클러스터를 업그레이드하거나 만들 수 있습니다.
SELinux 사용 설정
getenforce
명령어가 Permissive
를 반환하면 setenforce
명령어를 사용하여 Enforcing
모드로 전환할 수 있습니다. setenforce
를 사용하여 Permissive
또는 Enforcing
모드로 전환할 때는 시스템 재부팅이 필요하지 않습니다. 하지만 재부팅 시에도 변경사항이 유지되도록 하려면 /etc/selinux/config
파일을 업데이트해야 합니다.
Enforcing
모드로 전환하려면 다음을 실행합니다.
$ sudo setenforce 1 # temporary
$ sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot
SELinux가 Disabled
일 때, 이를 사용 설정하려면 먼저 Permissive
모드에서 사용 설정한 후 시스템을 재부팅하여 시스템이 성공적으로 부팅되는지 확인하는 것이 좋습니다. SELinux 오류가 없으면 SELinux를 Enforcing
모드로 안전하게 전환할 수 있습니다.
선택사항:
Permissive
모드에서 SELinux 사용 설정:$ sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config $ sudo reboot
SELinux 오류 없이 시스템이 성공적으로 재부팅되면
Enforcing
모드를 사용 설정할 수 있습니다.$ sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config $ sudo reboot
SELinux가 Enforcing
모드에서 사용 설정되면 SELinux가 컨테이너 런타임을 포함하여 호스트의 모든 프로세스에 사용 설정됩니다.