10. seLinux

안녕하세요, MJ 입니다.
seLinux 에 대한 내용을 다루어보려고 하는데
내용이 쉽지 않고, 사실 상세한 내용에 대해 공부가 부족하지만
실무에서 seLinux 를 접하면서 알게 된 내용으로 작성 해 봅니다.

<노트>
seLinux 는 래드햇 계열의 리눅스 시스템에 기본으로 설치되어있는 보안 툴 입니다.
활성화 되어있으면 보안측면에서 안정성이 상당히 올라가게 되지만
실무자들의 입장에서는 여간 귀찮은 것이 아닙니다.
왜냐하면, 보안이 강해진다는 의미는 사용이 불편해진다는 의미이기때문인데
파일을 하나 새로 만들고 시스템에 적용시키면, 원하는대로 동작하지 않고
왜 동작하지 않았는지에 대해 파악을 하는데에 많은 시간이 소요되기도 하고(물론 경험해본 내용에 대해서는 아니지만)
추가로 무언가 해야 비로소 원하는대로 동작을 하는 등, 작업을 하는 입장에서는 귀찮을 수 밖에 없습니다.
<seLinux 3가지 모드>
Enforcing
   : seLinux 가 활성화 되어있으며, 모든 보안설정을 지키는 모드
Permissive
   : seLinux 가 활성화 되어있지만, 대부분 보안설정을 지키지 않아도 warning 메시지만 출력하고 해주는 모드
Disabled
   : seLinux 의 비활성화 모드

위 내용 중에 Enforcing, Permissive 모드는 seLinux 활성화 모드로
online 중에 변경이 가능하지만 비활성 모드와 활성모드 간 변경이 필요한 때에는
시스템의 리부팅이 동반되어야만 합니다.


  현재모드를 확인하는 방법입니다.
[root]# getenforce
Enforcing
Permissive
Disabled
  모드를 변경하는 방법입니다.
(파일을 열어서) [root]# vi /etc/selinux/config

...<파일의 내용 중>...
SELINUX=enforcing
SELINUX=permissive
SELINUX=disabled

-> 셋중에 하나를 설정하여 시스템이 부팅할 때 설정 될 seLinux 모드를 정할 수 있습니다.


온라인 중에 enforcing 와 permissive 간에 모드를 변경할 때에는
[Enforcing] - [root]# setenforce 1
[root]# getenforce
Enforcing
[Permissive] - [root]# setenforce 0
[root]# getenforce
Permissive
이렇게 명령어 한줄로 설정을 변경할 수 있습니다.



고객사에서 enforcing 모드를 반드시 사용해야 하는데
일반적이지 않은 요구사항을 처리하는 과정에서 예상대로 동작하지 않는 경우
(예:ftp 서버를 설정 하였는데 ftp 계정의 루트 디렉토리를 홈이 아닌 시스템의 루트로 설정이 필요한 경우 등)
시스템으로 접근이 필요한 설정을 해야 하는데에 설정에 문제가 없지만 정상동작하지 않는 경우

[root]# getsebool -a
(명령어결과를 확인 해 보아야 할 필요가 있습니다)
: SELinux의 기능에 대한 활성화/비활성화 설정입니다.
SELinux 기능을 켜거나 끌 수 있는 수백 가지 설정이 있으며
이 중 이미 사전 정의되어 있는 내용을 확인 할 수 있습니다.
getsebool -a를 실행하여 시스템에 설정된 내용을 확인 할 수 있습니다.
root 패스워드를 잊어버려서 single 모드로 부팅하여 패스워드를 변경후 정상 부팅을 하였지만
설정 한 root 패스워드로 로그인이 되지 않는 경우, 시스템의 context 를 올바르게 재설정 하기위해
[root]# restorecon -vvFR /
또는
[root]# touch /.autorelabel
을 수행 및 리부팅을 다시 수행하여 시스템의 컨텍스트를 맞추어 주어야 할 필요가 있습니다.


<노트>
그래서 이렇게 특정 상황에서 작업자와 관리자를 괴롭게 하는 이 seLinux 사용 유무는 고객사의 방침을 따르지만,
대게 보통은 정해진 방침이 없어 disabled 로 변경하도록 권고하고 고객의 대부분은 이를 받아들여
비활성 상태로 사용하는 경우가 많습니다.
seLinux 에 대해 간략하게 설명을 작성 해 보았습니다.
읽어주셔서 감사하고, 저의 경험이 도움이 되시기를 바랍니다.

감사합니다.

G
M
T
Y
음성 기능은 200자로 제한됨

댓글 없음:

댓글 쓰기

내 리눅스 서버, 대체 뭐가 문제야?

내 리눅스 서버, 대체 뭐가 문제야? 안녕하세요. 오늘은 리눅스 서버가 버벅거릴 때, 원인을 파악하는 방법에 대해 알아보려고 해요. 서버의 성능 저하 원인을 찾는 것은 시스템 관리에서 매우 중요한 부분이에요. CPU, 메모리 사용량부터 수상한 프로...

가장 많이 본 글