Konfigurieren Sie SElinux, um rsync von einem Remotecomputer zuzulassen

Konfigurieren Sie SElinux, um rsync von einem Remotecomputer zuzulassen

Ich habe eine Debian-Maschine mit SElinux eingerichtet und außer rsyncvon einer Remote-Maschine funktioniert alles einwandfrei. Ich habe bereits einige Module mit zusätzlichen Rechten erstellt audit2allowund jetzt sind alle Fehler im Prüfprotokoll verschwunden. Wenn ich versuche, per Rsync auf die Maschine zuzugreifen, wird die Verbindung leider immer noch nicht zugelassen. Wenn ich Selinux auf „permissiv“ einstelle, funktioniert alles wie erwartet.

Ich führe rsync nicht als Daemon aus, was laut Problemberichten im Internet generell mehr Probleme zu verursachen scheint. rsync ist einfach in der Standardkonfiguration von Debian 7 enthalten.

Das Remote-Rsync schlägt mit dieser Meldung fehl:

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]

So sehen die Rechte für rsync aus:

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

Wenn ich Remote-Rsync und den Server im permissiven Modus ausführe, sehe ich den Vorgang wie folgt:

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 zum Beispiel funktioniert mit derselben Datei problemlos. Die zusätzlichen Rechte, die ich rsync bereits gegeben habe, sehen wie folgt aus. Ich bin mir nicht sicher, ob sie zu großzügig sind oder so, aber sie haben zumindest die in auftretenden Probleme behoben 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;

Was mich also am meisten stört, ist, dass ich keine AVC-Einträge sehe, aber es trotzdem nicht funktioniert. Gibt es etwas, um die Ausführlichkeit zu erhöhen? Wie ist es möglich, dass einige Rechte nicht gewährt werden, aber kein AVC-Eintrag vorhanden ist? Zweitens bin ich ein wenig überrascht, dass ich im Internet keinen Hinweis auf das Problem finden konnte, sondern nur Probleme mit selinux/rsync, das als Daemon ausgeführt wird. Aber ich wüsste auch nicht, was an meiner Konfiguration so besonders ist. Daher sind weitere Ideen zur Diagnose hierzu willkommen!

Antwort1

Ich hatte ein ähnliches Problem mit SELinux und MySQL. Durch Ausführen von „semodule -B -D“ wurden die Dinge so zurückgesetzt, dass ich die verbleibenden Audit-Probleme sehen konnte.

Die ursprüngliche Frage istHier.

verwandte Informationen