O Artigo Convidado de hoje traz: Edvan Sampaio, o maior especialista do Brasil em WHMCS. Criador e mantenedor do portal WHMCS.Blog.br.
Desde 2006/2007 venho utilizando e prestando serviços para WHMCS, percebo que em muitas instalações alguns procedimentos simples são esquecidos. Esse post irá fornecer algumas dicas de como aumentar/melhorar a segurança no seu WHMCS e evitar possíveis transtornos futuros.
1- Desconfie das ofertas de WHMCS Grátis
Não utilize licenças piratas/nulled, afinal essas licenças não são seguras! Algumas são disponibilizadas com códigos maliciosos com o simples intuito de roubar as suas informações (e dos seus clientes também, é claro).
Apenas provedores de respeito oferecem/fornecem licenças autênticas, como a HostDime em vários de seus planos de revenda!
2- Mantenha o seu WHMCS sempre atualizado!
A quantidade de empresas que utilizam versões antigas/obsoletas não dá para contar nem com a ajuda dos dedos dos pés! Essas versões podem conter bug´s, falhas que podem comprometer seu negócio. A última versão estável é a 5.0.3, recomendo o upgrade.
Recomendo também que fiquem atentos aos comunicados oficiais da WHMCS.com e, caso tenha dificuldades com o idioma inglês, visite o www.WHMCS.blog.br que possui artigos atualizados em português sobre o seu gerenciador financeiro preferido.
3- Siga à risca as recomendações do fabricante
As pastas “default” – attachments, downloads e templates_c – são vitais para funcionamento do sistema e precisam de permissão (chmod 777) esse tipo de permissão pode causar alguns problemas por isso é recomendado que o nome das pastas sejam alterados e movidos para um diretório não visível ( acessível para o cliente ), fora do public_html ou www. O procedimento de alteração é simples e rápido. Abra o arquivo configuration.php ( localizado na raiz do /seuwhmcs/ ) e informe o novo caminho/nome da pasta.
Exemplo:
[code]
$templates_compiledir = "/home/usuario/templates_c/";
$attachments_dir = "/home/usuario /attachments/";
$downloads_dir = "/home/usuario /downloads/";
[/code]
Se alterar o nome lembre-se de alterar também o caminho físico da pasta!
4- Feche as portas!
Pessoas mal-intencionadas que reconhecem se sua empresa utiliza o WHMCS certamente vão tentar obter acesso administrativo via URL padrão http://seuwhmcs.com/admin/. Com isso o melhor é se proteger! Após abrir o arquivo php ( localizado na raiz do /seuwhmcs/ ), informe um novo caminho/nome da pasta administrativa e livre-se da exposição!
[code]
$customadminpath = "novo_nome_da_pasta";
[/code]
Altere sua pasta /seuwhmcs/admin/ para o nome definido no $customadminpath
5- Restrinja o acesso do admin WHMCS via IP
Caso sua empresa possua conexão de internet com IP fixo, você poderá criar um arquivo .htaccess com conteúdo abaixo e enviar para pasta /seuwhmcs/seu_admin/:
[code]
order deny,allow
allow from 189.104.253.166
allow from 189.104.253.167
deny from all
[/code]
No exemplo acima será permitido que os ip´s 189.104.253.166 e 189.104.253.167 tenham acesso irrestrito ao admin WHMCS, os demais IP´s terão o acesso negado.
6- Atente-se às suas senhas e log’s do sistema
Seja senha do banco de dados MySQL, email ou acesso ao admin tente criar/trocar suas senha periodicamente.
Faça uma análise criteriosa dos log´s do sistema ( http://seuwhmcs.com/seu_admin/systemactivitylog.php ) ele irá registrar toda atividade do sistema. Já o log do administrator http://seuwhmcs.com/seu_admin/systemadminlog.php mantém a data/hora do acesso, tempo de logout, usuário e IP da sessão.
Dicas de como ter uma senha segura:
- Ter no mínimo 8 caracteres;
- Não conter seu nome de usuário, seu nome real ou o nome da sua empresa.
- Não contenha palavra completa = bola, computador, notebook e etc…
- Conter letras maiúsculas, minúsculas, números e símbolos do teclado (caracteres do teclado não definidos como letras ou números) e espaços.
Que a senha possua pelo menos 8 caracteres, que não contenha seu nome real, usuário ou nome da sua empresa. Se você achar que deve anotar a senha, não identifique como uma senha e guarde-a em um lugar seguro.
Felizmente depois que adquiri um notebook com leitor biométrico meus problemas com senha acabaram.
Nota do Editor: Temos um artigo aqui no Blog bastante interessante que fala sobre a criação e manutenção de senhas seguras, confira: https://blog.hostdime.com.br/materias/tecnologia/a-sua-senha-e-realmente-segura/
7- Backup é fundamental
O WHMCS oferece 2 formas de backup:
- Manual: Através do acesso ADMIN, vá em Utilities ( utilitários ), Menu System ( Sistema), Opção Database Status ( Status da base de dados ) ou http://seuwhmcs.com/seu_admin/systemdatabase.php Clique em Download Databe Backup e salve o arquivo.
- Automática: Vá no menu Setup (Configurações) opção Other ( Outros ) escolha Database Backups ( Backup base de dados ) ou acesse http://seuwhmcs.com/seu_admin/systemdatabase.php
Dependendo do tamanho da sua base de dados ( acima de 20mb ) o recomendado é utilizar o phpMyAdmin ou scripts do WHM.
Além da base de dados não esqueça de tirar um backup dos arquivos do WHMCS, principalmente do configuration.php
8- Eliminação de ticket exploit
No dia 12/1/2012 a WHMCS.com divulgou uma correção de segurança http://forum.whmcs.com/showthread.php?t=43462 que abrangeu a versão 4.0.x à 5.0.x muitos fizeram essa correção e mesmo assim estão recebendo tickets com conteúdo {php}eval(base64_decode(….) seja no assunto ou corpo do ticket.
Para evitar essa chateação faça download do arquivo banned.php e envie para pasta /includes/hooks/ com isso você não receberá mais tickets e o IP de quem enviou será banido até 2020, além disso você será notificado via System Activity Log e o IP ficará armazenado em Banned IPs
9- Ufa!
Por fim elaborei um script chamado checklist.php que irá verificar 10 itens que considero essenciais para reforçar a segurança do seu WHMCS.
- Tamanho da senha ( banco de dados ).
- Se você customizou a pasta admin do WHMCS;
- Verificação das Pastas do sistema (attachments, downloads e templates_c )
- Versão do seu WHMCS;
- Debug do Sistema ( erros );
- Captcha dos Formulários;
- SSL para sessão Admin;
- Permissão de registro avulso;
- Hook para eliminar tickets falsos (exploit – {php}eval(base64_decode(….);
- Permissão do arquivo configuration.php;
Download dos arquivos ( banned.php e checklist.php) http://migre.me/7XHnw
Veja uma demonstração em vídeo:
[yframe url=’https://www.youtube.com/watch?v=E2Zdo_4eOec’]
Gostaria de agradecer a HostDime pelo convite, estou à disposição!
Edvan Sampaio
www.whmcs.blog.br