Je voudrais pour une fois laisser SELinux fonctionner sur un serveur pour la sécurité accrue alléguée.
Je désactive généralement SELinux pour que tout fonctionne.
Comment dire à SELinux d'autoriser les connexions MySQL?
Le plus que j'ai trouvé dans la documentation est cette ligne de mysql.com:
Si vous exécutez sous Linux et que Linux à sécurité renforcée (SELinux) est activé, assurez-vous que vous avez désactivé la protection SELinux pour le processus mysqld.
wow ... c'est vraiment utile.
getsebool -a | grep mysql
6.Réponses:
Pour vérifier SELinux
Pour voir quels indicateurs sont définis sur les processus httpd
Pour permettre à Apache de se connecter à une base de données distante via SELinux
L'option -P rend le changement permanent. Sans cette option, le booléen serait réinitialisé à 0 au redémarrage.
la source
setsebool -P httpd_can_network_connect 1
peut également être nécessaire. Cela a été suggéré dans mes journaux en exécutantausearch -m avc -ts today | audit2why
comme suggéré dans un commentaire de vnix27.Vous obtenez une erreur? Quelle saveur de Linux utilisez-vous? Le contexte de sécurité est un bon point de départ si vous obtenez une erreur. ls -Z donnera le contexte ... Mais votre question est très vague.
la source
Apparemment, la configuration de selinux n'est pas anodine. Vous pouvez commencer ici .
met selinux en mode permissif, où il autorise tout sauf enregistre ce qu'il autorise. Un redémarrage ou
revient à bloquer tout ce que la politique ne permet pas.
Consultez ces documents de politique selinux pour mySQL dans Fedora .
la source
Êtes-vous sûr que c'est selinux? Les connexions normales de l'extérieur devraient être autorisées par selinux. Il pourrait donc aussi s'agir du pare-feu. Si vous avez des services locaux essayant de se connecter à mysqld, c'est quelque chose de différent: http://docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/sect-Managing_Confined_Services-MySQL-Booleans.html
la source
La
ausearch
commande peut aider à trouver le journal des erreurs.la source
vous pouvez également créer une politique locale:
"Vous pouvez générer un module de stratégie local pour autoriser cet accès. Autorisez cet accès pour l'instant en exécutant:"
grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
ou activer globalement pour la session réelle:
ou permanent:
la source