1.2. 예
다음 예제에서는 SELinux가 보안을 강화하는 방법을 보여줍니다.
- 기본 작업은 deny입니다. 파일을 여는 프로세스와 같이 액세스를 허용하기 위한 SELinux 정책 규칙이 없으면 액세스가 거부됩니다.
- SELinux는 Linux 사용자를 제한할 수 있습니다. SELinux 정책에는 많은 제한된 SELinux 사용자가 있습니다. 제한된 SELinux 사용자에게 Linux 사용자를 매핑하여 보안 규칙 및 메커니즘을 활용할 수 있습니다. 예를 들어 Linux 사용자를 SELinux
user_u사용자에게 매핑하면 (그렇지 않으면 구성되지 않은 경우) sudo 및 su 와 같은 사용자 ID(setuid) 애플리케이션을 실행할 수 없는 Linux 사용자가 생성됩니다. 자세한 내용은 3.3절. “제한된 사용자 및 제한되지 않은 사용자”을 참조하십시오. - 프로세스 및 데이터 분리 증가. 프로세스는 자체 도메인에서 실행되므로 프로세스가 다른 프로세스에서 사용하는 파일에 액세스하지 못하도록 방지하고 프로세스가 다른 프로세스에 액세스하지 못하도록 합니다. 예를 들어, SELinux를 실행할 때 공격자는 Samba 서버를 손상시킬 수 없으며 MariaDB 데이터베이스와 같은 다른 프로세스에서 사용하는 파일을 읽고 쓸 수 있는 공격 벡터로 해당 Samba 서버를 사용할 수 없습니다.
- SELinux를 사용하면 구성 실수로 인한 손상을 완화할 수 있습니다. DNS(Domain Name System) 서버는 종종 영역 전송이라고 하는 항목에서 서로 간에 정보를 복제합니다. 공격자는 영역 전송을 사용하여 false 정보로 DNS 서버를 업데이트할 수 있습니다. Red Hat Enterprise Linux에서 Berkeley Internet Name Domain(BIND)을 DNS 서버로 실행하는 경우 관리자가 영역 전송을 수행할 수 있는 서버를 제한하지 않아도 기본 SELinux 정책은 영역 파일을 금지합니다. [1] 영역 전송, BIND
이름데몬 자체 및 기타 프로세스를 사용하여 업데이트할 수 있습니다. - NetworkWorld.com 문서, 서버 소프트웨어에 대한 이해력: SELinux로 실제 공격 차단[2], SELinux에 대한 배경 정보와 SELinux가 차단한 다양한 위협에 대한 정보.
[1]
DNS 서버에서 사용하는 호스트 이름 및 IP 주소 매핑과 같은 정보를 포함하는 텍스트 파일.
[2]
Marti, Don. "서버 소프트웨어에 대한 확신: SELinux는 실제 위협을 차단합니다.". 2008년 2월 24일 게시됨. 2009년 8월 27일 액세스: http://www.networkworld.com/article/2283723/lan-wan/a-seatbelt-for-server-software--selinux-blocks-real-world-exploits.html.