私は、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」を実行すると、残っている監査の問題を確認できる状態にリセットされました。
元の質問はここ。