OpenVPNを実行しようとしたときのSELinuxラベルのリダイレクトの問題

OpenVPNを実行しようとしたときのSELinuxラベルのリダイレクトの問題

Fedora 19では、selinux(selinux-policy-targeted)を使用して試行モードでOpenVPNを実行しようとしていますが、AVCを実行しており、どのように処理するのかわかりません。

rootでコマンドラインからOpenVPNを起動すると問題はありませんが、systemd(存在するsystemctl start openvpn@vpcbridge場合 /etc/openvpn/vpcbridge.conf)を介して起動すると、次の結果が得られます。

  ERROR: Cannot ioctl TUNSETIFF tap0: Permission denied (errno=13)

そして/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

ちなみに、OpenVPNの設定は次のとおりです。

port 1194
user openvpn
dev tap0
proto udp
secret vpcbridge.key
keepalive 10 120
persist-tun
persist-key

を実行すると、audit2allow次のモジュールファイルが生成されます。

  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;

ただし、ロードするとエラーが発生します。

  # 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!

このエラーを処理する方法がわかりません。

修正する:要求時に出力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

ベストアンサー1

今は確認するFedoraシステムがありませんが、後で読んでみると、「openvpn」という名前がやや一般的なようです。 OpenVPNパッケージ自体には、インストール中にタイプ情報を追加するモジュールがあります。モジュールに別の名前を付けても、この現象は引き続き発生しますか?何か好きですかopenvpn-tun

詳細について100%確信することはできませんが(基本的には推測だけです)、両方のモジュールの名前が同じであれば競合があるようです。特にモジュールの場合依存する相手に関する情報。

編集する:

いよいよ家に着きました。その名前を持つ基本的なSELinuxモジュールがあるようです。

[root@localhost test]# cat /etc/fedora-release 
Fedora release 18 (Spherical Cow)
[root@localhost test]# semodule -l | grep openvpn
openvpn 1.11.0  

しかし、SELinuxがFedoraでどのように機能するかについての私の理解は間違っているようです。展開全体に対して 1 つのポリシー パッケージにすべて含まれているようです。

[root@localhost modules]# pwd
/etc/selinux/targeted/modules/active/modules
[root@localhost modules]# ls -lh openvpn.pp
-rw-r--r--. 1 root root 12K Jun 27 08:59 openvpn.pp
[root@localhost modules]# rpm -qf $PWD/openvpn.pp
selinux-policy-targeted-3.11.1-98.fc18.noarch

おすすめ記事