현재 상태 보기
# sestatus
모드 전환
setenforce 1 or 0
1: enforce mode (차단)
2: permissive mode (경고만 내보냄)
selinux 비활성화 하기
vim /etc/selinux/config
SELINUX=disabled
보안문맥 (Security Context)
사용자:역할:타입:레벨
예) unconfined_u:object_r:user_home_t:s0
사용자: 시스템의 사용자와 별도의 selinux 사용자
역할: 하나이상의 타입과 연결되어 selinux 사용자의 접근을 허용할지 결정하는데 사용
타입: 프로세스의 도메인이나 파일의 타입을 지정하고 이를 기반으로 접근통제 (가장중요)
레벨: 더 강력한 보안이 필요할때 (고급사용자용 몰라도 됨)
보안문맥 관련 유틸리티
설치
yum install setools-console
seinfo
:요약보기
seinfo -adomain -x
:전체도메인
sesearch
:정책에서 지정한 롤을 조회
sesearch –role_allow -t httpd_sys_content_t
: httpd_sys_content_t 객체에 접근할 수 있는 롤 그룹 표시
sesearch –allow -s httpd_t
httpd_t context 에 허용된 액션 보기
예) allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open } ;
httpd_sys_content_t 는 ioctl, read, getattr, lock, open 의 시스템 콜을 사용할 수 있다는 뜻
semanagehttpd_t httpd_sys_content_t
: 보안정책을 조회하고 추가/변경/삭제할 수 있는 유틸리티
설치
yum install -y policycoreutils-python
포트 컨텍스트 조회 | http_port_t 만
semanage port -l | grep http_port_t
http_port_t 에 포트 추가
semanage port -a -p tcp -t http_port_t 포트번호
: 이미 할당된 포트가 있을때 -a 대신 수정옵션 -m 사용
http_port_t 에 포트 삭제
semanage port -d -p tcp -t http_port_t 포트번호
파일 컨텍스트 조회
semanage fcontext -l|grep httpd_sys_content_t
특정디렉터리 하위에 httpd_sys_content_t 모두 추가
semanage fcontext -a -t httpd_sys_content_t “/opt/mycontent(/.*)?”
문제해결
audit2why
: audit.log 를 분석해 문제해결법을 알려줌 (간단하게)
사용법)
audit2why < /var/log/audit/audit.log
sealert
: 가장 자세히 보여주는 분석유틸
설치)
yum install setroubleshoot-server
사용법)
sealert -a /var/log/audit/audit.log
정책문제 때문에 파일이 실행되지 않을때
audit2allow -w -a
: 문제를 확인한다 ( -w: why )
audit2allow -a
: 문제를 해결하기 위한 허용정책만 보기 위한 명령
audit2allow -a -M 파일명
: 파일명.te (소스) 와 파일명.pp (컴파일본) 가 생성된다.
semodule -i 파일명.pp
: 생성된 정책을 자동으로 설치하고 반영한다.