SELinux 개념과 보안 설정
SELinux(Security-Enhanced Linux)란 보안을 강화하기 위해 개발된 리눅스 커널의 보안 기능 중 하나입니다.
셀리눅스는 컴퓨터 시스템의 보안을 강화하기 위해 NSA(National Security Agency:미국 국가안보국)와 레드햇(Red Hat) 등의 기업과 개발자들이 협력하여 개발했습니다.
zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소에 속하지만APM 설치 후 사용하는데 오류가 발생하는 등 불편함이 있습니다. 잘 동작하도록 설정을 하면 좋지만 이번에 설정을 끄는 것으로 진행해 보겠습니다.
APM 설치 후 발생하는 오류
록키 리눅스에서 APM 설치 후 아래와 같은 오류가 발생하여 셀리눅스를 끄기로 했습니다.
tail -f error_log
SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
디렉토리에 쓰기 권한이 있지만 아파치 웹서버에서 디렉토리 쓰기를 못하는 경우가 발생해 셀리눅스를 비활성화 해 보겠습니다.
SELinux 끄기
먼저 동작 여부를 확인 후
sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
해제를 진행하겠습니다.
vi /etc/selinux/config
기본 설정 화면에 ‘SELINUX=disabled’로 설정을 변경해 줍니다.
SELINUX=disabled
#SELINUX=enforcing
:wq
저장 후 재부팅 reboot 명령어로 적용하는 방법과 바로 서버에 적용하는 방법이 있습니다.
# 셀리눅스 끄기 #
setenforce 0
# 셀리눅스 상태 값 확인 > Current mode: permissive
sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: disabled
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33
# Current mode: permissivefh 변경 된것을 확인.
# 셀리눅스 켜기 #
setenforce 1