디지털 양피지/Docker2017. 6. 23. 16:33


1. Security Enhanced Linux (SELinux)

 - linux 커널 모듈 중 하나이다.

 

DAC (Discretionary Access Control): 임의적 접근제어

 - 대부분이 DAC 기법을 사용하여 구현

 - Windows,Linux 등등 대부분이 속함

 - 파일의 접근 제어 권한을 가진 사람이 접근 할 수 있음.

 - Super User는 모든 파일의 권한 및 다른 접근을 제어할 수 있다.


RBAC (Role-Based Access Control: Non DAC) 역할 기반 접근 제어

 - 역할을 만들어서 사용자에게 배분한다.

 - 최소권한의 원칙에 따라 권한 부여.

 

MAC (Mandatory ) 강제적 접근 제어: 구현이 어렵고, 방대하다.

 - Trusted Solaris 가 유일 함.

 - 객체 단위의 세밀한 권한 설정

 - 주체의 권한에 근거하여 접근 제어

 - 주체등급(Subject Clearance): 사용자 주체의 보안레벨

 - 객체 등급(Object Clearance): 데이터, 객체의 보안레벨


Linux에 MAC 기법을 구현 한것이 SELinux이다.


#getenforce   / 모드보기


#setenforce 0 /Permissive

                1 / Enforcing


# cat /etc/selinux/config


커널 모듈이기 때문에 반드시 리부팅해야 한다.



#chcon -t httpd_sys_content_t /webcontent/    // change context 를통하여 context를 바꾸어사용한다.

#resorecon /webcontent/     // 다시 복구 할때 사용한다.


default_t 가 기본으로 사용되는데 이것도바꿀 수 있다.

- -Z 옵션을 통해서 context 모드를 볼 수 있다.

- ls -Zl 등등

#semanage fcontext -l  // default 로 설정된 context를 모두 볼 수 있다.


- docker에서는 virtd_XX_t, 또는 dockerd_xx_t context로 등록이 되어 있다. 

- 이를 통해 isolation을 구현하였다.




Posted by 빨간 양말