web-dev-qa-db-ja.com

(NetworkManager内の)OpenVPNでSELinuxをうまく機能させる

OpenVPNを使用して仕事用ネットワークに接続しようとしています。コマンドラインから使用すると問題なく動作します。

openvpn user.conf

DNSで適切に設定するのは面倒ではありませんが、少し面倒なようです。他のVPNと同じように、ネットワークマネージャーを介して使用したいと思います。問題はこれです:私はuser.crtca.crtおよびuser.key~/.openvpn/に保存します(これはそのようなものを保持するのに合理的な場所のようです。接続しようとするとNetworkManagerを介して、接続が失敗したことを通知するだけです。/var/logs/messagesを調べると、理由が明らかになります。SELinuxは、openvpnが証明書を読み取れないようにするポリシーをどこかに適用しています。与えられたすべての指示に従ってみました。 SELinuxトラブルシューティングによって、しかし役に立たない。

次に、ばかげて確かに SELinux構成からopenvpnポリシーを削除しました(Fedoraリポジトリから入手可能なSELinux管理GUIを使用)。あらゆる種類の地獄が崩壊しました(名前付きポートをバインドすることすらできなくなりました)。

問題はかなり緊急だったので、セッションでSELinuxを無効にするだけでした(邪魔にならないようにすべてが正常に機能します)。しかし、ある時点で再びオンにする必要があるので、私の質問はこれです:

最初にSELinuxでopenvpnの元のポリシーファイルを復元し、次にホームディレクトリの証明書へのopenvpnアクセスを許可するにはどうすればよいですか?

SE Policy Generatorツールも試しましたが、明らかに役に立ちませんでした(ポリシーに名前を付けるダイアログでスタックします)。

5
jelford

OpenVPNポリシーモジュールを復元するには、ターミナルでrootとして次のコマンドを実行するだけです。

semodule -i /usr/share/selinux/targeted/openvpn.pp.bz2

何らかの理由でそのファイルが欠落している場合(可能性は低いですが、system-config-selinuxが正確に何をするのかわかりません)、SELinuxポリシーパッケージを再インストールして再試行してください。

yum reinstall selinux-policy-targeted

最後に、OpenVPNがホームディレクトリからファイルを読み取ることを許可するには、次のコマンドを実行します。

setsebool -P openvpn_enable_homedirs 1

グラフィカル管理ツールの SELinuxブール値 のリストでopenvpn_enable_homedirsを設定できるはずです。

3
Patches

Fedora18で同様の問題に対応するだけです

そこを見てください https://bugzilla.redhat.com/show_bug.cgi?id=555785

証明書を適切な場所に配置します(Fedoraの観点から)〜/ .pki and make

restorecon -R -v ~/.pki

確かに

Openvpnが機能するようになりました。

3