2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

SELinux의 Enforcing 모드와 Permissive 모드의 차이는 무엇인가요?

_____
Q1: SELinux의 Enforcing 모드란 무엇인가요?
A1: Enforcing 모드는 SELinux가 활성화되어 정책을 강제로 적용하는 상태입니다. 이 모드에서는 SELinux 정책에 위반되는 모든 액세스 시도가 차단되며, 로그에 기록됩니다. 즉, 보안 정책이 실제로 시스템에 영향을 주며, 비허가 행위가 발생하지 않도록 막습니다.

Q2: SELinux의 Permissive 모드란 무엇인가요?
A2: Permissive 모드는 SELinux가 활성화되어 있지만 정책 위반 시도를 차단하지 않고 허용하는 상태입니다. 대신 모든 위반 시도는 로그에 기록되어 추후 분석이 가능합니다. 이 모드는 정책을 테스트하거나 문제를 디버깅할 때 주로 사용됩니다.

Q3: Enforcing 모드와 Permissive 모드의 주요 차이점은 무엇인가요?
A3: 가장 큰 차이는 정책 위반 액세스에 대한 처리 방식입니다.
- Enforcing 모드: 정책 위반 시도를 차단하고 로그에 기록합니다.
- Permissive 모드: 정책 위반 시도를 차단하지 않고 허용하며, 로그에만 기록합니다.

Q4: SELinux를 Permissive 모드로 설정하는 이유는 무엇인가요?
A4: Permissive 모드는 SELinux 정책이 시스템 기능에 미치는 영향을 검토하거나, 정책이 올바르게 동작하는지 테스트할 때 사용됩니다. 문제를 진단하거나 새로운 정책을 개발할 때 안전하게 로그를 분석할 수 있도록 도와줍니다.

Q5: SELinux 모드를 확인하는 방법은 무엇인가요?
A5: 터미널에서 다음 명령을 실행하면 모드를 확인할 수 있습니다.
```bash
getenforce
```
혹은
```bash
sestatus
```
로 현재 모드 및 정책 상태를 확인할 수 있습니다.

Q6: SELinux 모드를 변경하는 방법은 무엇인가요?
A6: 일시적으로 변경하려면 다음 명령을 사용합니다. (재부팅 시 기본값 복구)
- Enforcing 모드로 변경:
```bash
setenforce 1
```
- Permissive 모드로 변경:
```bash
setenforce 0
```
영구 변경은 `/etc/selinux/config` 파일 내 `SELINUX=` 값을 `enforcing` 또는 `permissive`로 변경하면 됩니다.

Q7: Enforcing 모드에서 발생하는 문제는 어떻게 해결하나요?
A7: Enforcing 모드에서 필요 기능이 차단되는 경우, Permissive 모드로 전환 후 로그(`/var/log/audit/audit.log`)를 분석하여 어떤 정책이 문제를 발생시키는지 확인하고, 필요한 경우 정책을 수정하거나 예외를 추가해야 합니다.

---

요약하면, Enforcing 모드는 SELinux 정책을 엄격히 적용하여 보안을 강화하고, Permissive 모드는 정책 위반을 허용하지만 로깅하여 문제 진단에 활용되는 모드입니다.
SELinux(Security-Enhanced Linux)는 리눅스 커널의 보안 모듈로, 시스템의 보안을 강화하기 위해 프로세스와 파일에 대한 접근 제어를 제공합니다.

SELinux는 두 가지 주요 모드인 Enforcing 모드와 Permissive 모드를 지원합니다.

이 두 모드는 SELinux의 동작 방식에 큰 차이를 보이며, 각각의 용도와 상황에 따라 적절하게 선택하여 사용할 수 있습니다.

1. Enforcing 모드 Enforcing 모드는 SELinux의 기본 동작 모드로, 보안 정책을 엄격하게 적용합니다.

이 모드에서는 SELinux가 정의한 규칙에 따라 모든 접근 시도가 검증되며, 규칙에 위배되는 접근은 차단됩니다.

즉, 시스템에서 실행되는 프로세스가 파일이나 리소스에 접근하려고 할 때, SELinux 정책에 따라 허용되지 않는 접근은 즉시 거부됩니다.

- 특징 : - 모든 접근 시도가 SELinux 정책에 의해 검증됩니다.

- 정책에 위배되는 접근은 차단되며, 로그에 기록됩니다.

- 시스템의 보안이 강화되며, 악의적인 접근이나 비정상적인 행동을 방지할 수 있습니다.

- 장점 : - 시스템의 보안을 극대화할 수 있습니다.

- 공격자가 시스템에 침투하거나 악성 코드를 실행하는 것을 방지합니다.

- 단점 : - 잘못된 정책 설정으로 인해 정상적인 애플리케이션이나 서비스가 차단될 수 있습니다.

- 초기 설정이나 정책 조정이 필요할 수 있으며, 이 과정에서 시스템 운영에 어려움이 발생할 수 있습니다.



2. Permissive 모드 Permissive 모드는 SELinux가 보안 정책을 적용하긴 하지만, 실제로는 접근을 차단하지 않고 로그에만 기록하는 모드입니다.

이 모드에서는 SELinux가 정책 위반을 감지하더라도, 해당 접근을 허용합니다.

따라서 시스템의 동작을 방해하지 않으면서 SELinux 정책을 테스트하거나 디버깅할 수 있는 환경을 제공합니다.

- 특징 : - SELinux 정책 위반이 발생하더라도 접근이 차단되지 않습니다.

- 모든 정책 위반 사항은 로그에 기록되어, 나중에 분석할 수 있습니다.

- 장점 : - 시스템의 정상적인 동작을 방해하지 않으므로, 애플리케이션이나 서비스의 테스트 및 디버깅에 유용합니다.

- SELinux 정책을 조정하거나 개선하는 과정에서 유용하게 사용될 수 있습니다.

- 단점 : - 보안이 강화되지 않으므로, 공격자가 시스템에 접근할 수 있는 위험이 존재합니다.

- 실제 운영 환경에서는 보안 위협에 노출될 수 있습니다.

결론 Enforcing 모드와 Permissive 모드는 각각의 목적과 상황에 따라 적절하게 선택하여 사용해야 합니다.

Enforcing 모드는 보안을 최우선으로 고려해야 하는 환경에서 사용되며, Permissive 모드는 정책을 테스트하거나 디버깅할 필요가 있을 때 유용합니다.

일반적으로, 시스템을 운영하는 동안에는 Enforcing 모드를 사용하는 것이 좋지만, 초기 설정이나 문제 해결 과정에서는 Permissive 모드를 활용하여 정책을 조정하고 최적화하는 것이 바람직합니다.

SELinux의 효과적인 사용을 위해서는 두 모드의 차이를 이해하고, 상황에 맞게 적절히 전환하는 것이 중요합니다.

작성자: 박하윤 [비회원] | 작성일자: 1년 전 2024-12-28 07:21:22
조회수: 365 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.