selinux에 대한 설명 및 해제 하는 방법
selinux는 리눅스 설치시 기본적으로 켜져(Enforce Mode) 있습니다.
selinux는 리눅스의 보안을 강화해주는 보안강화 커널이라고 볼 수 있습니다.
하지만 selinux를 켜두면 특정 서비스가 정상적으로 동작하지 않을 수 있습니다.
기업들은 보통 별도 방화벽을 사용하기 때문에 굳이 selinux을 사용하지는 않습니다.
selinux도 켜두면 보안이 강화되겠지만, 특정 서비스가 잘 동작하지 않을 수 있어 불편합니다.
그래서 개인이든 기업이든 selinux는 많이 해제하여 사용하는 편입니다.
selinux에는 Enforce , Permissive , Disable 모드가 있습니다.
Enforce 모드로 설정을 하게 되면 selinux에 해당하는 규칙에 어긋나는 동작은 전부 거부해버립니다.
Permissive 모드는 selinux에 해당하는 규칙에 어긋나도 동작은 허용합니다.
하지만 이에 해당하는 감사로그 (Audit Log)는 남깁니다.
Disable 모드는 selinux 기능을 아예 꺼버리는(해제) 것입니다.
현재 selinux에 대한 상태는 sestatus 명령어로 확인할 수 있습니다.
[root@rasvr01 ~]# vi /etc/sysconfig/selinux
selinux는 보통 /etc/sysconfig/selinux 파일을 수정하면 됩니다.
enforcing , permissive , disabled 중 필요에 맞게 선택해서 설정하면 됩니다.
하지만 이 설정파일을 수정 후 적용하기 위해서는 서버의 재시작이 필요합니다.
아래에서 7번 라인에 해당하는 부분만 수정해주면 됩니다.
재시작 없이 잠시 selinux를 명령라인을 통해 변경하고 싶다면
setenforce 0 과 setenforce 1 명령어를 사용할 수 있습니다.
setenforce 0 은 selinux를 permissive mode로 변경 하는 명령어입니다.
setenforce 1 은 selinux를 enforce mode로 변경 하는 명령어입니다.
하지만 이것은 서버를 재시작하면 selinux가 원래 설정된 대로 적용됩니다.
setenforce 명령어를 통해 selinux 설정을 변경한 내용에 대한 selinux 상태는
getenforce 명령어를 통해 확인할 수 있습니다.
/etc/sysconfig/selinux 의 설정파일에서 SELINUX=disabled 로 설정하고
서버 재시작을 한다음에 아래처럼 # getenforce 명령어를 통해확인해보니
Enforcing이라고 나올 수 있습니다. 이것은 무시하면 됩니다.
설정파일에서 SELINUX=disabled 바꾸고 서버를 재시작하면 selinux는 해제됩니다.
[root@rasvr01 ~]# getenforce
Enforcing
만약, 고객 리눅스 서버에 selinux가 켜져 있어 selinux를 해제하고
서버가 재시작 되도 selinux가 켜지지 않게 하려면 어떻게 해야될까요?
방법은 매우 간단합니다.
1. 아래 명령어를 통해 selinux를 잠시 해제합니다.
# setenforce 0
[root@rasvr01 ~]# setenforce 0
[root@rasvr01 ~]# getenforce
Permissive
2. 아래 설정파일에서 selinux를 disabled로 변경하여 서버가 재시작 되어도
selinux가 해제되도록 설정합니다.
# vi /etc/sysconfing/selinux 에서 disabled로 수정합니다.
댓글