본문 바로가기
IT/Linux

SELinux: 이해와 설정 방법

by bamcong 2025. 4. 8.
728x90
반응형

SELinux(Secure Enhanced Linux)는 리눅스 커널의 보안 모듈로, 시스템 내의 모든 작업을 제한하여 보안을 강화하는 역할을 합니다. 본 글에서는 SELinux의 기본 개념과 영구 설정 방법, 그리고 우회 설정 방법을 자세히 살펴보겠습니다.

SELinux란 무엇인가?

SELinux는 운영체제에서 접근 제어를 구현하는 방법 중 하나입니다. 예를 들어, 집안에서 물건을 어떻게 두고 사용해야 할지를 정하는 규칙이 필요합니다. 이 규칙이 SELinux와 같습니다. SELinux는 프로그램이나 사용자가 어떤 파일 또는 리소스에 접근하는 것을 제어하는 보안 정책을 제공합니다.

SELinux

SELinux의 주요 특징

1. 접근 제어
SELinux는 액세스 제어를 통해 시스템의 안전성을 보장합니다. 모든 프로세스와 파일은 특정한 정책에 따라 권한이 부여됩니다.

2. 레이블링
모든 실행 파일, 디렉토리, 프로세스가 레이블을 가지며, 그 레이블에 따른 정책이 적용됩니다.

3. 감사 기능
SELinux는 어떤 프로세스가 어떤 파일에 접근했는지 기록하여, 보안 사고가 발생했을 경우 문제의 원인을 추적할 수 있습니다.

SELinux 설정 방법

1. SELinux 영구 설정 방법

SELinux의 설정은 /etc/selinux/config 파일에서 관리됩니다. 다음과 같은 방법으로 SELinux를 영구적으로 설정할 수 있습니다:

sudo nano /etc/selinux/config

파일을 열고 다음과 같이 설정합니다:

SELINUX=enforcing  # SELinux 활성화
# SELINUX=permissive  # 정책을 기록하지만 접근을 차단하지 않음
# SELINUX=disabled  # SELinux 비활성화

변경 후 저장하고 종료한 후, 시스템을 재부팅하면 적용됩니다.

2. SELinux 우회 설정 방법

특정한 상황에서는 SELinux의 제약을 일시적으로 우회해야 할 경우가 있습니다. 이때는 permissive 모드 로 설정하여 접근을 차단하지 않고 로그만 기록하도록 할 수 있습니다:

sudo setenforce 0  # permissive 모드로 설정

이 명령어는 즉각적으로 적용되며, 재부팅하면 원래의 상태로 돌아갑니다. 이를 영구적으로 설정하려면 config 파일에서 SELINUX를 permissive로 변경해야 합니다.

SELinux를 비활성화하고 시스템을 다시 시작하는 방법:

sudo nano /etc/selinux/config

# SELINUX=disabled로 설정 후 저장하고 재부팅

이때 시스템 보안이 약해질 수 있으므로 신중하게 진행해야 합니다. SELinux를 비활성화하는 것은 마지막 수단으로 사용해야 하며, 필요한 순간에만 이를 사용하는 것이 바람직합니다.

결론

SELinux는 리눅스 환경에서 보안을 유지하는 필수적인 역할을 수행하는 보안 모듈입니다. 올바른 설정을 통해 시스템 보안을 강화하고, 필요시 우회 설정을 통해 유연하게 대처할 수 있습니다. SELinux를 잘 활용하여 안전한 시스템 운영에 기여하시기 바랍니다.

 

728x90
반응형