Como proteger uma nova instalação do Joomla?

34

Quais são as ações que você deve executar após uma nova instalação do Joomla para mantê-la segura? Tanto em servidores de hospedagem compartilhada quanto em servidores dedicados.

ilias
fonte
11
@ Admins: que tal um wiki da comunidade para esta pergunta?
precisa saber é o seguinte

Respostas:

36

Mantendo um site Joomla seguro

  1. Use senhas fortes.
  2. Minimize o número de contas de administrador.
  3. Desative ou remova contas de usuário não utilizadas.
  4. Minimize o número de extensões de terceiros e, onde as extensões de terceiros forem necessárias, use extensões bem suportadas de desenvolvedores estabelecidos em que você confia.
  5. Aplique regularmente as atualizações mais recentes ao Joomla e extensões de terceiros, incluindo hotfixes de segurança para versões do Joomla EOL, quando aplicável.
  6. Assine o feed Joomla Security News para se manter informado das principais atualizações de segurança do Joomla
  7. Inscreva-se na lista de extensões de vulnerabilidades do Joomla (VEL) para que novas vulnerabilidades possam ser rapidamente atendidas. Role até a parte inferior da página para o link da assinatura - você também pode seguir o VEL no Twitter .
  8. Use hospedagem segura de boa qualidade, incluindo um manipulador de arquivos PHP apropriado, como suPHP ou FastCGI, e extensões de segurança, como mod_security. Use uma versão suportada do PHP .
  9. Em vez de confiar apenas nos backups da sua empresa de hospedagem, execute regularmente seus próprios backups do site, copie os arquivos de backup fora do local e execute regularmente restaurações de teste em um local de teste para verificar a qualidade dos seus backups.
  10. Ativar https.
  11. Implemente um firewall de aplicativo da web como o fornecido com a versão profissional do Akeeba Admin Tools.
  12. Não use o prefixo da tabela padrão.
  13. Altere o nome de usuário e ID padrão do Superadministrador para outra coisa. A versão profissional do Akeeba Admin Tools possui uma ferramenta para alterar o ID do superadministrador.
  14. Restrinja o acesso ao administrador do Joomla por IP. Permitir apenas IPs confiáveis.
  15. Habilite a autenticação de 2 fatores para contas de administrador (aplica-se ao Joomla 3.2 e posterior).
  16. Repita as etapas acima para outros sites que compartilham a mesma conta de hospedagem ou, idealmente, separe os sites em suas próprias contas de hospedagem para evitar a contaminação cruzada.
  17. Verifique se os computadores pessoais dos administradores de sites são protegidos da mesma forma. Por exemplo, implemente um scanner de vírus e malware de boa qualidade. Isso ajuda a proteger todas as credenciais do site armazenadas em computadores pessoais. Idealmente, use uma ferramenta ou aplicativo de criptografia para armazenar sites e outras credenciais.
  18. Leia os 10 truques mais estúpidos do administrador para obter informações sobre o que não fazer.

Para instruções mais detalhadas, consulte a Lista de verificação de segurança oficial .

Neil Robertson
fonte
Essa lista provavelmente pode ser adicionada a (sinta-se à vontade para editar). :)
Neil Robertson
2
Talvez você possa vincular à "lista de extensões vulneráveis"? (Eu não consigo editar a sua resposta, por alguma razão, eu posso editar os outros?)
MrWhite
Thanks @ w3d - Adicionei um link para a página de assinatura do VEL e também para o feed de notícias de segurança do Joomla.
Neil Robertson
14

É muito importante armazenar backups em um servidor separado. Eu vejo muitas pessoas que estão executando fielmente o Akeeba Backups ... e estão sendo armazenadas no mesmo servidor no mesmo diretório raiz. Não é tão útil se você for hackeado de maneira séria e certamente não é útil para se recuperar de uma falha de hospedagem.

O Akeeba Backup Pro permite armazenar e gerenciar arquivos de backup em armazenamento externo, como a nuvem da Amazon.

Deb Cinkus
fonte
4
Também é importante verificar seus backups quanto à compactação corrompida após a transferência do diretório de hospedagem. Um backup corrompido não é um backup. Isso vale para todos os sistemas de backup, Akeeba, CPanel e assim por diante.
UhlBelk
7

Como alternativa ao arquivo .htaccess ou ao bloqueio por IP, você também pode usar o jSecure para proteger seu login de administrador.

Uma coisa que não foi mencionada é o uso de um provedor de hospedagem respeitável. Você deseja um que não apenas mantenha a segurança, mas também funcione se você for invadido ou houver um problema (o banco de dados é corrompido, por exemplo). A idéia é limitar os danos causados ​​pelo site, permitindo que você o limpe.

A idéia básica, você quer alguém que ..

  • estará por perto
  • não é uma operação noturna
  • vai trabalhar com você
  • e fornece um ambiente sólido.

Se você quiser uma lista de perguntas para pedir a um host que tenha uma sensação melhor, entre em contato.

Espero que isto ajude.

Donald Champion
fonte
6

Tente isso também,

  • Mantenha seu Joomla atualizado junto com suas extensões.
  • Mantenha regularmente backups do seu site nas nuvens .
  • Não abra robots.txtpara pastas protegidas.
  • Para as versões mais recentes do Joomla, o uso da autenticação de dois fatores será mais seguro.
  • Verifique se pastas e arquivos têm as permissões corretas permitidas.
  • Use Cloudfare para Joomla .

Espero que ajude ..

Jobin Jose
fonte
5

Basicamente, na minha experiência, com o tamanho do Joomla, não há como realmente protegê-lo completamente. Então, ao invés de uma política de segurança perfeita que interrompa tudo, é melhor reduzir suas expectativas para tentar reduzir o dano geral.

Isso pode ser feito com uma política de backup extremamente frequente, para que, a qualquer invasão, o site possa ser revertido, bem como verificações de malware. Até agora, nenhum corte que tivemos foi devido ao nosso painel de administração ser brutalmente forçado.

A maioria dos hacks que vemos são de componentes de terceiros ou do núcleo do Joomla; vimos até mesmo hacks que também conseguem acessar as versões mais recentes do Joomla. Isso ocorre porque o hack normalmente pode parecer uma solicitação normal, usando filtragem incorreta para enviar um arquivo ao servidor. Quando um arquivo está no servidor, tudo está em ordem, ele pode estar em QUALQUER site em um servidor compartilhado inteiro e ainda afetar o seu, portanto, se uma pessoa em um servidor compartilhado não se mantiver atualizada, isso poderá afetá-lo.

Isso pode ser um pouco extremo, mas, com base na experiência pessoal, é melhor estar preparado para o pior e confiar demais em sua política.

Portanto, a melhor maneira de garantir uma nova instalação do Joomla é fazer backup com frequência e ativar verificações de malware; se o scanner de malware puder enviar um e-mail assim que encontrar algo, você poderá reverter para o backup mais recente em um prazo muito curto.

Jordan Ramstad
fonte
"derrubar seus padrões" ??? Caso que talvez tenha sido "melhorar seus padrões?
chesedo
Achei que isso seria um voto negativo, só não quero que ninguém pense que, se seguirem as orientações, estarão seguros. Isso significa baixar seus padrões, pois não espere não ser invadido, mas esteja preparado para que isso aconteça. A maioria das pessoas que conheço pode fazer backup uma vez por semana ou uma vez por mês porque sente que ser hackeado é raro, mas não é.
Jordan Ramstad
Então você deve provável ter usado "trazer suas expectativas para baixo" (de não ser cortado) :)
chesedo
Boa nota, editei isso, obrigado. Não tentando dizer nada de ruim sobre o Joomla, eu adoro, é só brigar com hacks nunca vai acabar, então é melhor estar preparado :).
Jordan Ramstad
Muito correto - às vezes a melhor maneira de ajudar é ser sincero :).
Chesedo #
3

Tomando emprestada esta lista de um white paper "Testando com caneta um site Joomla" encontrado no blog. Eu acho que esta lista é uma orientação completa para os conceitos básicos de segurança do Joomla.

  1. Sempre mantenha o Joomla atualizado. Instale a atualização mais recente assim que a atualização for lançada.
  2. Quaisquer que sejam as extensões que estão sendo usadas, elas devem ser devidamente corrigidas com as versões mais recentes da atualização. Qualquer extensão antiga pode oferecer ao invasor uma maneira de comprometer o site.
  3. Não use extensões que não foram usadas por ou que não foram testadas corretamente.
  4. Todas as entradas do usuário devem ser validadas corretamente. Essas entradas podem ser entradas em formulários, URI, upload de imagens, etc. Suponha que, se um botão BROWSE permitir ao usuário fazer upload da imagem, ele deve apenas fazer upload de uma imagem e não de um shell PHP, que pode funcionar mais tarde como um backdoor em o servidor.
  5. Use senhas fortes para todos os logins. Pelo menos 8 caracteres, um caractere especial, um número e uma letra com distinção entre maiúsculas e minúsculas. Protegerá sua instalação de uma força bruta.

  6. Sempre acompanhe os "Últimos visitantes" nos arquivos de log do servidor da Web para detectar possíveis ataques. Nunca considere seus arquivos de log apenas uma informação. É altamente útil para rastrear e monitorar os usuários.

  7. Coloque algum estresse para implementar mais segurança em todo o servidor no qual o site do Joomla está hospedado; sendo hospedado em servidor compartilhado ou em um dedicado.

  8. Faça uma lista de todas as extensões que você usa e continue monitorando-as.

  9. Mantenha-se atualizado com as mais recentes vulnerabilidades e divulgações em vários avisos de segurança. Exploit-db, osvdb, CVE etc. são alguns dos bons recursos.

  10. Altere a permissão no seu arquivo .htaccess, como é por padrão, usando permissões de gravação (pois o Joomla precisa atualizá-lo). A melhor prática é usar 444 (r-xr-xr-x).

  11. Permissões de arquivo apropriadas nos diretórios públicos devem ser concedidas para que nenhum arquivo malicioso possa ser carregado ou executado. A melhor prática neste contexto é 766 (rwxrw-rw-), ou seja, somente o proprietário pode ler, escrever e executar. Outros podem apenas ler e escrever.

  12. Ninguém deve ter permissão para gravar em arquivos PHP no servidor. Todos devem ser definidos com 444 (r - r - r--), todos podem ler apenas.

  13. Delegar as funções. Isso torna sua conta de administrador segura. Caso alguém invadir sua máquina, ele deve ter acesso apenas ao respectivo usuário, e não à conta do administrador.

  14. Os usuários do banco de dados devem ter permissão apenas para fornecer comandos como linhas INSERT, UPDATE e DELETE. Eles não devem ter permissão para derrubar tabelas.

  15. Altere os nomes das pastas de back-end, por exemplo, você pode alterar / administrador para / admin12345. 16. Por último, mas não menos importante, mantenha-se atualizado com as vulnerabilidades mais recentes.

FFrewin
fonte
Sugestão adicional 12: ninguém, exceto o servidor da Web, também deve ter permissão para ler os arquivos PHP no servidor. Defina o usuário como o usuário do servidor Web (www-data ou http) e defina-o como 400 ou 600 para arquivos editáveis ​​por meio de back-end (css, ...).
Tom Kuschel
3

Sua primeira linha de defesa é o seu serviço de hospedagem

  • Alugue um servidor dedicado de um serviço de hospedagem confiável
  • Certifique-se de ativar o 2FA no servidor e usar uma senha 'MUITO FORTE'
  • Instale um firewall confiável no seu servidor - eu uso o ConfigServer
  • Instalar / configurar um programa antivírus, eu uso o ClamAV
  • Certifique-se de que o nome de usuário de cada site NÃO use os 8 primeiros caracteres do nome de domínio e use uma senha 'MUITO FORTE'
  • Verifique se cada site tem um certificado SSL instalado
  • Verifique se cada site está 'In Jail', o que significa que eles não têm acesso root, a menos que você precise acessar a raiz do servidor. Nesse caso, verifique se você tem o Secure Shell (SSH) instalado e configurado. Eu uso o site do meu domínio de servidor, mas tenho todos os outros sites 'In Jail'.
  • Verifique se todas as atualizações do servidor estão instaladas prontamente !!!!

Sua próxima linha de defesa é o seu cPanel

  • Use uma senha "MUITO FORTE"
  • Configurar a força da senha do usuário para usuários
  • Configure uma tarefa cron para fazer um backup completo do cPanel e salvar em uma fonte externa
  • Verifique se o cPanel foi configurado para usar SSL para acesso
  • Execute 'Site Security Check' para ver que outros ajustes podem ser necessários
  • Verifique se todas as atualizações do cPanel são instaladas imediatamente !!!!

Sua próxima linha de defesa é o seu painel de administrador

  • Edite os requisitos de formato de senha para garantir senhas fortes (caracteres maiúsculos / minúsculos, números e pelo menos 1 sinal de pontuação com um comprimento mínimo de 18 caracteres.
  • Ativar 2FA para usuários - Use para contas de superusuário e administrador
  • Limite o número de contas de superusuário (melhor ter apenas uma)
  • Limite o número de contas de administrador (quanto menos, melhor)
  • Limite as áreas que os administradores podem acessar
  • Limite as áreas que editores, editores e autores podem acessar
  • Instale e configure o AdminTools
  • Configurar uma senha de URL de administrador via AdminTools
  • Verifique se os arquivos críticos (HTACCESS, ROBOTS.TXT, WEBCONFIG, INDEX.PHP (raiz e modelo) estão definidos como 444. Ainda é possível editar os arquivos através do gerenciador de arquivos do painel de controle do cPanel pr Plesk
  • Instale e configure o AkeebaBackup
  • Configure o AkeebaBackup para salvar backups externamente, fora do local
  • Instale apenas complementos através das páginas da extensão Joomla, nunca instale um complemento de terceiros que não estejam listados na página da extensão Joomla.
  • Desative e / ou desinstale os complementos que não são usados ​​e não são necessários para a funcionalidade do Joomla
  • Instale o Joomla e atualizações completas imediatamente !!!

Tenho certeza de que existem outras etapas, mas essas são as principais que eu uso no meu servidor, hospedando mais de 70 sites de todo o país. Recentemente, tive um ataque maciço semelhante a um ataque DDoS e nenhum site foi acessado. Eu meio que senti 3 metros de altura e à prova de balas, mas sei que não posso ser complacente, pois amanhã é outro dia! ri muito

Luke Douglas
fonte
-4
  1. Não sou fã de autenticação de dois fatores

  2. Instale o Akeeba Admin Tools, habilite o htaccess avançado, verifique as opções e o firewall do software

https://www.akeebabackup.com/download/admin-tools.html

  1. Ativar senha de URL de back-end
Anibal
fonte
11
Gostaria de compartilhar por que você não é fã de autenticação de dois fatores?
chesedo
2
Entendo - isso faz sentido. Mas por que incluir não usá-lo entre os pontos para ajudar na segurança? Se você deseja que ele seja publicado, por que não tê-lo como nota secundária juntamente com o motivo?
chesedo
11
Você está certo. Estou apenas aprendendo a responder perguntas aqui ;-) BTW Esta resposta recebeu -2 :-(
Anibal
4
Vamos deixar como uma primeira resposta ingênua no sistema deste autor. Tem algum charme à sua maneira.
Anibal
11
Ele Ele! Realmente, o objetivo do sistema SE é 'obter as melhores respostas' ou melhorar as boas respostas - eu sugeriria que a sua resposta, com a explicação dele, pudesse ser excluída e adicionada como um comentário, pois, juntamente com a explicação, ela aprimora a compreensão de alguém. o impacto da autenticação de dois fatores ao abordar a segurança.
NivF007