SELinux는 Redhat을보다 안전하게 만들어 줍니까?


10

SELinux는 Redhat을보다 안전하게 만들어 줍니까?

SELinux를 비활성화했을 때 작업을 실행하는 데 어려움을 겪었 기 때문에 SELinux를 비활성화 한 횟수를 기억할 수 없습니다. 많은 시간 동안 물건이 작동하지 않는 명백한 이유가 없었으며 그 이유를 알아 내기 위해 Google에 있어야했습니다.

대부분의 일반 사용자는 심각한 엔터프라이즈 Redhat 사용자를 제외하고 방해가 될 때 보안을 비활성화하거나 약화시킬 수 있다는 점을 감안할 때 SELinux가 실제로 유용합니까?

추신. 모든 응용 프로그램에서 SELinux 문제를 기록, 추적 및 관리하는 데 도움이되는 도구가 있습니까?

답변:


9

예, Selinux는 시스템을보다 안전하게 만듭니다. 그러나 개념을 이해하지 못하고 selinux 및 감사 도구에 대한 최소한의 기본 지식이 있어야합니다.

Selinux는 /var/log/audit/audit.log에 로깅하고 있지만 감사가 실행되고 있는지 확인하고 selinux 문제를 해결하기위한 많은 도구가 있습니다. 아마도 가장 간단한 방법은 audit2allow입니다.


17

예, 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는 데이터와 실제로 원하는 제로 데이 익스플로잇을 가진 공격자 사이에있는 마지막 것입니다. 당신 그것을 사용할 수 있다면, 왜 그렇지 않습니까?


3

SELinux는 권한에 대한 확장 설정을 도입하여 기존의 권한 시스템을 확장한다고 생각합니다. 시스템 보안을 강화합니까? 응용 프로그램에서 SELinux를 사용하는 방법에 달려 있다고 생각합니다. 또한 SELinux는 좋지 않지만 구성하는 데 제한이 무엇인지에 대한 지식이 필요합니다. 그러나 또한 극복하기 위해 수동으로 조사해야하는 많은 문제가 있습니다.


1
SELinux는 기존 POSIX 권한을 확장하는 것 이상을 수행합니다. 예를 들어 SELinux는 특정 네트워크 포트에 대한 액세스를 제한 할 수 있습니다.
wzzrd

3

setroubleshoot라는 SELinux로 인해 발생하는 문제를 사용자가 찾을 수 있도록 도와주는 패키지가 있습니다. 설치하고 시작할 때 실행되도록 설정하십시오. 그런 다음 SELinux 거부가 발생하면에 표시됩니다 /var/log/messages. GUI에 로그인 한 경우 알림이 표시됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.