본문 바로가기
프로그래밍 놀이터/보안

[도서 정리] 55. SELinux, TOMOYO Linux - 보안의 기본

by 돼지왕 왕돼지 2019. 12. 4.
반응형

55. SELinux, TOMOYO Linux - 보안의 기본



* SELinux( Security-Enhanced Linux )


-

SELinux 는 TE(Type Enforcement)와 RBAC(Role Based Access Control)를 사용하여 시큐어 OS 의 요건인 강제 엑세스 제어(MAC)와 최소 특권을 구현하고 있다.



-

SELinux 에서는 사용자가 갖고 있는 권한보다 프로그램에 대해 허가된 조작이 더 우선시되는데, 이 조작을 기술하는 것이 TE 이며 RBAC 이다.



-

SELinux 에서는 프로그램에 대해 뭔가를 시킨다는 것을 ‘도메인'으로, 파일 등의 자원에 대해 ‘누구에 대해’, ‘뭔가를 시킨다’는 것을 ‘타입’으로 각각 정의할 수 있다.

이것을 TE 라고 부른다.

사용자에 대한 권한 부여도 도메인을 여러 개 묶은 ‘롤’을 사용하여 구현한다.





* TOMOYO linux


-

SELinux 는 제대로 운용할 수 있으면 상당히 강력한 보안을 구현할 수 있지만 TE 와 RBAC 가 난해하다는 것이 문제이다.

이를 해결하기 위한 어프로치 중 하나로 TOMOYO Linux이다.

이는 시큐어 OS 의 요건인 MAC(강제 엑세스 제어)와 최소 특권을 구현하기 위해 학습, 확인, 강제라는 세 가지 모드를 구분하여 사용한다.



-

학습 모드에서 TOMOYO Linux 를 가동시켜 평소의 운용 관리를 함으로써 평소에 해야 할 것을 시스템에게 가르친다. (강제 엑세스 권한은 적용되지 않으며, 폴리시를 생성하게 된다.)

확인 모드에서는 가르쳐 놓은 내용이 적절한지를 확인한다. (폴리시 적용 시의 시스템 동작을 확인하며, 위반 시 로그를 출력한다. 폴리시를 조정하기도 하며, 강제 엑세스 권한은 마찬가지로 적용되지 않는다.)

강제 모드에서는 MAC 과 최소 특권 상태를 구현한다. (폴리시와 강제 엑세스 권한을 적용한다.)

SELinux 와 비교하여 운용이 직관적이고 알기 쉽다는 특징이 있다.





* 시큐어 OS 의 예


-

기존의 Linux 에서는 Root 권한을 갖고 있는 사용자는 시스템에 대한 조작을 무엇이든 실행할 수 있다.



-

SELinux 에서는 각 사용자의 ‘롤’에 따라 액세스 권한이 부여된다.

root 라도 RBAC 에서 결정된 것 이상의 일은 아무 것도 실행할 수 없다.



-

SELinux 는 세세한 폴리시 할당을 할 수 있다는 장점이 있지만, SELinux 자체의 운용 관리가 상당히 난해하다는 단점이 있다.

TOMOYO Linux 는 동작 모드로 실시하는 작업을 알고 있으면 일련의 폴리시를 설정할 수 있다는 장점이 있으나, 세세한 폴리시 할당에는 전문 지식이 필요하다.




반응형

댓글