>  기사  >  운영 및 유지보수  >  SELinux 란 무엇입니까?

SELinux 란 무엇입니까?

青灯夜游
青灯夜游원래의
2023-02-08 11:56:353815검색

SELinux는 보안이 강화된 Linux를 말합니다. Linux의 보안 하위 시스템으로, 기존 Linux 운영 체제의 보안을 강화하고 기존 Linux 시스템의 DAC(임의적 접근 제어) 시스템의 다양한 권한 문제를 해결하도록 설계되었습니다. 루트 권한이 너무 높음 등). SELinux는 프로세스가 특정 파일 시스템의 파일이나 디렉터리에 대한 액세스 권한을 가지고 있는지 여부를 제어하는 ​​MAC(필수 액세스 제어) 시스템을 사용합니다.

SELinux 란 무엇입니까?

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

SELinux란

SELinux는 Security Enhanced Linux의 약자로 보안이 강화된 Linux로, 미국 국가안보국(NSA)과 기타 보안기관(SCC 등)이 공동으로 개발한 Linux 보안입니다. 회사) 서브시스템은 기존 Linux 운영체제의 보안을 강화하고 기존 Linux 시스템의 DAC(Discretionary Access Control) 시스템에서 발생하는 다양한 권한 문제(과도한 루트 권한 등)를 해결하기 위해 설계되었습니다.

SELinux 프로젝트는 2000년에 GPL 라이센스에 따라 오픈 소스로 제공되었습니다. SELinux는 Red Hat이 Linux 배포판에 SELinux를 포함시키면서 점차 인기를 얻었습니다. 이제 SELinux는 많은 조직에서 널리 사용되고 있으며 거의 ​​모든 Linux 커널 버전 2.6 이상에는 SELinux 기능이 통합되어 있습니다.

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

기존 Linux 시스템에서는 기본 권한이 파일이나 디렉터리의 소유자, 그룹 및 다른 사람의 읽기, 쓰기 및 실행 권한을 제어하는 ​​것임을 알고 있습니다. 이 제어 방법을 임의 액세스 제어(DAC) 방법이라고 합니다. ; SELinux에서는 프로세스가 특정 파일 시스템의 파일이나 디렉터리에 대한 액세스 권한을 가지고 있는지 여부를 제어하는 ​​MAC(Mandatory Access Control) 시스템이 사용됩니다. 프로세스가 파일이나 디렉터리에 액세스할 수 있는지 판단하는 기준은 여러 정책 규칙에 따라 다릅니다. SELinux에서 설정합니다.

이렇게 말하면 독자들이 이 두 가지 접근 제어 시스템의 특징을 자세히 이해할 필요가 있습니다.

  • Discretionary Access Control(DAC) 은 Linux의 기본 접근 제어 방법으로 사용자 기반입니다. ID와 파일 및 디렉터리에 대한 ID의 rwx 권한은 액세스 가능 여부를 결정하는 데 사용됩니다. 그러나 실제 DAC 액세스 제어 사용에서도 몇 가지 문제점을 발견했습니다.
    • 루트 권한이 너무 높고 루트 사용자에게 rwx 권한이 적용되지 않습니다. 일단 루트 사용자가 도난당하거나 루트 사용자 자신이 잘못 작동하면, 이는 모두 루트 사용자에게 피해를 줄 수 있으며 Linux 시스템에 치명적인 위협이 됩니다.

    • Linux 기본 권한은 소유자, 자신이 속한 그룹 및 다른 사람의 신원만 갖고 있으므로 권한 세분화에 도움이 되지 않습니다. 그리고 설정.

    • 권한을 비합리적으로 할당하면 시스템의 민감한 파일이나 디렉터리에 대해 777 권한을 설정하거나 특수 권한(민감한 파일에 대해 SetUID 권한 등)을 설정하는 등 심각한 결과를 초래할 수 있습니다.

  • MAC(Mandatory Access Control)는 SELinux의 기본 정책 규칙을 통해 시스템의 파일 리소스에 대한 특정 프로세스의 액세스를 제어하는 ​​것입니다. 즉, 루트 사용자라도 파일 리소스에 접근할 때 잘못된 프로세스를 사용하면 해당 파일 리소스에 접근할 수 없게 됩니다.

이런 방식으로 SELinux는 사용자와 권한뿐만 아니라 프로세스도 제어합니다. 각 프로세스가 액세스할 수 있는 파일 리소스와 각 파일 리소스가 액세스할 수 있는 프로세스는 SELinux 규칙 정책에 따라 결정됩니다.

SELinux에서는 Linux의 기본 권한이 여전히 유효하다는 점에 유의하세요. 즉, 사용자가 파일에 액세스하려면 rwx 권한을 준수해야 하며 사용자의 프로세스가 필요합니다. SELinux의 규정을 준수합니다.

하지만 시스템에는 프로세스와 파일이 너무 많아 수동으로 할당하고 지정하면 작업 부하가 너무 커집니다. 따라서 SELinux는 비교적 완전한 기본 정책 규칙을 많이 제공하며 이러한 정책 규칙을 보고 관리하는 방법은 나중에 배우겠습니다.

독자들에게 SELinux가 수행하는 역할을 명확하게 이해할 수 있도록 다음은 원격 사용자가 시스템의 민감한 파일(예: /etc/shadow)에 액세스할 수 있는 취약점이 발견되었다고 가정합니다. . Linux에서 SELinux가 활성화된 경우 Apache 서비스 프로세스에는 /etc/shadow에 대한 액세스 권한이 없기 때문에 원격 사용자가 Apache를 통해 /etc/shadow 파일에 액세스하는 것은 SELinux에 의해 차단됩니다. 리눅스. 시스템의 역할.

Selinux를 닫는 방법

#查看selinux状态
[root@vm01]# getenforce
 
#临时关闭selinux
[root@vm01]# setenforce 0
 
#永久关闭
[root@vm01]# vi /etc/selinux/config
# SELINUX=enforcing改为SELINUX=disabled

관련 권장 사항: "Linux 비디오 튜토리얼"

위 내용은 SELinux 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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