예, SELinux는 Red Hat (및 실제로 사용하는 다른 Linux 배포판)을 실제로 사용하고 있다고 가정하여 보안을 강화합니다.
SELinux는 필수 액세스 제어를 구현 합니다. 일반적인 Unix 권한, ACL 등은 임의 액세스 제어를 구현 합니다. 두 사람은 서로를 보완합니다.
SELinux가 작동하려면 시스템에서 허용되는 작업을 정의하는 정책이 필요합니다. 처음부터 전체 시스템 정책을 작성할 수 있지만 대부분의 Linux 배포판은 소위 참조 정책을 기반으로하는 정책을 제공 합니다. 이는 여러 배포판에서 SELinux를 구성하는 것이 매우 유사하다는 것을 의미합니다. (대부분의 Linux 배포판에서는 SELinux 참조 정책을 기본적으로 설치되지 않을 수도 있지만 패키지 리포지토리에서 사용할 수 있습니다.)
SELinux는 사용자와 프로세스가 정책에서 허용 된 작업 만 수행하도록 제한하여 작동합니다. 기본적으로 정책은 거부되므로 정책에서 명시 적으로 작업을 허용하지 않으면 발생하지 않습니다. 그렇기 때문에 SELinux가 자주하려고하는 것을 허용하지 않는 문제가 발생하는 이유입니다.
밝은면에서, 이것은 악의적 인 공격, 심지어 0 일의 악용까지도 피할 수 없게합니다. 예를 들어, 웹 서버 (Apache)가 악용되면 피해는 Apache가 액세스 할 수있는 것만으로 제한됩니다. /etc/shadow
예를 들어 원격 루트 익스플로잇을 사용하더라도 파일 을 읽을 수 없습니다 . DAC (Unix Permissions)는 루트가 파일을 읽을 수 있도록 허용하지만 SELinux (MAC)는 손상된 프로세스가 범위를 벗어나는 것을 허용하지 않습니다.
가장 큰 문제는 서비스를 위해 SELinux 정책 모듈이로드되어 있어야한다는 것입니다. SELinux 정책 모듈이 포함되지 않은 서비스를 상자에 설치하면 제한없이 실행되며 원하는 작업을 수행 할 수 있습니다. SELinux는 적용되지 않습니다.
당신이 알아야 할 또 다른 것은 부울 에 관한 것 입니다. 이러한 조정 가능한 매개 변수는 SELinux 정책에 의해 제공되어 특정 설치에 맞게 사용자 정의하고 로컬 구성 요구에 따라 액세스를 허용 또는 거부합니다. 예를 들어 Apache에 Samba 공유에 대한 액세스 권한을 부여하고 Samba가 사용자 홈 디렉토리 및 일부 설정에는 필요하지만 다른 설정에는 필요하지 않은 기타 유용한 정보를 공유 할 수 있습니다.
현재 본 SELinux에 대한 최고의 안내서는 Red Hat의 보안 강화 Linux 사용자 안내서 입니다. 그것은 당신이 빨리 일어나고 실행하는 데 도움이 될뿐만 아니라 무슨 일이 일어나고 있는지의 배경 세부 사항을 작성합니다. 또한 SELinux에서 프로세스를 실행하는 데 도움이 되는 포괄적 인 문제 해결 안내서 도 포함되어 있습니다.
유용합니까?
SELinux는 프로세스 (및 사용자를 제한 한 경우 사용자)가 예기치 않은 작업을 수행하지 않도록 보호합니다. 원격 악용으로 인한 피해를 심각하게 제한합니다. 당신이 원격 타협을 겪어 본 적이 없다면, 당신은 (1) 운이 좋으며 (2) 아마도 새로운 사람입니다. 원격 타협 을 수행 한 경우 에는 다시 발생하기를 원하지 않습니다.
집 에서 인터넷 연결 서비스를 실행하지 않는 한 (그리고 일부 사람들은) 가정 환경 에서 유용하지 않습니다 . 이 경우 위에서 말한 모든 내용이 적용됩니다.
SELinux는 데이터와 실제로 원하는 제로 데이 익스플로잇을 가진 공격자 사이에있는 마지막 것입니다. 당신 이 그것을 사용할 수 있다면, 왜 그렇지 않습니까?