Como particionar com segurança a pasta do blog no site existente do Apache

3

Estou muito ciente dos benefícios da execução de sites diferentes em diferentes contas de usuário para limitar os danos se um único aplicativo da Web for comprometido. Fui instruído a instalar um blog wordpress em nosso domínio corporativo principal como uma subpasta (example.com/blog) do domínio e não como um subdomínio (acredito que essa seja uma estratégia de SEO). Eu preciso particionar o blog do site de comércio eletrônico principal (que tem acesso ao nosso banco de dados de contas de usuário), mas não consigo ver uma maneira clara de fazê-lo com o suexec.

O único pensamento que tenho é instalar o blog em um servidor separado e usar o mod_proxy no site principal como um proxy reverso. No entanto, isso significa que teríamos que manter o modelo de site principal em dois locais separados (o blog precisa ser integrado ao site principal com o mesmo cabeçalho, rodapé, etc.). Se esta é a única solução, então é provavelmente o caminho que vou escolher, mas gostaria de saber se alguém tem outras ideias, seria muito apreciado.

    
por Michelle 19.02.2011 / 10:54

2 respostas

2

Antes de mais nada, certifique-se de que o comércio eletrônico e o blog tenham bancos de dados separados e contas mysql separadas. Certifique-se de que essas contas não tenham acesso umas às outras ou ao banco de dados denominado mysql . Certifique-se de que nenhum deles tenha FILE privileges, que é o privilégio mais perigoso que você pode dar a um aplicativo da Web e, nesse caso, mesmo se o Apache / PHP estiver bloqueado, um invasor pode usar o MySQL para ler e gravar arquivos no outro aplicação.

O acordo com o suexec é que um aplicativo php é executado como um usuário específico. Isso é ideal para hospedagem compartilhada e para o que você está fazendo. Basicamente, crie 2 contas de usuário e tenha 2 diretórios de aplicativos. Certifique-se de que esses usuários não possam acessar os diretórios uns dos outros. (algo como chown wordpress -R /var/www/blog && chmod 550 -R /var/www/blog ). Em seguida, forneça à suexec a configuração adequada .

Eu também executaria o phpsecinfo , proibiria o acesso ao shell para ambas as contas definindo o shell como / bin / false. Considere instalar um WAF como mod_security .

    
por 22.02.2011 / 19:59
0

O proxy reverso é provavelmente o caminho a percorrer - mesmo que o blog use o mesmo cabeçalho e rodapé, provavelmente ele não compartilha a mesma codificação exata, então você terá o problema de 2 codebases de qualquer maneira carregá-lo.

Pessoalmente, eu configuraria um spearcatcher de front-end e um proxy reverso de todas as solicitações para tudo, de modo que todos os servidores de aplicativos estivessem no firewall duplo do efeito.

    
por 22.02.2011 / 20:42