1. Dla poniższego wpisu dziennika, zbuduj moduł SELinux, który pozwoli Sendmailowi na odczyt atrybutów gniazda utworzonego przez Bitdefender:
type=AVC msg=audit(1420728867.579:709): avc: denied { getattr } for pid=5805 comm=”sendmail” path=”/run/BitDefender/bdmilterd.sock” dev=”tmpfs” ino=334905 scontext=system_u:system_r:sendmail_t:s0 tcontext=unconfined_u:object_r:init_var_run_t:s0 tclass=sock_file
# grep "denied { getattr }" /var/log/audit/audit.log|grep "sendmail"|audit2allow -M sendmail-gettattr
Moduł powinien składać się z dwóch plików:
– sendmail-gettattr.te, plik typu egzekwowania.
– sendmail-gettattr.pp, plik pakietu polityki.
2. Wczytaj pakiet do polityki.
# semodule -i sendmail-gettattr.pp
3. Dla wpisu dziennika poniżej, zbuduj moduł SELinux, pozwalając sendmailowi pisać na gnieździe utworzonym przez Bitdefender:
type=AVC msg=audit(1420729472.802:720): avc: denied { write } for pid=5881 comm=”sendmail” name=”bdmilterd.sock” dev=”tmpfs” ino=334905 scontext=system_u:system_r:sendmail_t:s0 tcontext=unconfined_u:object_r:init_var_run_t:s0 tclass=sock_file
# grep "denied { write }" /var/log/audit/audit.log|grep "sendmail"|audit2allow -M sendmail-write
Powstałe pliki: sendmail-write.te, sendmail-write.pp
4. Wczytaj pakiet do polityki.
# semodule -i sendmail-write.pp
5. Aby uzyskać następujący wpis dziennika, utwórz politykę, która pozwoli sendmailowi połączyć się z plikiem gniazda:
type=AVC msg=audit(1420730220.602:729): avc: denied { connectto } for pid=5999 comm=”sendmail” path=”/run/BitDefender/bdmilterd.sock” scontext=system_u:system_r:sendmail_t:s0 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=unix_stream_socket
# grep "denied { connectto }" /var/log/audit/audit.log|grep "sendmail"|audit2allow -M sendmail-connectto
Powstaną pliki: sendmail-connectto.te, sendmail- connectto.pp
6. Wczytaj pakiet do polityki.
# semodule -i endmail-connectto.pp
7. Aby zobaczyć zainstalowane moduły polityki, uruchom:
# semodule -l