2 votes

Chroot pour Mysql fonctionnant sur Ubuntu 10,10 ?

À la suite d'une question sur les meilleures pratiques de sécurité du serveur MySQL, j'ai parcouru cette liste (avec quelques légères modifications) pour sécuriser correctement ma base de données serveur :

http://www.greensql.net/publications/mysql-security-best-practices

À l'étape 10, on me dit de changer le répertoire racine pour l'utilisateur mysql en utilisant chroot, mais très peu de détails sont fournis et je ne sais pas par où commencer. Quelqu'un connaît-il une bonne ressource pour me guider à travers les étapes de la création d'un environnement chrooté pour Ubuntu 10.10 de manière appropriée?

2voto

Priyan R Points 687

Je suppose que l'auteur de ce guide avait "Chroot jail" comme un point principal dans son plan, mais en suite se désiste de donner les détails complets quand il est devenu claire que faire fonctionner MySQL correctement dans un chroot jail n'est pas trivial.

En gros, chroot jail n'importe quel daemon implique la mise en place d'un environnement dans lequel le daemon trouvera toutes les ressources du système de fichiers dont il a besoin à l'intérieur de la prison, et cela peut inclure des choses comme /etc/{passwd,group}, /usr/{bin,lib}/, /var/{log,run,lib}/, et ainsi de suite. Chaque daemon a des besoins spécifiques différents, donc malheureusement, il n'y a pas de guide universel pour chrooting.

Si vous êtes vraiment sérieux au sujet de chroot jailing MySQL, j'ai trouvé une recette spécifique à Debian/Ubuntu que au moins un commentateur prétend fonctionner pour des versions aussi récentes que Debian Lenny et MySQL 5.

2voto

snuggles Points 196

Dans un chroot pour que MySQL fonctionne, vous devriez essentiellement recréer une distribution Linux séparée.

J'ai mis mes bases de données (MySQL et PostreSQL) dans des conteneurs OpenVZ - c'est un chroot mais plus. Il fournit d'autres fonctionnalités que chroot ne fournit pas : le contrôle des ressources, l'isolation du réseau, et plus encore. Le principal avantage est qu'il fait tout pour moi - je choisis simplement un modèle pour le conteneur, exécute vzctl create 101 --ostemplate ubuntu-10.10-x86_64 et j'ai un conteneur (un chroot++) prêt.

Pour mettre le conteneur en production, je dois configurer une adresse IP locale ou publique et augmenter les limites de ressources par défaut.

Pour obtenir OpenVZ, il faut installer et redémarrer avec un noyau patché OpenVZ qui est disponible dans plusieurs distributions Linux majeures mais malheureusement OpenVZ a été abandonné en tant que package officiel d'Ubuntu. Il est pris en charge dans Debian et le sera dans Debian 6.0.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X