18 min de leitura · Guia técnico
Blindar o WHM contra acessos não autorizados significa aplicar camadas de segurança no painel Web Host Manager para impedir que atacantes explorem credenciais fracas, portas expostas ou ausência de autenticação multifator. Para proteger o WHM, siga estes passos essenciais:
- Restringir o acesso às portas 2086 e 2087 apenas para IPs confiáveis via CSF ou firewall do sistema.
- Ativar autenticação de dois fatores (2FA) para todas as contas com acesso ao WHM.
- Configurar o Host Access Control no Security Center do WHM.
- Desativar o login direto como root e criar usuários reseller com privilégios mínimos.
- Monitorar os logs de acesso e configurar alertas para tentativas de login falhas.
- Manter o cPanel/WHM atualizado e revisar periodicamente as permissões de conta.
Pré-requisitos para blindar o WHM
- Acesso root ao servidor via SSH (AlmaLinux 9, Rocky Linux 9 ou CloudLinux 8/9).
- WHM/cPanel instalado e atualizado para a versão mais recente disponível no canal STABLE.
- CSF (ConfigServer Security & Firewall) instalado ou acesso ao firewall nativo do sistema (firewalld ou iptables).
- Um aplicativo TOTP instalado no celular: Google Authenticator, Authy ou FreeOTP.
- IP fixo ou lista de IPs confiáveis de onde o WHM será acessado.
- Acesso ao terminal SSH com permissão para editar arquivos em
/etc/csf/e/usr/local/cpanel/.
Como blindar o WHM restringindo o acesso por IP
O primeiro e mais eficaz controle de acesso ao WHM é a restrição por endereço IP. Por padrão, as portas 2086 (HTTP) e 2087 (HTTPS) ficam abertas para qualquer origem, o que expõe o painel a ataques de força bruta e varreduras automatizadas. Limitar o acesso a IPs específicos elimina essa superfície de ataque antes mesmo de qualquer tentativa de autenticação.
Se você utiliza o CSF Firewall, edite o arquivo de configuração principal:
nano /etc/csf/csf.conf
Localize a diretiva TCP_IN e remova as portas 2086 e 2087 da lista de portas abertas globalmente. Em seguida, adicione os IPs confiáveis usando a diretiva de permissão permanente:
# Adicionar IP confiável ao arquivo de permissões permanentes
echo "192.0.2.10" >> /etc/csf/csf.allow
# Bloquear as portas 2086 e 2087 para todos os outros IPs
# Edite csf.conf e remova 2086,2087 de TCP_IN
Após salvar, recarregue o CSF:
csf -r
Output esperado:
csf: IPSET reloaded
csf: lfd restarted
Se preferir usar o próprio WHM para controle de acesso por host, acesse Security Center > Host Access Control. Adicione as regras na seguinte ordem:
- Regra de permissão:
ALL: 192.0.2.10 : ALLOW - Regra de bloqueio geral:
ALL: ALL : DENY
Atenção: a ordem das regras no Host Access Control é crítica. A regra de bloqueio geral deve sempre vir após as regras de permissão, caso contrário você bloqueará seu próprio acesso ao painel.
Para verificar se as regras foram aplicadas corretamente, tente acessar o WHM a partir de um IP não autorizado. O acesso deve ser recusado com um erro de conexão recusada, não com uma tela de login.
Ativando autenticação de dois fatores (2FA) no WHM
A autenticação multifator é uma das proteções mais importantes contra comprometimento de credenciais no WHM. Mesmo que um atacante obtenha a senha de uma conta, o código TOTP gerado pelo aplicativo no celular impede o acesso não autorizado.
Para ativar o 2FA na conta root do WHM:
- Faça login no WHM em
https://seuip:2087. - No menu lateral, acesse Security Center > Two-Factor Authentication.
- Clique em Manage My Two-Factor Authentication.
- Escaneie o QR code exibido com o Google Authenticator ou Authy.
- Digite o código de 6 dígitos gerado pelo aplicativo no campo de confirmação.
- Clique em Save para ativar.
Para forçar o uso de 2FA em todas as contas de revendedor e usuários com acesso ao WHM, ative a política global:
- Acesse Security Center > Two-Factor Authentication.
- Ative a opção Enforce Two-Factor Authentication.
- Defina um prazo para que os usuários configurem o 2FA antes de serem bloqueados.
Após ativar, ao tentar fazer login no WHM, o sistema solicitará primeiro a senha e depois o código TOTP. Guarde os códigos de recuperação em local seguro — sem eles, a recuperação de acesso exige intervenção direta no servidor via SSH.
Para configurações avançadas de segurança SSH que complementam a proteção do WHM, consulte o artigo Acessando servidores VPS Linux da AviraHost.
Configurando o CSF Firewall para proteger as portas do WHM
O CSF (ConfigServer Security & Firewall) oferece controle granular sobre quais IPs podem acessar as portas administrativas do WHM. Após a instalação básica do CSF, é necessário configurá-lo especificamente para o ambiente de revenda de hospedagem.
Instale o CSF caso ainda não esteja presente no servidor:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Output esperado:
Installation Completed
csf and lfd are now installed
Edite o arquivo de configuração principal para ajustar as portas abertas:
nano /etc/csf/csf.conf
Localize e ajuste as seguintes diretivas:
# Portas TCP de entrada permitidas globalmente
# Remova 2086 e 2087 desta lista
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
# Modo de teste: mude para 0 após validar as regras
TESTING = "0"
# Limite de tentativas de login falhas
LF_CPANEL = "5"
LF_CPANEL_PERM = "1"
A diretiva LF_CPANEL define quantas tentativas de login falhas no cPanel/WHM são permitidas antes do bloqueio automático do IP. Com LF_CPANEL_PERM = "1", o bloqueio é permanente até remoção manual.
Após editar, salve e recarregue:
csf -r && lfd -r
Atenção: antes de definir TESTING = "0", certifique-se de que seu IP está no arquivo /etc/csf/csf.allow. Caso contrário, você pode perder o acesso ao servidor.
Para verificar se um IP está bloqueado pelo CSF:
csf -g 192.0.2.50
Output esperado (se bloqueado):
Chain DENY: 1 references
target prot opt source destination
DROP all -- 192.0.2.50 0.0.0.0/0
Desativando o login root direto e criando usuários com privilégios mínimos
Reduzir a exposição da conta root é uma prática fundamental de hardening no WHM. O acesso direto como root ao painel deve ser evitado no dia a dia — crie contas de revendedor com permissões específicas para tarefas rotineiras.
Para criar um usuário reseller com acesso limitado ao WHM:
- Acesse Account Functions > Create a New Account no WHM.
- Preencha os dados da conta e defina uma senha forte (mínimo 16 caracteres, com letras maiúsculas, minúsculas, números e símbolos).
- Acesse Resellers > Reseller Center e conceda apenas os privilégios necessários para a função do usuário.
- Desative explicitamente permissões como Root Escalation e All Features.
Para reforçar a política de senhas no WHM, acesse Security Center > Password Strength Configuration e defina o nível mínimo como Strong (valor 65 ou superior na escala interna do cPanel).
Adicionalmente, configure o tempo limite de sessão para evitar que sessões inativas permaneçam abertas:
- Acesse Server Configuration > Tweak Settings.
- Na aba Security, localize Session Timeout.
- Defina o valor para 900 segundos (15 minutos) ou menos.
Para trocar a senha root do servidor quando necessário, consulte o artigo Como trocar a senha do usuário root do servidor VPS ou Dedicado.
Monitorando logs de acesso e configurando alertas no WHM
A detecção precoce de tentativas de acesso não autorizado depende de monitoramento ativo dos logs do WHM. O painel registra todas as autenticações, falhas de login e ações administrativas em arquivos específicos que devem ser revisados regularmente.
Os principais arquivos de log relacionados à segurança do WHM são:
- /usr/local/cpanel/logs/access_log — registra todas as requisições HTTP/HTTPS ao WHM e cPanel.
- /usr/local/cpanel/logs/login_log — registra tentativas de login com detalhes de IP e resultado.
- /var/log/secure — em AlmaLinux 9 e Rocky Linux 9, registra autenticações SSH e PAM.
- /var/log/auth.log — equivalente em sistemas baseados em Debian/Ubuntu.
Para listar tentativas de login falhas no WHM:
grep -i "failed\|invalid\|unauthorized" /usr/local/cpanel/logs/access_log | tail -50
Para monitorar em tempo real:
tail -f /usr/local/cpanel/logs/login_log
Output esperado (exemplo de tentativa falha):
[2025-01-15 03:42:17 -0300] info [cpaneld] Failed login for user "root" from IP 198.51.100.22 (invalid password)
Configure alertas por e-mail no WHM para ser notificado sobre eventos críticos:
- Acesse Server Contacts > Contact Manager.
- Adicione o e-mail do administrador.
- Acesse Server Contacts > Notification Preferences.
- Ative notificações para Brute Force Attacks, Root Login e Service Failures.
Para automatizar a análise de logs e receber relatórios diários, considere instalar o Logwatch:
dnf install logwatch -y
logwatch --output mail --mailto [email protected] --detail high
Aplicando hardening adicional no cPanel/WHM
Além das configurações principais, existem ajustes complementares que reduzem significativamente a superfície de ataque do WHM em ambientes de revenda de hospedagem profissional.
Ativar o ModSecurity no WHM:
- Acesse Security Center > ModSecurity.
- Ative o ModSecurity para todos os domínios ou apenas para os críticos.
- Instale um ruleset como o OWASP CRS ou o Comodo WAF para proteção contra injeção SQL, XSS e outras ameaças web.
Configurar o cPHulk Brute Force Protection:
- Acesse Security Center > cPHulk Brute Force Protection.
- Ative a proteção e configure o número máximo de tentativas falhas (recomendado: 5 tentativas).
- Defina o período de bloqueio para pelo menos 30 minutos.
- Adicione seus IPs confiáveis à whitelist para evitar auto-bloqueio.
Desativar serviços desnecessários:
# Verificar serviços em execução
whmapi1 servicestatus
# Desativar serviços não utilizados via WHM
# Acesse: Service Configuration > Service Manager
# Desmarque serviços como FTP anônimo, Webmail não utilizado, etc.
Verificar e atualizar o cPanel/WHM:
/usr/local/cpanel/scripts/upcp --force
Output esperado:
cPanel update complete. Version: 120.x.x.x
Mantenha o canal de atualização configurado como STABLE para receber patches de segurança sem instabilidades. Acesse Server Configuration > Update Preferences para verificar a configuração atual.
Problemas comuns e como resolver
Sintoma: Acesso ao WHM bloqueado após configurar o CSF
Causa: O IP do administrador não foi adicionado ao arquivo /etc/csf/csf.allow antes de remover as portas 2086/2087 da lista TCP_IN, resultando em auto-bloqueio.
Solução: Acesse o servidor via console KVM ou VNC (disponível no painel da AviraHost), edite o arquivo /etc/csf/csf.allow adicionando seu IP e execute csf -r. Se o CSF estiver em modo TESTING (TESTING = "1"), as regras expiram automaticamente em 5 minutos, restaurando o acesso.
Sintoma: Código 2FA não aceito no login do WHM
Causa: Dessincronização de horário entre o servidor e o dispositivo móvel. O TOTP depende de sincronização de tempo precisa — uma diferença de mais de 30 segundos invalida os códigos.
Solução: Sincronize o horário do servidor com chronyc makestep (AlmaLinux 9/Rocky Linux 9) ou ntpdate pool.ntp.br. No dispositivo móvel, ative a sincronização automática de horário nas configurações do sistema. Se o problema persistir, remova e reconfigure o 2FA acessando o servidor via SSH e executando whmapi1 twofactorauth_disable_policy temporariamente.
Sintoma: cPHulk bloqueou o IP do administrador
Causa: Múltiplas tentativas de login falhas a partir do IP do administrador (erro de digitação de senha, por exemplo) ativaram o bloqueio automático do cPHulk.
Solução: Acesse o WHM por outro IP ou via console do servidor. Vá em Security Center > cPHulk Brute Force Protection > Brute Force Protection History Report e remova o IP da lista de bloqueados. Para evitar recorrência, adicione o IP do administrador à whitelist do cPHulk em White/Black List Management.
Sintoma: Tentativas de login aparecem nos logs mas o CSF não bloqueia automaticamente
Causa: O daemon lfd (Login Failure Daemon) do CSF não está em execução ou a diretiva LF_CPANEL está definida como 0 (desativada).
Solução: Verifique o status do lfd com systemctl status lfd e inicie-o se necessário com systemctl start lfd. Edite /etc/csf/csf.conf e defina LF_CPANEL = "5" para ativar o bloqueio automático após 5 tentativas falhas. Execute csf -r para aplicar.
Sintoma: ModSecurity bloqueando requisições legítimas no WHM
Causa: Regras do WAF muito restritivas estão gerando falsos positivos, bloqueando ações administrativas legítimas no painel.
Solução: Acesse Security Center > ModSecurity > Hits List para identificar quais regras estão sendo acionadas. Para regras específicas que causam falsos positivos, crie exceções em ModSecurity Vendors > Edit Config adicionando diretivas SecRuleRemoveById para os IDs das regras problemáticas. Evite desativar o ModSecurity completamente — prefira exceções cirúrgicas.
Perguntas frequentes sobre blindar o WHM
Como restringir o acesso ao WHM apenas para IPs específicos?
No WHM, acesse Security Center > Host Access Control e adicione uma regra de permissão (ALL: ALLOW) apenas para os IPs autorizados, seguida de uma regra de bloqueio geral (ALL: DENY). Alternativamente, configure o firewall CSF para liberar a porta 2087 somente para os IPs desejados usando a diretiva TCP_IN e adicionando os IPs confiáveis ao arquivo /etc/csf/csf.allow. Lembre-se de recarregar o CSF com csf -r após qualquer alteração.
É possível mudar a porta padrão do WHM para dificultar ataques?
O WHM opera nas portas 2086 (HTTP) e 2087 (HTTPS) por padrão e essas portas não podem ser alteradas diretamente no cPanel/WHM sem modificar a configuração do serviço cpsrvd. A abordagem recomendada é bloquear essas portas no firewall para todos os IPs e liberar apenas para endereços confiáveis, em vez de tentar mudar a porta. Essa estratégia é mais robusta e não causa incompatibilidades com atualizações futuras do cPanel.
Como ativar autenticação de dois fatores (2FA) no WHM?
Acesse o WHM, vá em Security Center > Two-Factor Authentication e clique em Manage My Two-Factor Authentication. Escaneie o QR code com um aplicativo como Google Authenticator ou Authy e insira o código gerado para confirmar. Após ativar, o login exigirá o código TOTP além da senha. Para forçar o 2FA em todas as contas de revendedor, ative a opção Enforce Two-Factor Authentication na mesma tela.
O CSF Firewall protege o WHM automaticamente após a instalação?
O CSF oferece proteção básica ao ser instalado, mas requer configuração manual para restringir o acesso ao WHM. É necessário editar o arquivo /etc/csf/csf.conf para definir quais IPs podem acessar as portas 2086 e 2087, e habilitar o modo de produção (TESTING = 0) após validar as regras para que o firewall entre em operação efetiva. Sem essa configuração, as portas do WHM permanecem acessíveis para qualquer IP.
Como verificar tentativas de acesso não autorizado ao WHM nos logs?
Os logs de acesso ao WHM ficam em /usr/local/cpanel/logs/access_log e os logs de autenticação em /var/log/secure (AlmaLinux/Rocky Linux) ou /var/log/auth.log (Debian/Ubuntu). Execute grep -i failed /usr/local/cpanel/logs/access_log para listar tentativas falhas de login no painel WHM. Para monitoramento contínuo, use tail -f /usr/local/cpanel/logs/login_log e configure notificações por e-mail no Contact Manager do WHM.
Conclusão
- Restrinja o acesso por IP imediatamente: remova as portas 2086 e 2087 da lista de portas abertas globalmente no CSF e libere apenas os IPs confiáveis — essa única ação elimina a maioria dos ataques automatizados contra o WHM.
- Ative 2FA e cPHulk em conjunto: a autenticação de dois fatores protege contra senhas comprometidas, enquanto o cPHulk bloqueia automaticamente IPs que realizam múltiplas tentativas de login falhas — use os dois simultaneamente.
- Monitore os logs regularmente: configure alertas por e-mail no WHM e revise semanalmente os arquivos
/usr/local/cpanel/logs/login_loge/var/log/securepara identificar padrões de ataque antes que causem danos.
Leia também
- Passo a passo para configurar autenticação por chave SSH no painel WHM/cPanel
- Checklist para Configurar e Testar o Limite de Sessões Simultâneas no Painel WHM/cPanel
- Guia para configurar WHM para revenda de hospedagem profissional
Precisa de ajuda com segurança no WHM?
Configurar e manter um ambiente WHM seguro exige atenção contínua a atualizações, regras de firewall e monitoramento de logs. A AviraHost oferece planos de revenda de hospedagem com suporte técnico especializado para ajudar na configuração inicial e na manutenção da segurança do seu painel.