A FRHOST como provedor de hospedagem toma todas as medidas de segurança possíveis diariamente, para deixar nossos servidores mais seguros e estáveis, barrando o máximo de visitas indesejadas e suspeitas com sistemas atualizados com versões estáveis, firewalls físicos e lógicos, backups e segurança sempre conferidos por nossa equipe, checagem de exploits, entre outros.
Mas estas medidas acabam sendo sem utilidade para você, se no seu blog ou site possuir scripts desatualizados e com falhas de segurança, onde a parcela de responsabilidade do seu desenvolvedor acaba deixando a desejar. É certo que a maioria dos ataques é facilitada pelo descuido do próprio desenvolvedor/responsável com estes scripts inseguros, onde acabam sendo negligenciados e fazendo a diferença entre perder um projeto e se preocupar depois com soluções para correção.
Então lembre-se, você é o maior interessado em deixar o seu site ou blog seguros, utilizando scripts atualizados, senhas difíceis, camadas de proteção, etc. E antes de realizar qualquer alteração em seu site ou blog tenha real conhecimento no que irá realizar, caso contrário poderá danificar a sua instalação, neste caso solicite estas alterações ao seu webmaster/desenvolvedor, e sempre backups antes de qualquer alteração.
1. Objetivo
Neste post pretendemos abordar aspectos que ajudem a melhorar a segurança no seu site ou blog wordpress.
2. WordPress
Primeiro vamos focar nos ajustes e configurações da interface web.
2.1 Versão WordPress
Busque sempre utilizar a última versão disponível do WordPress.
Não tenha medo de atualizar, vale mais a pena ajustar seu tema e configurações, se houver alguma mudanças, do que correr um risco de segurança, você não acha?
A versão do site do projeto é testada por centenas de desenvolvedores e milhares de usuários, atualize sempre para as versões mais novas.
Ao fazer isto você vai sempre contará com inúmeras correções (bugfix) e melhorias.
2.2 Versões Plugins
Prefira sempre plugins com documentação, boa aprovação e aceitação dos usuários, principalmente aqueles com vários reviews.
Mantenha seus plugins atualizados e se possível, em caso de sites com grande movimento, peça para seu desenvolvedor avaliar cada plugin buscando falhas que podem ser exploradas como XSS e SQL Injections.
Infelizmente os desenvolvedores de plugins não se preocupam com a escalabilidade, portanto, alguns plugins podem deixar seu site lento e pesado por não terem sido projetados para grandes tráficos, logo estes merecem avaliação cuidadosa e testes de carga com apoio da sua equipe de infraestrutura (devops) e desenvolvedores.
2.3 Senhas
Utilize senhas fortes alfanuméricas, case sentitive (maiúsculas e minúsculas) e símbolos.
Suas senhas devem ter pelo menos 8 caracteres, se possível use mais.
Use um gerador automático de senhas, isso evita que você construa senhas com percepções pessoais, algo que pode ser explorado por atacantes estudando seu perfil em redes sociais por exemplo.
Veja um exemplo de senha forte, alfanuméricas com símbolos.
q7w=1@fzctzd;d
=jil~J9R0JmG/x
Você precisa guardar essas senhas de forma segura, afinal são complicadas e difíceis de gravar em nossa memória, para isto anote estes dados em um local seguro em seu computador.
Use senhas com essa complexidade principalmente para acesso ao banco de dados do wordpress.
2.4 Usuários
2.4.1 Admin
Em caso de um ataque de força bruta o primeiro usuário que vão tentar usar é o ADMIN, ele é o usuário padrão de administração do wordpress, portanto meu amigo, remova as credenciais deste usuário, crie um usuário com outro NOME e especifique privilégios de ADMIN, logue-se com esse novo usuário e logo depois remova o usuário ADMIN.
2.4.2 Pessoal
Crie diretamente os usuários que vão trabalhar e alimentar o site.
Evite criar usuários com nomes simples Guto, Paulo, José, Carol pois esses são os primeiros que o pessoal vai tentar ‘forçar’ a autenticação.
Crie apelidos para seus usuários e defina as permissões corretas, editor, colaborador, revisor, etc.
Mesmo definindo um nome aleatório para a conta, lembre-se que internamente você vai enxergar o ‘Nome Real’ do usuário, basta preencher esse campo corretamente durante o cadastro.
Exemplo:
Usuário: Gv10[4Rv4lh0
Nome Real: Gustavo Carvalho
2.4.3 Usuários nos temas
Não permita que os visitantes do site vejam o nome de quem publicou o post no seu tema, isso em caso de um site que se preocupa com segurança.
Se fizer isso no seu tema, você estará dando metade da informação necessária para que alguém execute um ataque de força bruta em seu blog.
Por último, desabilite o registro de usuários, cadastre manualmente seus colaboradores, assim é mais seguro
.
2.5 Acesso Remoto
Utilize senhas seguras de acesso ao seu FTP, painel de controle da sua hospedagem e emails.
2.6 Informações do sistema
2.6.1 Versão
Omitir versão do wordpress é importante, se o atacante sabe a versão ele pode procurar por exploits vigentes que podem te afetar caso algo ainda não tenha atualizado seu blog.
Para resolver isto basta editar o functions.php do seu tema e adicionar a linha abaixo.
remove_action(‘wp_head’, ‘wp_generator’); |
Você pode utilizar um plugin para isto, antes de intervir continue lendo até a seção de plugins.
2.6.2 Robots
Evite que os robos varram e indexem diretórios administrativos de seu site.
Edite o arquivo robots.txt da raiz e insira a linha abaixo:
Disallow: /wp-* |
2.7 Cuidando do Banco de Dados
Quando o wordpress é instalado por padrão, ele cria tabelas com o prefixo wp-*
Usar essa tabelas facilita a vida do atacante pois ele conhece quais são as tabelas de usuário, posts, etc, assim ele pode tentar fazer injections e alterar os dados destas.
Para dificultar a vida do atacante podemos mudar o prefixo das tabelas para qualquercoisa-* por exemplo, isso pode ser feito durante a instalação.
Se seu wordpress já estiver instalado, vamos indicar alguns plugins que te ajudam a fazer esta mudança.
2.8 Permissões de arquivos
É importante definir corretamente as permissões de arquivos do seu wordpress
Nunca use 777 para diretórios e arquivos, faça o correto.
Use sempre a permissão 755 (RWX,R–,R–) para diretórios e 644 (RW-,R–,R–) para arquivos.
2.9 Backup
Faça Backups regulares dos arquivos estáticos e dinâmicos do WordPress, incluindo banco de dados.
3.0 Plugins WordPress
Abaixo vamos apresentar alguns plugins interessantes para você utilizar em seu wordpress, mas isso não significa que você tem que sair baixando tudo e instalando tudo, alguns podem sobrepor outros, entenda o que cada um faz primeiro e tenha conhecimento no que irá realizar, se não, solicite este procedimento ao seu webmaster, na seção 4.4 vamos te ajudar a combinar alguns plugins de segurança para você ter maior eficiência no uso destes.
3.1 Segurança
Vamos começar pelos plugins que são o foco deste post, segurança!
3.1.1 Akismet
Este plugin lhe permite controlar SPAM no seus comentários e track-backs, evitando vandalismos em seu site.
É um dos plugins de mais eficientes para essa finalidade.
3.1.2 Bad Behavior
Utilizar plugin Bad Behavior para bloquear IPs maliciosos e comportamentos suspeitos.
Este plugin analisa toda o início das requisições HTTP, caso um bot seja detectado ele rejeita o acesso.
Ele avalia IPs sujos e outros comportamentos diminuindo as chances de vandalismo em seu site.
http://bad-behavior.ioerror.us/documentation/benefits/
3.1.3 WP Better Security
É um dos plugins mais completos, vale a pena utilizar, e sempre tem atualizações muito recentes, acompanhando o lançamento das releases do WP.
Este plugin remove tags com versão do wordpress
Remove erros de login
Permite mudar URLS de áreas administrativas
Limita o acesso ao ADMIN para alguns ips
Pode banir acesse de alguns IPs
Tem suporte a desligar login no wordpress em períodos (por exemplo de madrugada).
Previne tentativas de login por força bruta
Não deixa os usuários internos verem a versão do seu wordpress
Remove notificações de atualizações dos usuários que não são admins
Aumenta a segurança do seus diretórios via controles htaccess
Detecta comportamentos suspeitos no site e te manda e-mails avisando
Permite renomear a conta Admin
Permite tocar o prefixo do seu banco de dados wp* para outra coisa
Pode desabilitar edição de arquivos de temas via Admin
Pode forçar acesso SSL ao admin.
Dentre outros recursos.
http://bit51.com/software/better-wp-security/
3.2 Sysadmin
Plugins que ajudam na administração do site.
3.2.1 WPDB-Manager
Utilizar plugin WPDB-Manager para cuidar do seu banco de dados.
Ele te permite administrador o banco com os seguintes recursos:
Backup diario
Otimização da base
Reparo de base e tabelas corrompidas
3.3 Outros Plugins interessantes
3.3.1 Login Lockdown
Utilizar plugin Login Lockdown para evitar força bruta no login.
Você define quantos erros cada tentativa de login pode ter, de quanto em quanto tempo a pessoa pode tentar se logar após um erro e o tempo de bloqueio caso a regra definida seja infringida.
Você pode inibir as mensagens de erro de login, isso é interessante para evitar que o atacante saiba se o usuário é válido.
Você pode visualizar os IPs bloqueados e liberar o IP se for um falso positivo.
http://www.bad-neighborhood.com/login-lockdown.html
3.3.2 Ask Apache Password Protect
Este plugin protege os diretórios e arquivos do seu wordpress. Fora isto ele também analisa e inibe alguns comportamentos maliciosos.
Abaixo os principais pontos em que ele atua:
Protege o diretório wp-content
Protege o diretório wp-include
Protege o diretório wp-admin com segunda camada de autenticação
Protege o arquivo wp-login.php com segunda camada de autenticação
Inibe a listagem de arquivos nos diretórios do WP (indexes apache)
inibe o acesso direto a arquivos dinâmicos em diretórios administrativos
Fora isto ele tem métodos de proteção contra SPAM, Hijacking, XSS dentre outros.
É um plugin muito completo, porém use com cuidado, dependendo da proteção seu tema
e plugins podem quebrar.
Uma coisa trabalhosa é que dependendo do que você habilitar para ele proteger, por exemplo, diretório wp-content, demandará desligar o plugin para fazer atualizações no Core do WordPress , Plugins e temas.
http://wordpress.org/extend/plugins/askapache-password-protect/
3.3.3 Secure WordPress
Recursos do plugin:
Desativa o retorno de mensagens de erro no login (possibilitam saber se o usuário existe)
Esconde versão do WordPress nos cabeçalhos
Esconde versões do WordPress no dashboard para usuários “não admins”
Esconde versões do WordPress nos Stylesheets do frontend (visão do usuário)
Criar arquivos index.php em ‘plugins’ e ‘themes’ para evitar listagem de diretórios
Remove alertas de update do wordpress para “não admins”
Remove alertas de atualização de plguins para “não admins”
Protege o wordpress contra URL’s maliciosas
Tem suporte a auditoria do websitedefender.com
Atua na detecção de Malware presente em seu website
Atua na auditoria do website buscando problemas de segurança
Evita que você seja bloqueado (blocklist) pelo google
Mantém o conteúdo do seu website seguro
Envia alertas sobre comportamentos suspeitos
http://wordpress.org/extend/plugins/secure-wordpress/
3.3.4 Security Scan
Este plugin avalia seu ambiente e lhe sugere melhorias.
Através dele você pode inclusive mudar o prefixo de suas tabelas no baco de wp-* para algumacoisa-* , dificultando a vida do atacante.
Ele oferece os seguintes recursos:
Gerador de senhas fortes
Avalia, alerta e permite ajustar permissões de arquivos inseguras
Avalia, alerta e permite desativar o retorno de erros em tentativas de login
Avalia, alerta e permite ajustar a segurança de sua base de dados
Permite o backup de sua base de dados
Permite trocar o prefixo de suas tabelas
Verifica se a versão do WP no sistema está oculto
Verifica se a versão do WP nas META TAGS está oculto
Verifica se o usuário ADMIN existe e tem privilégios de ADMIN
Verifica se o WP está atualizado
Verifica se os diretórios estão protegidos por arquivos .htaccess
http://wordpress.org/extend/plugins/wp-security-scan/
3.3.5 Antivírus
Uma forma simples de verificar os arquivos do wordpress e temas.
Pronto para rodar no wordpress 3
Detecta backdoor no subsistema permalink
Verifica os arquivos do wordpress atrás de código malicioso – dá muito falso positivo
Verifica os arquivos do seu tema atrás de código malicioso – dá muito falso positivo
Tem suporte a whitelist para excluir arquivos da checagem – para evitar falso positivo
Tem suporte a agendamento para executar a verificação diariamente.
Você pode usá-lo eventualmente para dar um checada principalmente no tema, abuse da whitelist para ele não ficar alarmando coisas que você tem certeza que não são problema.
http://wpantivirus.com/
3.4 Ativando plugins de segurança que não vão se sobrepor
3.4.1 Segurança Combinado 1 – Nível Preocupado
- Akismet + Badbehavior para cuidar de Spams e comportamentos maliciosos.
- Secure WordPress + Security Scanner para monitorar aspectos de segurança, omitir informações e proteger diretórios.
- Login Lockdown para barrar ataques de força bruta no login.
O Secure WordPress e Security Scanner te permitem usar o site websitedefender.com para scanear e monitorar seu site, esse site tem alguns ferramentas bem bacanas, o plugins integram seu blog ao site para monitoração constante.
Esta combinação, é eficiente porém requer vários plugins ativos, algo que pode deixar seu site com menor performance.
3.4.2 Segurança Combinado 2 – Nível Paranoico
- Akismet + Badbehavior para cuidar de Spams e comportamentos maliciosos.
- Secure WordPress + Security Scanner para monitorar aspectos de segurança, omitir informações. Aqui por favor desative a parte de proteção de diretórios, vamos fazer isso em outro plugin.
- Login Lockdown para barrar ataques de força bruta no login.
- Ask Apache Password para criar uma segunda camada de autenticação e proteger diretórios.
Essa combinação é bastante eficiente, o único problema é que o Ask Apache Password quando ativado não permite atualização de temas, plugins ou do CORE do WORDPRESS, você precisa desligá-lo, fazer a manutenção e ligá-lo novamente, isso pode ser cansativo, porém, se busca um nível alto de segurança essa é a combinação para você.
3.4.3 Combinação 3 – Nível Segurança na Medida
- Akismet + Bad Behavior
- WP Better Security
Essa combinação abrange quase todas as anteriores, com exceção da segunda camada de autenticação, dependendo do tamanho e visitação do seu blog será mais do que suficiente.
3.5 Conclusão
É possível ter um ambiente wordpress seguro sem muitas dificuldades, existe uma grande quantidade de plugins que podem nos ajudar, só devemos tomar cuidado para não utilizar plugins demais, degradando a performance da ferramenta, ou utilizar ferramentas e plugins de segurança que sobreponham recursos de outras, por exemplo dois plugins fazendo a mesma coisa, isto irá te causar problemas, então tome muito cuidado com isto.
Além de usar as ferramentas, as boas práticas descritas na seção 2, relativas as senhas, nomes de usuários e configurações são sempre os melhores caminhos para se ter um ambiente realmente seguro e incólume, nunca se esquecendo da realização regulares de backups.
3.6 Referências/Créditos
gutocarvalho.net
wordpress.org
wordpress.com
wikipedia.org
Hospedagem WordPress e Hospedagem de Sites WordPress é com a FRHOST