Eu tive um problema semelhante com o SELinux e o MySQL. A execução de 'semodule -B-D' redefiniu as coisas para onde eu podia ver os problemas de auditoria restantes.
A pergunta original é aqui .
Eu configurei uma máquina Debian com o SElinux e, exceto rsync
de uma máquina remota, tudo funciona bem. Eu já criei algum módulo com direitos adicionais usando audit2allow
, e agora todos os erros no log de auditoria desapareceram. Quando tento rsync para a máquina, mas infelizmente, a conexão ainda não é permitida. Configurando o selinux como permissivo, tudo funciona como esperado.
Não estou executando o rsync como um daemon, que geralmente parece causar mais problemas de acordo com relatórios de problemas na rede. O rsync é simplesmente a configuração padrão do Debian 7.
O rsync remoto falha com esta mensagem:
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]
É assim que os direitos do rsync se parecem:
root@host:~# ls -Z /usr/bin/rsync
system_u:object_r:rsync_exec_t:SystemLow /usr/bin/rsync
Quando executo o rsync remoto e o servidor no modo permissivo, vejo o processo da seguinte forma:
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, por exemplo, funciona sem problemas com o mesmo arquivo. Os direitos adicionais, que eu já dei para o rsync, parecem com o seguinte. Não tenho certeza se eles são muito generosos ou algo assim, mas eles pelo menos corrigiram os problemas que aparecem em 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;
Então, o que mais me incomoda é que não vejo nenhuma entrada de AVC, mas ainda não está funcionando. Existe alguma coisa para aumentar a verbosidade? Como é possível que alguns direitos não sejam concedidos, mas que não haja entrada no AVC? Em segundo lugar, estou um pouco surpreso, que não consegui encontrar nenhuma referência ao problema na rede, apenas problemas com o selinux / rsync sendo executado como um daemon. Mas eu também não saberia o que há de especial na minha configuração. Então, qualquer outra ideia sobre diagnósticos seria bem vinda!
Eu tive um problema semelhante com o SELinux e o MySQL. A execução de 'semodule -B-D' redefiniu as coisas para onde eu podia ver os problemas de auditoria restantes.
A pergunta original é aqui .
Tags permissions rsync selinux linux