SW/리눅스

Linux : CentOS 8 : SELinux 비활성화 방법, 예제, 명령어

얇은생각 2022. 5. 3. 07:30
반응형

보안 강화 Linux 또는 SELinux는 RHEL 기반 배포판에서 사용하는 Linux 커널에 내장된 보안 메커니즘입니다.

SELinux는 관리자와 사용자가 정책 규칙에 따라 개체에 대한 액세스를 제어할 수 있도록 하여 시스템에 보안 계층을 추가합니다.

SELinux 정책 규칙은 프로세스와 사용자가 서로 상호 작용하는 방법 및 프로세스와 사용자가 파일과 상호 작용하는 방법을 지정합니다. 파일을 여는 프로세스와 같이 개체에 대한 액세스를 명시적으로 허용하는 규칙이 없으면 액세스가 거부됩니다.

 

Linux : CentOS 8 : SELinux 비활성화 방법, 예제, 명령어

 

SELinux에는 세 가지 작동 모드가 있습니다. 

- Enforcing: SELinux를 사용하면 SELinux 정책 규칙에 따라 액세스할 수 있습니다.

- Permissive: SELinux는 시행 모드에서 실행되는 경우 거부되었을 액션만 기록합니다. 이 모드는 새 정책 규칙을 디버깅하고 만드는 데 유용합니다.

- Disabled: 로드된 SELinux 정책이 없으며 기록된 메시지가 없습니다.

 

기본적으로 CentOS 8, SELinux가 사용 가능하고 시행 모드에 있습니다. SELinux를 시행 모드로 유지하는 것이 좋습니다. 그러나 경우에 따라 일부 응용 프로그램의 기능을 방해할 수 있으므로 허용 모드로 설정하거나 완전히 비활성화해야 합니다.

CentOS 8에서 SELinux를 사용하지 않도록 설정하는 방법에 대해 설명합니다.

 

 

 

필수 조건

루트 사용자 또는 sudo 권한이 있는 사용자만 SELinux 모드를 변경할 수 있습니다.

 

 

 

SELinux 모드를 확인

sestatus 명령을 사용하여 SELinux가 실행 중인 상태 및 모드를 확인합니다.

sestatus

# SELinux status:                 enabled
# SELinuxfs mount:                /sys/fs/selinux
# SELinux root directory:         /etc/selinux
# Loaded policy name:             targeted
# Current mode:                   enforcing
# Mode from config file:          enforcing
# Policy MLS status:              enabled
# Policy deny_unknown status:     allowed
# Memory protection checking:     actual (secure)
# Max kernel policy version:      31

 

 

위의 출력은 SELinux가 활성화되어 있고 시행 모드로 설정되었음을 보여줍니다.

 

 

 

SELinux 모드를 허용 모드로 변경

이 옵션을 선택하면 SELinux가 시행 모드 또는 허용 모드일 수 있습니다. 다음 명령을 사용하여 일시적으로 모드를 대상 모드에서 허용 모드로 변경할 수 있습니다.

sudo setenforce 0

 

 

그러나 이 변경 사항은 현재 런타임 세션에만 유효하며 재부팅 중에도 유지되지 않습니다.

SELinux 모드를 허용 모드로 영구적으로 설정하려면 다음 단계를 수행하십시오.

/etc/seLinux/config 파일을 열고 SELINUX 모드를 허용으로 설정합니다.

# /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

 

 

파일을 저장하고 setenforce 0 명령을 실행하여 현재 세션의 SELinux 모드를 변경합니다.

sudo shutdown -r now

 

 

 

SELinux를 사용하지 않도록 설정

SELinux를 사용하지 않도록 설정하는 대신 모드를 허용 모드로 변경하는 것이 좋습니다. 프로그램의 올바른 작동에 필요한 경우에만 SELinux를 사용하지 않도록 설정합니다.

Cent OS 8에서 SELinux를 비활성화하려면 아래 단계를 수행하십시오. 

/etc/seLinux/config 파일을 열고 SELINUX 값을 사용하지 않도록 변경합니다.

# /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

 

 

파일을 저장하고 시스템을 재부팅합니다.

sudo shutdown -r now

 

 

시스템이 부팅될 때 sestatus 명령을 사용하여 SELinux가 비활성화되었는지 확인합니다.

sestatus

# SELinux status:                 disabled

 

 

SELinux는 의무 접근 제어(MAC)를 구현하여 시스템을 보호하는 메커니즘입니다. SELinux는 Cent에서 기본적으로 사용됩니다.OS 8 시스템이지만 구성 파일을 편집하고 시스템을 재부팅하여 사용하지 않도록 설정할 수 있습니다.

SELinux의 강력한 기능에 대해 자세히 알아보려면 CentOS SELinux 가이드를 참조하십시오.

반응형