Como eu permito conexões do MySQL através do SELinux?

16

Eu gostaria de deixar uma vez o SELinux rodando em um servidor pelo suposto aumento de segurança.
Eu normalmente desabilito o SELinux para que qualquer coisa funcione.
Como eu digo ao SELinux para permitir conexões MySQL?
O máximo que eu encontrei na documentação é essa linha do mysql.com:

If you are running under Linux and Security-Enhanced Linux (SELinux) is enabled, make sure you have disabled SELinux protection for the mysqld process.

uau ... isso é muito útil.

    
por xivix 24.02.2011 / 21:23

6 respostas

30

Para verificar o SELinux

sestatus

Para ver quais sinalizadores estão definidos nos processos httpd

getsebool -a | grep httpd

Para permitir que o Apache se conecte ao banco de dados remoto através do SELinux

setsebool httpd_can_network_connect_db 1

Use a opção -P para tornar a alteração permanente. Sem essa opção, o booleano seria redefinido para 0 na reinicialização.

setsebool -P httpd_can_network_connect_db 1
    
por 10.12.2012 / 22:30
1

Você recebe um erro? Qual sabor do linux você está usando? O contexto de segurança é um bom lugar para começar se você estiver recebendo um erro. ls -Z dará contexto ... Mas sua pergunta é muito vaga.

    
por 24.02.2011 / 22:03
0

Aparentemente, configurar o selinux não é trivial. Você pode querer começar aqui .

setenforce 0

coloca o selinux no modo permissivo, onde permite qualquer coisa além de registrar o que está permitindo. Uma reinicialização ou

setenforce 1

volta a bloquear o que a política não permite.

Confira esses documentos de política do selinux para mySQL in Fedora .

    
por 26.02.2011 / 05:30
0

Tem certeza que é selinux? Conexões normais de fora devem ser permitidas pelo selinux. Então, também poderia ser o firewall. Se você tem serviços locais tentando se conectar ao mysqld, isso é algo diferente: link

    
por 15.03.2011 / 16:09
0

O comando ausearch pode ajudar a encontrar o log de erros.

    
por 26.02.2011 / 07:24
0

você também pode criar políticas locais:

"Você pode gerar um módulo de política local para permitir este acesso. Permitir este acesso por enquanto executando:"

grep httpd /var/log/audit/audit.log | audit2allow -M mypol

semodule -i mypol.pp

ou ativar globalmente para a sessão real:

setsebool httpd_can_network_connect_db 1

ou permanente:

setsebool -P httpd_can_network_connect_db 1
    
por 24.12.2013 / 13:24

Tags