네트워크 엔지니어 & 개발자 로엘이

SELinux

SELinux는 Security Enhanced Linux의 약자로 소스코드가 공개되어 있기 때분에 보안이 취약한 리눅스의 시스템 액세스 권한을 제어하기 위해 미국 국가안보국(NAS)에서 개발한 보안 아키텍처다.

사용자의 편리성과 보안은 반비례하여 보안을 강화하면 편리성이 감소하고, 보안이 취약해지면 사용자의 편리성이 증가한다.

이번 포스팅에서는 편리성을 증가시키기 위해 SELinux를 비활성화시키는 방법에 대해 정리해 보고자 한다.

 

SELinux 동작모드

enforcing

SELinux의 기본값으로 활성화되어 보안정책이 실행되어 로그 기록과 보호를 모두 수행하는 상태

permissive

SELinux가 보안정책에 대하여 로그는 기록하지만 실제 차단되지 않는 상태

disabled

SELinux가 비활성화되어 동작하지 않는 상태

 

SELinux 상태 확인

SELinux의 상태를 확인할 수 있는 명령어는 sestatus와 getenforce 두 가지가 있다.

[root@localhost ~]# 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
Max kernel policy version:      31
[root@localhost ~]#

sestatus 명령으로 상태를 확인하는 예시

Current mode를 확인하면 현재 동작중인 모드를 알 수 있다.

 

[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]#

getenforce 명령으로 상태를 확인하는 예시

 

SELinux 동작모드 변경

재부팅 없이 수행하는 방법

[root@localhost ~]# setenforce ?
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]

enforcing, permissive를 사용하고 있는 경우에는 setenforce 명령을 사용하여 모드를 변경할 수 있다.

setenforce 명령은 0, 1의 파라미터를 사용할 수 있으며 0은 permissive 모드로 번경되며 1은 enforcing 모드로 변경된다.

 

[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive

permissive모드로 변경 후 확인하는 예시

 

[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce
Enforcing

enforcing모드로 변경 후 확인하는 예시

 

disabled모드를 사용하고 있는 경우에 동작모드를 변경하고자 한다면 setenforce 명령을 사용할 수 없어 재부팅을 수행해야 한다.

setenforce 명령으로 변경한 동작모드는 재부팅을 수행하면 초기화된다.

 

Config 수정을 통해 변경하는 방법

 

SELinux의 Config 파일 경로는 아래와 같다.

/etc/sysconfig/selinux

 

[root@localhost ~]# vi /etc/sysconfig/selinux

# 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=enforcing
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

vi 에디터를 활용해 config 파일을 실행시킨다.

SELINUX= 뒷부분에 원하는 동작모드를 기입하고 저장한 후 재부팅을 수행한다.

 

 

- 끝 -

728x90
반응형
250x250

공유하기

facebook twitter kakaoTalk kakaostory naver band