>운영 및 유지보수 >리눅스 운영 및 유지 관리 >리눅스에서 selinux를 어떻게 사용하나요?

리눅스에서 selinux를 어떻게 사용하나요?

青灯夜游
青灯夜游원래의
2022-06-17 16:32:545932검색

SELinux의 역할: 1. 프로세스 및 파일 리소스에 대한 MAC 제어를 사용하여 Linux 시스템에 향상된 보안을 제공합니다. 2. 시스템 리소스에서 서비스 프로세스의 접근성을 최소화하기 위해 주체에게 최소한의 액세스 권한을 부여합니다. 3. 각 프로세스에는 자체 실행 영역이 있으며 각 프로세스는 자체 도메인에서만 실행되며 다른 프로세스 및 파일에 액세스할 수 없습니다. 4. SELinux는 프로그램을 최대화하여 Linux 시스템에서 악성 코드 활동을 제한할 수 있습니다. .

리눅스에서 selinux를 어떻게 사용하나요?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

SELinux는 Security Enhanced Linux의 약어, 즉 보안 강화 Linux로, 기존 Linux 운영 체제의 보안을 강화하기 위해 미국 국가안보국(NSA)과 기타 보안 기관(SCC 등)이 공동으로 개발했습니다. . 기존 Linux 시스템의 임의 액세스 제어(DAC) 시스템에서 발생하는 다양한 권한 문제(예: 과도한 루트 권한 등)를 해결합니다.

초보자도 SELinux를 이렇게 이해할 수 있습니다. 시스템 보안을 강화하기 위해 Linux에 배포되는 기능적 모듈입니다.

기존 Linux 시스템 보안은 DAC(임의 액세스 제어)를 사용하는 반면 SELinux는 Linux 시스템에 배포된 보안 강화 모듈로 프로세스 및 파일 리소스에 대해 향상된 보안을 제공합니다.

SELinux

  • 의 주요 역할은 프로세스 및 파일 리소스에 대한 MAC(필수 액세스 제어) 제어를 사용하여 Linux 시스템에 향상된 보안을 제공합니다.

  • 시스템 내 서비스 프로세스에 접근 가능한 리소스를 최소화합니다(최소 권한의 원칙).

    주체(사용자 또는 프로세스)에게 최소한의 액세스 권한을 부여합니다. 즉, 각 주제에는 관련 작업을 완료하는 데 필요한 제한된 권한 세트만 부여됩니다. 최소한의 액세스 권한을 부여함으로써 주체가 다른 사용자나 프로세스에 부정적인 영향을 미치는 것을 방지할 수 있습니다.

  • SELinux 관리 프로세스 중에 각 프로세스에는 자체 실행 영역(도메인이라고 함)이 있습니다. 각 프로세스는 자체 도메인에서만 실행되며 특별한 권한이 부여되지 않는 한 다른 프로세스 및 파일에 액세스할 수 없습니다.

  • SELinux는 Linux 시스템의 악성 코드 활동을 최대한 제한할 수 있습니다.

확장 지식:

SELinux의 기본 개념:

1 제목: 파일 또는 디렉터리 리소스에 액세스하려는 프로세스입니다. 리소스를 얻기 위한 기본 프로세스는 사용자가 명령을 호출하고, 명령이 프로세스를 생성하고, 프로세스가 파일이나 디렉터리 리소스에 액세스하는 과정입니다. 임의 접근 제어 시스템(Linux 기본 권한)에서 권한에 의해 제어되는 주체는 사용자이고, 필수 접근 제어 시스템(SELinux)에서 정책 규칙에 의해 제어되는 주체는 프로세스입니다.

2. 개체: 이 개념은 비교적 명확하며, 액세스해야 하는 파일 또는 디렉터리 리소스입니다.

3. 정책: Linux 시스템에는 엄청난 수의 프로세스와 파일이 있으므로 프로세스가 파일에 액세스할 수 있는지 여부를 제한하는 SELinux 규칙의 수는 관리자가 수동으로 설정해야 하는 경우 더욱 번거롭습니다. 그러면 SELinux의 유용성이 매우 낮아질 것입니다. 다행스럽게도 SELinux에서는 기본적으로 두 가지 정책을 정의할 필요가 없습니다. 기본적으로 해당 정책을 호출하면 정상적으로 사용할 수 있습니다. 두 가지 기본 정책은 다음과 같습니다.

  • 대상: 이는 SELinux의 기본 정책으로 주로 네트워크 서비스를 제한하며 로컬 시스템에 대한 제한은 거의 없습니다. 우리에게는 이 전략이면 충분합니다.

  • -mls: 다단계 보안 보호 전략, 이 전략은 더 제한적입니다.

4. 보안 컨텍스트: 각 프로세스, 파일 및 디렉터리에는 고유한 보안 컨텍스트가 있습니다. 프로세스가 파일이나 디렉터리에 액세스할 수 있는지 여부는 보안 컨텍스트가 일치하는지에 따라 다릅니다. 프로세스의 보안 컨텍스트가 파일이나 디렉터리의 보안 컨텍스트와 일치하면 프로세스는 파일이나 디렉터리에 액세스할 수 있습니다. 물론 프로세스의 보안 컨텍스트가 파일이나 디렉터리의 보안 컨텍스트와 일치하는지 확인하려면 정책의 규칙을 사용해야 합니다. 예를 들어, 파트너를 찾아야 하는데, 남자는 주체로, 여자는 타겟으로 볼 수 있습니다. 남자가 여자를 추적할 수 있는지(주체가 대상에 접근할 수 있는지 여부)는 주로 두 사람의 성격이 적합한지(주체와 대상의 보안 맥락이 일치하는지)에 달려 있다. 그러나 두 사람의 성격이 적합한지는 생활 습관, 행동, 가족 환경 등 구체적인 조건을 토대로 판단해야 한다. (보안 맥락이 일치하는지 여부는 정책 내 규칙을 통해 판단해야 한다.)

리눅스에서 selinux를 어떻게 사용하나요?

SELinux 작업 모드

SELinux는 비활성화, 허용, 적용의 3가지 작업 모드를 제공하며 각 모드는 Linux 시스템 보안에 서로 다른 이점을 제공합니다.

1. 작업 모드 비활성화(오프 모드)

비활성화 모드에서는 SELinux가 꺼지고 기본 DAC 액세스 제어 방법이 사용됩니다. 이 모드는 강화된 보안이 필요하지 않은 환경에 유용합니다.

예를 들어, 실행 중인 애플리케이션이 사용자의 관점에서는 잘 작동하지만 많은 SELinux AVC 거부 메시지를 생성하는 경우 결국 로그 파일이 가득 차고 시스템을 사용할 수 없게 될 수 있습니다. 이 경우 가장 간단한 해결책은 SELinux를 비활성화하는 것이지만, 애플리케이션이 액세스하는 파일에 올바른 보안 컨텍스트를 설정할 수도 있습니다.

SELinux를 비활성화하기 전에 시스템에서 SELinux를 다시 사용할 수 있는지 고려해야 합니다. 나중에 이를 강제 또는 허용으로 설정하면 시스템이 자동 SELinux를 전달합니다. 다음에 파일 재처리 플래그를 다시 시작했습니다.

SELinux를 끄는 방법도 매우 간단합니다. /etc/selinux/config 구성 파일을 편집하고 텍스트에서 SELINUX=disabled로 변경하면 시스템을 다시 시작하면 SELinux가 비활성화됩니다.

2. 허용 작업 모드(permissive 모드)

허용 모드에서는 SELinux가 활성화되지만 보안 정책 규칙은 적용되지 않습니다. 보안 정책 규칙이 액세스를 거부해야 하는 경우에도 액세스는 계속 허용됩니다. 그러나 액세스가 거부되어야 함을 나타내는 메시지가 로그 파일로 전송됩니다.

SELinux 허용 모드는 주로 다음 상황에서 사용됩니다.

현재 SELinux 정책 규칙을 감사합니다.

새 애플리케이션을 테스트하여 이러한 프로그램에 SELinux 정책 규칙을 적용한 결과를 확인합니다.

특정 문제를 해결합니다. 특정 서비스나 애플리케이션이 SELinux에서 더 이상 제대로 작동하지 않습니다.

어떤 경우에는 audit2allow 명령을 사용하여 SELinux 감사 로그를 읽고 거부된 동작을 선택적으로 허용하는 새로운 SELinux 규칙을 생성할 수 있습니다. 이는 또한 SELinux를 비활성화하지 않고 애플리케이션을 허용하는 방법이기도 합니다. Linux에서 프로그램이 작동하도록 하는 빠른 방법입니다. 시스템.

3. Enforcing 작업 모드(enforcement 모드)

이 모드 이름에서 알 수 있듯이 Enforcing 모드에서는 SELinux가 시작되고 모든 보안 정책 규칙이 적용됩니다.

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 리눅스에서 selinux를 어떻게 사용하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.