[v6] SELinux
Security-Enhanced Linux
커널을 통해 모든 서비스, 포트, 파일 등 전체적인 보안 통제용으로 사용
context type : _r, _t, _u
파일이나 폴더,포트나 서비스 등의 context type 확인 : Z 옵션 추가
ex) ls -alZ, netstat -naZ, ps axZ 등
-> user, role, type 의 순서로 보임
SELinux의 모드
- enforcing : 실제 동작 및 로깅
- Permissive : 로깅만 수행
- disabled : 사용안함
모드의 변경
/etc/sysconfig/selinux 수정
- SELINUX=enforcing 항목 수정
- SELINUXTYPE=targeted : 타겟 프로세스를 지정해서 동작(cf.mls : 다중레벨 보안)
현재 mode 확인 : getenforce
모드 변경 : setenforce [ enforcing | permissive | 1 | 0 ]
- disabled로 변경시는 반드시 리부팅 필요
모든 파일등 리눅스 리소스에는 이미 정의된 context 타입이 있다.
파일 또는 디렉토리의 경우, copy시에는 옮겨가는 디렉토리의 context로 변경되어 그 속성을 따르지만
move의 경우는 원래의 파일/디렉토리의 속성을 유지하게 된다.
따라서 move 등의 경우에는 옮기긴 했으나 그 위치의 기존 다른 파일들과의 read 등 속성에서 차이가 있을 수 있다
이 경우 사용하는 명령어가 restorecon 이다.
디렉토리 전체의 파일을 정상화하려면 'restorecon -R 디렉토리' 명령을 쓴다
Context의 기 정의된 타입정책을 변경할 필요가 있을경우에 사용하는 명령어는
semanage