Ich versuche, OpenVPN unter Fedora 19 mit Selinux (auf Selinux-Richtlinien ausgerichtet) im Durchsetzungsmodus auszuführen, und ich stoße auf einen AVC, bei dem ich nicht ganz sicher bin, wie ich damit umgehen soll.
Das Starten von OpenVPN über die Befehlszeile als root funktioniert einwandfrei, aber das Starten über systemd ( systemctl start openvpn@vpcbridge
wo
/etc/openvpn/vpcbridge.conf
vorhanden) führt zu:
ERROR: Cannot ioctl TUNSETIFF tap0: Permission denied (errno=13)
Und in /var/log/audit
:
type=AVC msg=audit(1376412420.435:60): avc: denied { relabelfrom } for
pid=720 comm="openvpn" scontext=system_u:system_r:openvpn_t:s0
tcontext=system_u:system_r:ifconfig_t:s0 tclass=tun_socket
Als Referenz ist hier die OpenVPN-Konfiguration:
port 1194
user openvpn
dev tap0
proto udp
secret vpcbridge.key
keepalive 10 120
persist-tun
persist-key
Wenn ich starte audit2allow
, erhalte ich eine Moduldatei, die folgendermaßen aussieht:
module openvpn 1.0;
require {
type openvpn_t;
type ifconfig_t;
class tun_socket relabelfrom;
}
#============= openvpn_t ==============
allow openvpn_t ifconfig_t:tun_socket
relabelfrom;
Aber das Laden, das einen Fehler erzeugt:
# semodule -i openvpn.pp
libsepol.print_missing_requirements: openvpn's global requirements were
not met: type/attribute openvpn_t (No such file or directory).
libsemanage.semanage_link_sandbox: Link packages failed (No such file or
directory).
semodule: Failed!
Ich bin mir nicht sicher, was ich mit diesem Fehler anfangen soll.
Update : Wie gewünscht, die Ausgabe von seinfo -t ...
:
# seinfo -t | grep openvpn
openvpn_tmp_t
openvpn_unconfined_script_exec_t
openvpn_status_t
openvpn_etc_rw_t
openvpn_var_lib_t
openvpn_var_run_t
openvpn_port_t
openvpn_server_packet_t
openvpn_etc_t
openvpn_initrc_exec_t
openvpn_var_log_t
openvpn_unconfined_script_t
openvpn_exec_t
openvpn_t
openvpn_client_packet_t
seinfo -t | grep openvpn
für uns posten ? Es wäre nur gut zu sehen, ob openvpn_t tatsächlich definiert wurde.
openvpn_t
definiert zu sein.
openvpn-tun
oder so?