selinux의 실제 적용 [닫기]

selinux의 실제 적용 [닫기]

내가 본 거의 모든 튜토리얼과 대부분의 시스템에는 selinux가 비활성화되어 있는 것 같습니다. 실제 세계에서 selinux 보안이 실제로 구현되어 있습니까?

답변1

SELinux는 일련의 레이블을 사용하여 프로세스가 수행할 수 있는 작업과 수행할 수 없는 작업을 제어하는 ​​필수 액세스 제어 형식입니다. 권한과 관련하여 Linux의 기본 액세스 제어 방법은 ugo임의적입니다. 실제로 어떤 권한을 어디로 보낼지 결정하는 것은 사용자의 몫입니다. SELinux의 필수 액세스 제어에 대한 한 가지 "문제"는 애플리케이션이 때때로 알 수 없는 이유로 원하는 방식으로 작동하기를 거부한다는 것입니다.

rsyslog데몬 프로세스를 예로 들어보겠습니다 . 다음 디렉터리와 파일에는 /var/log사용할 올바른 SELinux 라벨이 있습니다 rsyslog. 그러나 시스템의 다른 /opt곳 (예:)에서 로그 파일을 정의하려고 하면 rsyslog파일의 SELinux 컨텍스트가 잘못되어 로그 파일에 쓸 수 없습니다. 액세스 제어는 필수이므로 777새 로그 파일에 대한 권한을 설정하더라도 이 문제가 발생합니다. 이 특별한 경우에는 SELinux 컨텍스트가 작동합니다 chcon. 하지만 다음에 파일 시스템의 레이블을 다시 지정하면 해당 컨텍스트가 손실됩니다. 그래서 당신에게 정말로 필요한 것은 입니다 semanage fcontext.

위의 예를 통해 설명하려고 시도한 것처럼 SELinux는 강력한 학습 곡선을 가지고 있습니다. 작동 방식의 기본을 이해하더라도 원하는 결과를 얻으려면 여전히 많은 명령( semanage, sestatus, sealert, chcon, restorecon, )을 사용해야 합니다. audit2allow그럼에도 불구하고 문서를 보면 때때로 무엇이 잘못되었는지 혼란스러워질 수 있습니다.

실제로 SELinux를 사용하는 데 따른 어려움을 고려할 때 대부분의 사람들은 SELinux를 비활성화하는 것이 더 편리한 옵션이라고 생각합니다. 실제로 U&L의 SELinux 태그에서 가장 많이 득표된 질문은 SELinux 비활성화에 관한 것입니다.

주목해야 할 또 다른 사항은 SELinux가 Red Hat 관련 배포판(Fedora, RHEL 및 그 파생물)에서 활성화된다는 것입니다. 이러한 시스템과 함께 제공되는 SELinux 정책은 많은 사람들이 자신의 시스템에서 SELinux가 실행되고 있다는 사실을 종종 인식하지 못할 정도로 훌륭합니다.

답변2

예;레드햇 엔터프라이즈 리눅스이는 기본적으로 활성화되어 있습니다. 예를 들면 다음과 같습니다.

시행 모드는 기본이자 권장되는 작동 모드입니다. 시행 모드에서는 SELinux가 정상적으로 작동하여 전체 시스템에 로드된 보안 정책을 시행합니다.

관련 정보