リモートマシンからのrsyncを許可するようにSElinuxを構成する

リモートマシンからのrsyncを許可するようにSElinuxを構成する

私は、SElinux で Debian マシンをセットアップしましたが、rsyncリモート マシン以外はすべて正常に動作します。 を使用して、追加の権限を持つモジュールをすでに作成しましたaudit2allowが、監査ログのすべてのエラーはなくなりました。マシンに rsync しようとしましたが、残念ながら、接続はまだ許可されていません。selinux を permissive に設定すると、すべてが期待どおりに動作します。

私は rsync をデーモンとして実行していません。ネット上の問題報告によると、デーモンとして実行すると、通常より多くの問題が発生するようです。rsync は、単に Debian 7 のデフォルトの構成になっています。

リモート rsync は次のメッセージで失敗します:

user1@othermachine:~$ rsync -vv servermachine:/home/user1/some/file .
opening connection using: ssh servermachine rsync --server --sender -vve.Lsf . /home/user1/some/file 
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]

rsync の権限は次のようになります。

root@host:~# ls -Z /usr/bin/rsync
system_u:object_r:rsync_exec_t:SystemLow /usr/bin/rsync

リモート rsync とサーバーを permissive モードで実行すると、プロセスは次のようになります。

root@host:~# ps aux|grep rsync
user1   22948  1.0  0.0  26680  5156 ?        Ds   11:08   0:00 rsync --server --sender -vlogDtpre.iLsf . /home/user1/some/file
root     22954  0.0  0.0  11292   924 pts/0    S+   11:09   0:00 grep rsync

root@host:~# ps -eZ | grep rsync
unconfined_u:system_r:rsync_t:s0-s0:c0.c1023 22948 ? 00:00:00 rsync

たとえば、scp は同じファイルで問題なく動作します。rsync にすでに付与した追加の権限は次のようになります。権限が寛大すぎるのか何かわかりませんが、少なくとも に表示される問題は修正されましたaudit.log

allow rsync_t user_home_t:file { read write getattr open };
allow rsync_t sshd_t:fifo_file { write read };
allow setfiles_t device_t:filesystem getattr;
allow setfiles_t devpts_t:filesystem getattr;
allow setfiles_t tmpfs_t:filesystem getattr;
allow setfiles_t sysfs_t:filesystem getattr;

それで、一番困っているのは、AVC エントリがまったく表示されないのに、まだ動作していないことです。詳細度を上げる方法はありますか? 一部の権限が付与されていないのに、AVC エントリがないのはなぜでしょうか? 次に、ネット上でこの問題に関する参照がまったく見つからず、デーモンとして実行されている selinux/rsync の問題しか見つからなかったことに少し驚いています。しかし、私の構成の何が特別なのかはわかりません。そのため、その診断に関するさらなるアイデアがあれば歓迎します!

答え1

SELinux と MySQL でも同様の問題が発生しました。「semodule -B -D」を実行すると、残っている監査の問題を確認できる状態にリセットされました。

元の質問はここ

関連情報