명령어/Linux

[RHEL] audit2allow AVC 거부를 정책 규칙으로 변환

jykim23 2026. 7. 17. 18:55
반응형

부제: 감사 로그의 SELinux 거부(AVC)를 읽어 허용 규칙 초안을 만든다

ausearch -m avc -ts recent | audit2allow        # 최근 거부를 규칙으로
ausearch -m avc | audit2allow -M mymodule        # 모듈 패키지로 저장
#============= httpd_t ==============

#!!!! This avc can be allowed using the boolean 'httpd_read_user_content'
allow httpd_t user_home_t:file read;

audit2allow는 SELinux가 남긴 AVC(Access Vector Cache) 거부 로그를 읽어, 그 접근을 허용하려면 어떤 규칙이 필요한지 정책 문법으로 뽑아 주는 도구다. 서비스가 SELinux 때문에 막혔을 때 로그를 파이프로 넘기면 allow ... 규칙 초안이 나온다. 위 출력처럼 불린 하나로 풀리는 경우엔 친절하게 알려 주기도 한다. 주의할 점은, 나온 규칙을 무턱대고 적용하면 안 된다는 것이다. 거부에는 이유가 있으니 규칙이 정말 타당한지 먼저 판단해야 한다. 왜 막혔는지는 audit2why가 설명한다. 로그가 비어 있으면 Nothing to do만 나온다.

이렇게도 쓴다

거부 이유까지 주석으로 자세히 붙인다(-v).

ausearch -m avc -ts today | audit2allow -v

 

refpolicy 스타일의 인터페이스 호출로 뽑는다(-R).

ausearch -m avc | audit2allow -R

 

바로 적재 가능한 모듈 패키지(.pp)로 만든다(-M).

ausearch -m avc -ts recent | audit2allow -M myweb

 

dontaudit로 숨겨진 거부까지 포함해 분석한다(조합).

ausearch -m avc | audit2allow -D

 

특정 서비스 거부만 골라 규칙화한다(조합).

ausearch -m avc -c httpd | audit2allow
반응형