Qual é a configuração ideal para resolver problemas de segurança?

8

Estou ciente dos requisitos que o WP tem para certos diretórios e arquivos serem graváveis. Eu também estou ciente de que fazer permissões muito frouxas pode abrir falhas de segurança. Por fim, sei que o usuário que (insira seu servidor aqui) é executado como nos sistemas Linux pode ser um fator.

Segurança à parte, gosto de baixar temas e plugins no meu blog e atualizá-los quando necessário. Permissões adequadas parecem estar um pouco em desacordo com essa preferência.

Eu colecionei pequenos detalhes aqui e ali, mas gostaria de ver uma resposta mais definitiva, se houver uma: qual é a configuração preferida com um aceno à segurança? Quais permissões devem estar no lugar, qual usuário o site deve executar, etc.

    
por Grant Palin 11.08.2010 / 23:24

2 respostas

10

Se você tiver acesso FTP ao seu servidor, a configuração mais segura é não ter seus temas ou diretórios de plug-ins graváveis pelo seu servidor da Web e, em vez disso, ter o WordPress atualizar arquivos usando o FTP. Quando você for atualizar um plug-in, o WordPress solicitará seus detalhes de FTP.

O método FTP é muito mais lento do que as gravações diretas de arquivos, mas é muito mais seguro, pois um script não autorizado não poderá modificar seus arquivos.

    
por Viper007Bond 11.08.2010 / 23:29
8

Como o @ Viper007Bond observou, atualizar seu núcleo, plug-ins e temas por meio dos mecanismos de atualização integrados é bastante seguro, já que as permissões de arquivos podem ser usadas, porque elas podem usar suas credenciais de usuário reais. Para máxima segurança, você quer ter certeza de que você tem a extensão PHP SSH2 instalada. O método de instalação (se possível) pode variar de host para host, por isso, se ele ainda não estiver lá, talvez seja necessário solicitar o serviço de hospedagem ou fazer algumas pesquisas no Google.

Muitos serviços de hospedagem compartilhada usarão suexec em sua configuração do Apache, para que o serviço da Web seja executado como o usuário real. Isso elimina a maioria dos problemas de permissão e ajuda a proteger seus arquivos de outros usuários no servidor. No entanto, nos casos em que o Apache é executado como um usuário separado, se você deseja carregar arquivos no WordPress, é necessário abrir as permissões no diretório de upload.

Nesse caso, você provavelmente deseja que o diretório wp-content/uploads tenha 0713 de permissões, (AKA rwx--x-wx ). Isto dá ao proprietário do diretório permissões completas, seu grupo pode ler arquivos se eles conhecem o caminho completo, e outros (incluindo o servidor web) podem ler arquivos que conhecem o caminho e podem criar / gravar arquivos .

Alguns plug-ins de cache também esperam ter disponível um diretório wp-content/cache (ou similar) para o qual podem gravar. O mesmo aviso de permissões se aplicaria a isso.

Por último, para permalinks bastante, o WordPress precisa modificar o arquivo .htaccess , a menos que você planeje atualizá-lo manualmente. Nesse caso, você deseja 0646 para o modo de arquivo. No entanto, uma vez que você tenha decidido sobre sua estrutura de permalink, você normalmente não precisará alterar isso novamente, para que você possa desativar as permissões de gravação adicionais e defini-la como 0644 . Ocasionalmente, um plug-in ou atualização de núcleo pode exigir acesso a ele e você pode ativar temporariamente as permissões de gravação para isso e desativá-lo novamente.

Todos os outros arquivos devem ter 0644 de permissões. Os diretórios devem ser 0711 se você for extra-paranóico, mas isso pode interferir em qualquer plug-in que precise obter uma lista de arquivos de um diretório. Nesse caso, ou se você não for tão paranóico, use 0755 , o que permitirá que outras pessoas leiam, mas não escrevam.

A maior parte disso é principalmente uma preocupação se você estiver em hospedagem compartilhada. Se você tiver um servidor dedicado (incluindo o VPS), sem outros usuários que tenham acesso ssh / ftp, você poderá relaxar um pouco mais. Não quero dizer que você deve simplesmente tornar tudo abertamente gravável, mas provavelmente você pode confiar apenas nos padrões do sistema, que provavelmente serão 0755 permissões nos diretórios em vez de 0711 .

Se for uma opção, obtenha um certificado SSL instalado para o site e, depois de testar se pode acessar seu site por meio de https , você poderá forçar o SSL para logins e acesso de administrador adicionando essas linhas ao seu site. wp-config.php file, logo antes do comentário "Stop editing":

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
    
por Dougal Campbell 02.03.2011 / 19:09

Tags