Chroot para Mysql rodando no Ubuntu 10.10?

2

Solicitado a partir de uma pergunta sobre as práticas recomendadas de segurança do servidor MySQL, passei por essa lista (com algumas pequenas alterações) para proteger adequadamente o servidor de banco de dados do servidor:

link

Na etapa 10, me disseram para alterar o diretório raiz do usuário mysql usando chroot, mas pouquíssimos detalhes são fornecidos e não sei por onde começar. Alguém sabe de um bom recurso para me percorrer as etapas para criar corretamente um ambiente chrooted para o Ubuntu 10.10?

    
por Calvin Froedge 29.12.2010 / 18:58

2 respostas

2

Em um chroot para o MySQL funcionar, você basicamente teria que recriar uma distribuição Linux separada.

Eu coloco meus bancos de dados (MySQL e PostreSQL) em contêineres OpenVZ - é chroot, mas mais. Ele fornece outros recursos que o chroot não fornece: controle de recursos, isolamento de rede e muito mais. A principal vantagem é que ele faz tudo para mim - eu apenas seleciono um modelo para o container, execute vzctl create 101 --ostemplate ubuntu-10.10-x86_64 e eu tenho um container (um chroot de trabalho ++) pronto.

Para colocar o contêiner em produção, preciso configurar um endereço IP local ou público e aumentar os limites de recursos padrão.

Para obter o OpenVZ, é necessário instalar e reinicializar em um kernel remendado do OpenVZ que está disponível em vários dos principais distores do Linux, mas infelizmente OpenVZ foi descontinuado como um pacote oficial do Ubuntu . É suportado no Debian e estará no Debian 6.0.

    
por 29.12.2010 / 21:27
2

Meu palpite é que o autor desse guia tinha "Chroot jail" como um ponto no seu esboço, mas depois se esquivou de dar os detalhes completos quando ficou claro que fazer o MySQL funcionar corretamente dentro de uma cadeia chroot é < strong> not trivial.

Basicamente, chroot jailing qualquer daemon envolve a configuração de um ambiente no qual o daemon encontrará todos os recursos do sistema de arquivos necessários dentro da cadeia, e isso pode incluir coisas como / etc / {passwd, group}, / usr / {bin , lib} /, / var / {log, run, lib} /, e assim por diante. Cada daemon tem diferentes necessidades específicas, portanto, infelizmente, não há um guia único para o chrooting.

Se você está realmente falando sério sobre o chroot jailing MySQL, eu encontrei um Receita específica do Debian / Ubuntu que pelo menos um comentarista reivindica trabalhos para versões tão recentes quanto o Debian Lenny e o MySQL 5.

    
por 29.12.2010 / 20:19