audit2allow의 기존 출력을 사용하여 SELinux 정책 모듈을 어떻게 생성합니까?

audit2allow의 기존 출력을 사용하여 SELinux 정책 모듈을 어떻게 생성합니까?

SELinux 정책 모듈을 생성하는 표준 방법을 알고 있습니다.

cat <auditlog_file> | audit2allow -M <module_name>

why하지만 예를 들어 audit2allow의 출력만 있는 경우 정책 모듈을 생성할 수 있는 방법이 있습니까?

cat <auditlog_file> | audit2allow

나에게주세요:

#============= httpd_t ==============

allow httpd_t default_t:sock_file write;
allow httpd_t unconfined_t:unix_stream_socket connectto;

위의 출력이 있지만 감사 로그 파일을 다시 캡처하여 실행할 수 없는 경우 정책을 생성하려면 어떻게 해야 합니까 audit2allow -M?

답변1

출력을 .te파일에 넣을 수 있습니다. 또한 몇 줄이 필요 module하고require 성명. 명령문을 사용하여 module명령문에 모듈 이름과 버전, 필수 유형을 정의해야 합니다 .require

module my_module 1.0.0;

require {
    class sock_file { write };
    class unix_stream_socket { connectto };
    type httpd_t, default_t, unconfined_t;
}


allow httpd_t default_t:sock_file write;
allow httpd_t unconfined_t:unix_stream_socket connectto;

checkmodule그런 다음 매뉴얼 페이지에 설명된 semodule_package대로 및 를 사용하여 정책 모듈을 컴파일하고 빌드할 수 있습니다.audit2allow:

checkmodule -M -m -o my_module.mod my_module.te
semodule_package -o my_module.pp -m my_module.mod

관련 정보