명령어/Linux

[RHEL] sesearch SELinux 정책 규칙 검색

jykim23 2026. 8. 16. 16:33
반응형

부제: 소스·타깃·클래스로 allow 규칙을 걸러 "무엇이 허용됐나"를 본다

sesearch --allow -s httpd_t -t http_port_t   # httpd_t가 http_port_t에 허용된 것
sesearch -A -s sshd_t                         # sshd_t가 소스인 모든 allow
allow httpd_t http_port_t:tcp_socket name_bind;
allow httpd_t http_port_t:tcp_socket name_connect; [ httpd_can_network_relay ]:True
allow httpd_t http_port_t:udp_socket name_bind;
allow httpd_t port_type:tcp_socket name_connect; [ httpd_can_network_connect ]:True

sesearch는 로드된 정책 안에서 규칙을 조건으로 검색하는 도구다. -s(source)·-t(target)·-c(class)로 범위를 좁히고 -A(--allow)로 허용 규칙만 뽑는다. 위 출력에서 대괄호로 붙은 [ httpd_can_network_connect ]:True는 그 규칙이 해당 불린이 켜졌을 때만 유효하다는 뜻이다. 즉 조건부 규칙까지 함께 보여준다. "이 서비스가 이 자원에 접근할 수 있나?"를 정책 차원에서 확인하는 가장 직접적인 방법이다. audit2allow가 로그를 근거로 규칙을 만든다면, sesearch는 이미 존재하는 규칙을 뒤진다. setools-console에 들어 있다.

이렇게도 쓴다

특정 타깃 타입에 접근을 허용하는 모든 도메인을 찾는다.

sesearch -A -t shadow_t -c file

 

불린 조건이 걸린 규칙만 좁혀 본다.

sesearch -A -s httpd_t -b httpd_can_network_connect

 

타입 전이(type_transition) 규칙을 검색한다.

sesearch -T -s init_t -t sshd_exec_t

 

dontaudit로 숨겨진 규칙까지 뒤진다.

sesearch --dontaudit -s httpd_t

 

특정 권한 이름으로 규칙을 걸러 낸다(조합).

sesearch -A -s sshd_t | grep name_bind
반응형