proftpd está acessando my.cnf

1

Eu uso o proftpd para hospedar FTP virtual com o MySQL.

Eu comecei a escrever políticas do SELinux refinadas e descobri que está tentando acessar arquivos my.cnf.

A pergunta é para quê e por quê?

type=AVC msg=audit(1378191337.059:153431): avc:  denied  { getattr } for  pid= comm="proftpd" path="/etc/my.cnf" dev="dm-1" ino=1180081 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:mysqld_etc_t:s0 tclass=file
type=AVC msg=audit(1378191337.059:153432): avc:  denied  { read } for  pid=50590 comm="proftpd" name="my.cnf" dev="dm-1" ino=1180081 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:mysqld_etc_t:s0 tclass=file
type=AVC msg=audit(1378191337.059:153432): avc:  denied  { open } for  pid=50590 comm="proftpd" path="/etc/my.cnf" dev="dm-1" ino=1180081 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:mysqld_etc_t:s0 tclass=file

A saída de ps auxwf|grep 50590 está vazia agora - o processo não existe mais. Parece que está tentando fazer isso em todas as tentativas de login.

Atualização: Solicitação de bug / recurso arquivado, patch enviado pelo desenvolvedor: link

    
por GioMac 03.09.2013 / 09:29

3 respostas

1

Só para adicionar que o código-fonte também menciona isso:

Eu verifiquei um instantâneo recente. Especificamente, proftpd-cvs-20130903/contrib/mod_sql_mysql.c :

485   /* Make sure the MySQL config files are read in.  This will read in
486    * options from group "client" in the MySQL .cnf files.
487    */
488   mysql_options(conn->mysql, MYSQL_READ_DEFAULT_GROUP, "client");
    
por 03.09.2013 / 12:48
3

Clientes MySQL que se vinculam a libmysqlclient lê opções globais do [client] seção de /etc/my.cnf . Esse é um comportamento típico para esses clientes, e o ProFTPD é um desses clientes quando você usa o módulo MySQL.

O SELinux boolean ftpd_full_access permitirá este acesso, mas também efetivamente desativa o SELinux em todas as operações do daemon do FTP, por isso não deve ser usado sem extrema cautela.

Se fosse eu, arquivaria uma solicitação de recurso contra selinux-policy solicitando que um booleano permitisse que esse acesso fosse adicionado, ou talvez para adicioná-lo ao ftpd_connect_db booleano.

    
por 03.09.2013 / 10:27
1

Do documento off

Pergunta : Como configuro o mod_sql para que ele use conexões criptografadas (por exemplo, SSL / TLS) no servidor de banco de dados de back-end?
Resposta : Se você estiver usando o MySQL, então você pode configurá-lo na seção [client] do seu arquivo de configuração my.cnf .

É por isso que o proftpd tenta ler /etc/my.cnf

    
por 03.09.2013 / 10:40