
Estou hospedando vários sites em um VPS e quero fazer chroot em cada site, por exemplo. /chroot/website1 /chroot/website2
Estou usando o makejail, que é uma ferramenta de alto nível, para criar os jails e copiar as bibliotecas e dependências. Mole-mole.
Cada site precisará de nginx, php e mysql. Para php estou usando php5-fpm que na verdade suporta chroot por configuração, porém não estou usando isso (talvez devesse?)
Minha pergunta é qual abordagem das três seguintes é a melhor:
1) Cada site terá sua própria instância separada de nginx, php e mysql. A desvantagem é que cada servidor web + php precisa escutar uma porta diferente. Eu também preciso de um servidor web nginx "mestre" na frente deles, fazendo proxy reverso para os servidores chroot por trás dele. Provavelmente o mais seguro, mas também o mais avançado.
2) Eu não faço nenhuma prisão chroot manualmente. Eu configurei um servidor web nginx, que faz proxy de solicitações php para php-fpm, em portas diferentes. Posso ter várias configurações de php-fpm, cada uma com sua própria pasta chroot. Isso é bastante gerenciável - no entanto, apenas o php será chrootado. Não é o servidor web real. Isso é seguro o suficiente. Além disso, tentei esta opção e parece que precisarei usar TCP em vez de soquetes para conectar-me ao MySQL.
3) Você me conta ;)
Sou muito novo no jailing chroot, então corrija-me se estiver errado em minhas suposições. Tenho lido todos os tutoriais que encontrei, porém, acho o mercado para guias chroot muito escasso. Qualquer ajuda ou contribuição muito apreciada!
Responder1
Acabei usando a opção número 2. Se eu usar TCP (127.0.0.1) em vez de soquetes (localhost), a maioria das coisas funcionará imediatamente.
Algumas coisas precisam ser cuidadas: sendmail e serviços externos. Para sendmail você pode usar mini_sendmail. Muito fácil de configurar se você usar makejail (pacote Debian/Ubuntu) e seguir este tutorial: http://www.cyberciti.biz/tips/howto-setup-sendmail-php-mail-chrooted-apache-lighttpd.html