카테고리 없음

리눅스 SELinux 설정 보안 개념 이해

operationsystem 2019. 10. 18. 15:25

 

 

 

 

 

개념

시스템 보안을 강화한다

손상된 시스템 서비스로부터 사용자 데이터를 보호한다

selinux는 어느 프로세스가 어느 파일, 디렉토리, 포트에 엑세스할 수 있는지 결정하는 보안 규칙의 집합이다

모든 파일, 프로세스, 디렉토리, 포트는 selinux컨텍스트라는 특별 보안 레이블이 있다

컨텍스트는 selinux 정책에서 프로세스가 파일, 디렉토리, 포트에 덱세스할 수 있는지 여부를 결정할 수 있는지 여부를 결정하는데 사용하는 이름이다

기본적으로 정책은 명시적 규칙에서 엑세스를 허용하지 않는 이상 어떤 상호 작용도 허용하지 않는다

 

컨텍스트 유형

기본 정책인 대상 정책은 컨텍스트로 규칙을 정한다

유형 컨텍스트 이름은 대개 _t로 끝난다

웹 서버 : httpd_t

/var/www/html : httpd_sys_content_t

/tmp, /var/tmp : tmp_t

웹 서버 포트 : http_port_t

 

컨텍스트 변경

파일의 상위 디렉토리의 selinux 컨텍스트에 따라 초기 selinux 컨텍스트가 결정된다

 = 상위 디렉토리의 컨텍스트는 새로 만들어진 파일에 할당된다

파일이 다른 위치에서 만들어지고 사용 권한이 유지된 경우 원래 SElinux 컨텍스트는 변경되지 않는다

컨텍스트를 변경하는 데 사용하는 명령은 chcon과 restorecon 이다

chcon 명령은 t옵션을 사용하여 파일의 컨텍스트를 명령의 인수로 지정된 컨텍스트로 변경한다. 하지만 명시적으로 지정할 때 실수를 할 수 있으며 부팅 시 파일 시스템이 재레이블 되지 않을 경우 파일 컨텍스트가 기본값으로 다시 변경된다. 따라서 되도록이면 사용하지 않는게 좋다

restorecon 명령은 파일 또는 디렉토리의 SELinux 컨텍스트를 변경하는 데 선호되는 방법이다. 이 명령을 사용할 경우 컨텍스트를 명시적으로 지정하지 않고 selinux 정책에 규칙을 사용하여 파일의 컨텍스트를 결정한다

 

 


** restorecon : 변경 적용 명령어

** semanage fcontext : 새 디렉토리에 대한 컨텍스트 추가