15 dicas fáceis para proteger um servidor cPanel
Publicados: 2017-06-27
A segurança do servidor é um assunto complexo e multifacetado que pode levar anos para ser totalmente entendido e dominado.
A maioria dos administradores deve desenvolver e implantar diligentemente uma vasta gama de medidas de segurança em seus servidores para evitar ataques e violações.
As medidas de segurança em questão podem ser tão simples quanto exigir senhas mais seguras e tão complexas quanto implantar protocolos de criptografia atualizados para dados armazenados.
Felizmente, no entanto, a segurança do servidor cPanel cai mais na extremidade “Simples” do espectro de segurança do servidor.
Aqui estão 15 maneiras fáceis de melhorar significativamente a segurança do seu servidor em apenas alguns minutos.
1. Protegendo SSH
Embora o SSH seja um protocolo criptografado, ele não é impermeável. O que significa que, como administrador, você deve exercer a devida diligência durante a configuração.
Aqui estão três etapas simples para aumentar a segurança do seu SSH.
1. Altere a porta SSH
Manter o SSH na porta padrão 22 o torna vulnerável a ataques de força bruta. Para evitar esses ataques, você deve selecionar uma porta aleatória para SSH para tornar mais difícil para invasores em potencial discernir sua localização.
Aqui estão as etapas para alterar a porta SSH.
- Acesse seu servidor via SSH.
- Edite o arquivo de configuração SSH que está localizado em /etc/ssh/sshd_config emitindo o seguinte comando:
nano /etc/ssh/sshd_config - Defina uma porta aleatória para conexão SSH na seguinte linha.Original: Port 22
Nova linha: Porta 2468 - Agora, reinicie o serviço SSH executando o seguinte comando:
serviço sshd reiniciar
2. Desabilitar o Login Raiz
Para adicionar uma camada adicional de segurança e fortalecer ainda mais seu SSH, você pode desabilitar o usuário root e criar um usuário separado para acessar o servidor.
Aqui está como:
- Acesse seu servidor via SSH. Antes de desabilitar o login root, vamos criar um usuário para acessar o servidor:
adduser new_username_name
passwd new_username_name - Você será solicitado a definir uma senha para este novo usuário. Certifique-se de que a senha seja a mais forte possível (pelo menos 10 caracteres com vários números e símbolos) e adicione o novo usuário em um grupo wheel concedendo-lhe acesso ao servidor usando a seguinte linha de código.
# usermod -aG wheel new_username_name - Agora, desative o usuário root. Edite o arquivo de configuração SSH que está localizado em /etc/ssh/sshd_config .
nano /etc/ssh/sshd_config - Altere a linha: “PermitRootLogin sim” para “PermitRootLogin não”
- Agora, reinicie o serviço SSH executando o seguinte comando.
serviço sshd reiniciar
3.Desativar SSH V1
Com o início do SSHv2 tornando seu predecessor SSHv1 praticamente obsoleto, é altamente recomendável que você desative o SSH menos seguro e desatualizado para melhorar a segurança do seu servidor.
- Faça login no seu servidor via SSH e edite o arquivo de configuração SSH que está localizado em /etc/ssh/sshd_config .
- Descomente a seguinte linha.
Protocolo 2.1 - E altere para:
Protocolo 2 - Agora, reinicie o serviço SSH executando o seguinte comando:
# reinicialização do sshd do serviço
2. Ativando a proteção cPHulk
Um ataque de força bruta é um método de hacking que depende de um sistema automatizado para adivinhar a senha do seu servidor web.
cPHulk é um serviço fácil de usar que protegerá seu servidor contra a maioria dos ataques de força bruta.
Para habilitar o cPHulk, faça login no WHM→ Security Center → cPHulk Brute Force Protection e clique em Enable .
Agora você pode definir regras personalizadas com base no nome de usuário do cPanel, endereço IP e outros parâmetros.
Depois que um número definido de tentativas de login com falha for atingido, o cPHulk bloqueará qualquer tentativa adicional do endereço IP que está sendo usado.
Observação: se você tiver um IP estático, é altamente recomendável adicioná-lo ao Gerenciamento de lista de permissões para não ficar bloqueado no servidor.
3. Configure o Firewall do ConfigServer (CSF)
CSF (ConfigServer Security and Firewall) é um dos firewalls mais populares para servidores cPanel.
Ele não apenas atua como um firewall, verificando vários arquivos de log de autenticação, mas também verifica seu servidor regularmente e fornece recomendações personalizadas para melhorar a segurança do servidor.
Além de seus recursos principais, o CSF também oferece acesso a vários recursos úteis, como "Visualizar logs do sistema", logs IPTable, estatísticas IFD e muito mais.
Instalando o Firewall do ConfigServer
É muito fácil instalar o CSF em seu servidor com o cPanel. Por favor, consulte nosso guia passo a passo sobre Como instalar o firewall do ConfigServer no cPanel/WHM?
Depois de seguir as instruções do nosso guia mencionado acima, você pode gerenciar o CSF diretamente do WHM.
Para isso, faça login no seu WHM, navegue até Plugins → ConfigServer Security & Firewall.
Aqui você verá várias opções e medidas que você pode usar para aumentar ainda mais sua segurança.
4. Configure o Antivírus ClamAV
Embora os servidores Linux tenham uma resiliência mais “natural” a vírus do que seus equivalentes baseados em Windows, ainda é considerado sensato instalar um aplicativo antivírus adicional.
O ClamAV, que é fácil de instalar como um plug-in em seu servidor, é um dos plug-ins antivírus de código aberto mais populares para servidores cPanel e permite que usuários individuais verifiquem seu diretório inicial e e-mails em busca de arquivos potencialmente maliciosos.
Novamente, por uma questão de brevidade, consulte nosso guia passo a passo Como instalar o plug-in ClamAV do WHM .
Uma vez que o ClamAV esteja instalado, você pode escanear qualquer conta cPanel em particular com acesso de nível de usuário cPanel. Aqui está o nosso guia sobre Como executar a verificação de vírus ClamAV do cPanel .
5. Mude para o CloudLinux
CloudLinux, um substituto pago para o CentOS gratuito, é considerado um dos sistemas operacionais mais seguros para servidores cPanel.
Com o CloudLinux, você pode aumentar a densidade e a estabilidade do servidor mantendo as contas do cPanel isoladas umas das outras.
Ele realiza essa façanha usando o LVE (Lightweight Virtualized Environment) que limita os recursos do servidor, como processamento, memória e conexões para cada usuário, garantindo assim que um único usuário não possa colocar em risco a estabilidade do servidor e causar lentidão em todos os sites.
O sistema operacional “enjaula” os usuários uns dos outros para evitar qualquer violação de segurança. Qualquer script ou malware instável ou comprometido não pode ser espalhado pelo servidor por nenhuma conta comprometida.
A seguir estão os principais recursos de segurança do SO CloudLinux:
- CageFS
- HardenedPHP
- Links Seguros
CageFS
O CageFS encapsula cada usuário, impedindo que os usuários se vejam e leiam informações confidenciais. Ele também evita um grande número de ataques, incluindo a maioria dos ataques de escalonamento de privilégios e divulgação de informações.
→ Com o CageFS os usuários terão acesso apenas a arquivos seguros.
→ Os usuários não podem ver os arquivos de configuração do servidor, como os arquivos de configuração do Apache.
→ Os usuários não podem visualizar outros usuários e não têm como detectar a presença de outros usuários.
→ Os usuários não podem ver os processos de outros usuários.
HardenedPHP
O PHP antigo versão 5.2, 5.3, 5.4, embora amplamente utilizado, possui vulnerabilidades que não são corrigidas pela comunidade PHP.net.
O HardenedPHP no CloudLinux corrige essas vulnerabilidades e protege as versões antigas e não suportadas.
→ Garante que o aplicativo e o servidor estejam protegidos corrigindo todas as versões do PHP.
→ Oferece segurança e flexibilidade a todos os usuários.
→ Aumenta a retenção de clientes ao não forçar atualizações para uma versão mais recente do PHP
→ Oferece seleção de versão PHP de várias versões instaladas no mesmo servidor web com opção de seletor PHP
Links Seguros
SecureLinks é uma tecnologia de nível de kernel que fortalece o servidor, impedindo todos os ataques de link simbólico (link simbólico) conhecidos, ao mesmo tempo em que impede que usuários mal-intencionados criem arquivos de link simbólico.
→ Com SecureLinks, você pode evitar ataques impedindo que usuários mal-intencionados criem links simbólicos e hardlinks para arquivos que não são seus.
→ Impede que usuários mal-intencionados criem arquivos de links simbólicos.
→ Melhora o nível de segurança do servidor contra ataques de links simbólicos.
6. Desativar solicitação de ping
Um ping é uma solicitação ICMP (Internet Control Message Protocol) e deve ser desabilitado para evitar ataques “Ping of Death” e “Ping Flood”.
Ping da Morte
Ping of Death é um ataque de negação de serviço causado por um invasor que envia deliberadamente um pacote IP maior do que o permitido pelo protocolo IP.
Como resultado, muitos sistemas operacionais não sabem o que fazer quando recebem pacotes superdimensionados, a máquina será congelada, travada ou reinicializada.
Ping Flood
Ping Flood é um ataque simples de negação de serviço em que o invasor sobrecarrega a vítima com os pacotes ICMP na esperança de que a vítima responda com a resposta ICMP compactada, consumindo assim a largura de banda de entrada e saída.
Se a máquina de destino for mais lenta, é possível consumir seus ciclos de CPU criando uma lentidão perceptível nas capacidades de processamento do sistema.
Para desabilitar a resposta de ping, execute o seguinte comando como usuário root:
echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all
Para desabilitar a resposta de ping usando o firewall IPtables, execute o seguinte comando como usuário root:
iptables -A INPUT -p icmp -j DROP
7. Configure o Controle de Acesso do Host
Em certos casos, você pode querer permitir serviços específicos apenas para um IP. Para atingir este objetivo, tudo o que você precisa fazer é configurar corretamente seu Host Access Control, que permite criar regras de aprovação ou negação de acesso ao servidor com base no endereço IP do usuário.
Negar todas as conexões e permitir apenas as conexões que você deseja prosseguir é a prática mais segura para aumentar a segurança do seu servidor contra ataques de força bruta em portas específicas.
Para configurar uma regra com o Host Access Control, você precisará de três coisas.
- O serviço para o qual você deseja criar uma regra
- O endereço IP para o qual você deseja permitir ou negar privilégios
- E a ação que você deseja executar (por exemplo, permitir ou negar)
Para configurar regras no Host Access Control, faça login no seu WHM, navegue até Security Center → Host Access Control .
Veja a seguir um exemplo de bloqueio do serviço SSH:
Daemon | Lista de acesso | Ação | Comente |
sshd | 192.168.3.152 | permitir | Permitir acesso SSH local |
sshd | 1xx.6x.2xx.2xx | permitir | Permitir SSH do meu IP específico |
sshd | TUDO | negar | Negar acesso de todos os outros IPs |
Nota: As regras têm uma ordem de precedência. Você terá que colocar as regras de 'permitir' antes das regras de 'negar' se você estiver escolhendo usar a permissão de alguns, então negar de todas as técnicas.
8. Configuração Mod_Security
Em 2017, mais de 70% de todos os ataques maliciosos a servidores são executados no nível do aplicativo da web.
Para mitigar o risco associado ao seu servidor específico, é uma prática recomendada do setor implantar um WAF ou firewall de aplicativos da Web para aumentar a segurança externa e detectar/prevenir ataques antes que eles atinjam os aplicativos da Web.
O ModSecurity é um dos firewalls de aplicativos da Web mais antigos e populares e foi projetado para evitar:
- Injeção SQL
- Ataques de iFrame
- Detecção de Webshell/Backdoor
- Detecção de ataque de botnet
- Ataques de negação de serviço HTTP (DoS)
A instalação do mod_security pode ser feita em poucos minutos com poucas alterações na infraestrutura existente.
Você pode habilitá-lo na configuração do Easy Apache.
Para criar regras Mod_Security vá para ModSeurity Tools e clique em Rules List.
Nas novas janelas, ele exibirá todas as regras. Você pode clicar em Adicionar Regra , para criar novas regras. Observe que você precisará reiniciar o Apache para implantar novas regras.
Para saber mais sobre as Ferramentas ModSecurity clique aqui.
9. Analise seu sistema com o RootKit Hunter
Rootkit Hunter ou rkhunter é uma ferramenta baseada em UNIX que verifica rootkits, backdoors e possíveis explorações locais.
Ele compara hashes SHA-1 de arquivos importantes com os arquivos localizados em bancos de dados online para garantir a integridade dos arquivos.
Ele também procura diretórios de rootkits padrão, permissões excessivas, arquivos ocultos, strings suspeitas em módulos do kernel e uma infinidade de outras coisas que têm o potencial de comprometer a segurança do seu servidor.
Instalando o RootKit Hunter
Altere o diretório de trabalho atual para o diretório de instalação desejado.
cd /usr/local/src
Baixe o pacote rkhunter usando o comando wget.
wget http://dfn.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.4.2.tar.gz
Descompacte o arquivo rkhunter baixado.
tar -zxvf rkhunter-1.4.2.tar.gz
Altere o diretório de trabalho atual para o diretório rkhunter. Certifique-se de substituir o nome do diretório pelo nome do diretório real. No nosso caso, é “rkhunter-1.4.2” que pode ser alterado quando novas atualizações são lançadas.
cd rkhunter-1.4.2
Instale o pacote rkhunter executando o script de instalação.
./installer.sh –layout default –install
Isso instalará a ferramenta rkhuter no servidor.
Configurando o rkhunter
Você pode encontrar o arquivo de configuração do rkhunter no caminho /etc/rkhunter.conf . Alterando os valores dos parâmetros neste arquivo, podemos modificar as propriedades do rkhunter para proteger o servidor. Para permitir o login root via SSH
ALLOW_SSH_ROOT_USER = sim
diretório de instalação do rkhunter
INSTALLDIR=/caminho/de/instalação/diretório
Diretório de banco de dados rkhunter
DBDIR=/var/lib/rkhunter/db
diretório de script rkhunter
SCRIPTDIR=/usr/local/lib64/rkhunter/scripts
diretório temporário rkhunter
TMPDIR=/var/lib/rkhunter/tmp
Verificação manual com rkhunter
Para executar uma verificação manual com o rkhunter, execute o comando abaixo.
/usr/local/bin/rkhunter -c
Por padrão, o rkhunter é executado no modo interativo. O rkhunter executa uma série de varreduras e após cada conjunto de varreduras, você precisará pressionar Enter para continuar a varredura.
Para pular a execução do modo interativo e varrer todo o conjunto, use o comando abaixo. Observe que -c é para verificar o sistema local e –sk é para pular a tecla pressionada.
/usr/local/bin/rkhunter -c -sk
Para verificar todo o sistema de arquivos, execute o comando abaixo.
rkhunter – verificar
Agendando verificações automáticas com o Rkhunter
Para criar uma verificação automática agendada, crie um script que execute a verificação do rkhunter e envie por e-mail os resultados da verificação.
Se você deseja executar o scan do rkhunter diariamente, carregue o script para o diretório /etc/cron.daily e para /etc/cron.weekly para scans semanais.
Abra um arquivo em um editor e escreva o script abaixo para agendá-lo diariamente.
vi /etc/cron.daily/rkhunter.sh
Script para agendar verificação diária
#!/bin/sh
(
/usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update
/usr/local/bin/rkhunter --cronjob --report-warnings-only
) | /bin/mail -s 'rkhunter Daily Run (HostnameOfServer)' youremail@address
Nota: Certifique-se de alterar HostnameOfServer e youremail@address pelo nome de host do servidor real e o endereço de e-mail para o qual as notificações devem ser enviadas no script.
Atualização e opções do rkhunter
Para verificar a versão atual do rkhunter.
/usr/local/bin/rkhunter –versioncheck
Para atualizar a versão do rkhunter.
/usr/local/bin/rkhunter –atualização
Se os arquivos de banco de dados estiverem atualizados, verifique e salve os valores e propriedades atualizados.
/usr/local/bin/rkhunter –propupd
Os logs do rkhunter armazenam todas as atividades realizadas e os erros encontrados pelo aplicativo. Para verificar os logs do rkhunter.
/var/log/rkhunter.log
Você pode consultar as outras opções do rkhunter com.
/usr/local/bin/rkhunter –help
10. Analise seu sistema com Maldet
Maldet, também conhecido como Linux Malware Detect (LMD) é um scanner de malware para sistemas Linux projetado para detectar efetivamente backdoors php, darkmailers e vários outros arquivos maliciosos que podem estar presentes em sites comprometidos.
Instalando o Maldet
- SSH para o servidor e baixe o arquivo tar.
wget href=”http://www.rfxn.com/downloads/maldetect-current.tar.gz”> - Extraia o arquivo.
tar -xzf maldetect-current.tar.gz - Vá para a pasta maldet.
cd maldetect-* - Para instalar o maldet, execute o comando abaixo.
sh ./install.sh
Use Maldet no servidor Linux
Você deve sempre abrir uma nova sessão de tela e executar a verificação, pois pode levar horas para verificar, dependendo do uso do espaço em disco do seu sistema. Para executar uma verificação, use o comando abaixo.
maldet -a /path/to/scan OU
maldet –scan-all /path/to/scan
Você também pode simplesmente executar o comando abaixo para verificar todo o sistema
maldet -a /
Quando a varredura do servidor estiver concluída, você receberá o SCAN ID no final. Para visualizar o relatório digitalizado, use o comando abaixo. Observe que você precisará substituir o SCAN ID pelo ID real.
maldet – report SCAN ID
Ex: maldet – relatório 062617-2220.1771
Para colocar em quarentena todos os resultados de malware de uma verificação anterior, execute o comando abaixo.
maldet -q ID DE VERIFICAÇÃO
Ex. maldet -quarentena 062617-2220.1771
Automatizar Maldet
Você pode editar o arquivo de configuração do maldet conf.maldet para automatizar os processos como,
- Defina email_alert como 1 para enviar relatórios para a conta de e-mail configurada.
- Em email_addr , defina a conta de e-mail na qual você deseja receber relatórios de verificação.
- Altere quar_hits para 1 para que qualquer malware encontrado seja movido para o diretório ' /usr/local/maldetect/quarantine ' e você receba uma notificação no endereço de e-mail configurado.
- altere quar_susp para 1 , Isso permitirá a suspensão da conta de usuários do cPanel ou definirá o acesso do shell para ' /bin/false ' para usuários que não são do cPanel.
11. Configure o Cron Job para executar o ClamAV diariamente
Como as ações de adição, atualização e exclusão ocorrem rapidamente com arquivos que residem em seu servidor, é de suma importância garantir que todas as novas alterações sejam seguras e verificadas adequadamente com um aplicativo antivírus.
Você pode usar o trabalho cron do scanner ClamAV para executar verificações semanais que serão iniciadas automaticamente fora do horário comercial.
Use o seguinte comando para executar este cron.
para i em awk '!/nobody/{print $2 | "sort | uniq" }' /etc/userdomains | sort | uniq
awk '!/nobody/{print $2 | "sort | uniq" }' /etc/userdomains | sort | uniq
awk '!/nobody/{print $2 | "sort | uniq" }' /etc/userdomains | sort | uniq
; faça /usr/local/cpanel/3rdparty/bin/clamscan -i -r /home/$i 2>>/dev/null; feito >> /root/infections&
Este comando procura recursivamente o diretório inicial em busca de spam e arquivos infectados.
12. Desative as informações do cabeçalho do Apache
Como a assinatura do servidor contém informações como as versões do Apache e do sistema operacional, é importante que você oculte essas informações de olhares curiosos do público usando o WHM Login.
- Uma vez que você está logado no WHM. Navegue até Configuração do serviço → Configuração do Apache → Configuração global .
- Defina os seguintes valores.
Assinatura do Servidor = Desativado
Tokens de servidor = somente produto
13. Ocultar informações da versão do PHP
Como os cabeçalhos do Apache, você também não deve expor informações de versão do PHP. Aqui estão as etapas para ocultar essas informações.
- Uma vez que você está logado no WHM. Navegue até Configuração do Serviço → Editor de Configuração do PHP .
- Defina os seguintes valores.
expor_php= “desligado”
14. Desative o FTP e use o SFTP em vez disso
Embora você não adivinhe por seus nomes, os protocolos FTP e SFTP não poderiam ser mais diferentes um do outro.
Com o FTP padrão, todos os dados transmitidos entre o cliente e o servidor são em texto simples. Isso possibilita que um intruso recupere suas informações confidenciais, incluindo credenciais de login e outras mensagens “Privadas”.
Ao contrário do FTP padrão, o SFTP (SSH File Transfer Protocol) criptografa comandos e dados, evitando que senhas e informações confidenciais sejam transmitidas em texto simples pela rede.
Clique aqui para ver as etapas para gerar a chave SSH e conectar-se ao servidor via cliente SFTP.
Se você deseja apenas permitir a conexão SFTP e desativar o FTP do plano, siga as etapas abaixo no WHM/cPanel.
- Faça login no seu WHM/cPanel como usuário root.
- Navegue até Configuração do servidor FTP . Em TLS Encryption Support altere para Required (Command) e clique no botão Save .
15. Protegendo o acesso cPanel e WHM
Forçar URL HTTPS para acessar cPanel/WHM
Para proteger seu login cPanel ou WHM com uma criptografia baseada em SSL, siga estas duas etapas simples.
- Faça login no WHM e navegue em Home → Server Configuration → Tweak Settings .
- Role para o lado direito para a guia de redirecionamento e use as configurações mostradas na imagem abaixo.
Desativando o login cPanel-ID
Um servidor cPanel permite dois tipos de logins.
O primeiro é o login padrão/padrão de nome de usuário e senha e o segundo é fazer login no servidor com um ID cPanel.
Um ID cPanel permite que os usuários implantem um único nome de usuário e senha para obter acesso a uma ampla variedade de serviços cPanel.
Embora esse método seja mais do que adequado para a organização que gerencia um grande datacenter e contrata novos técnicos com frequência, se você tiver apenas um único servidor, deverá desativá-lo usando as etapas a seguir.
- Faça login no WHM e navegue até Home → Security Center → Manage External Authentication .
- Altere o login do cPanel-ID para desabilitar, conforme mostrado na imagem abaixo.
Conclusão
Ao implementar essas 15 dicas fáceis em seu VPS ou servidor dedicado, você reduzirá imediatamente sua vulnerabilidade a ataques internos e externos e aumentará a segurança do seu sistema em questão de horas.
E embora essas dicas reduzam o número de ameaças ao seu servidor, elas não são uma cura para todos.
Para otimizar a segurança do seu sistema, você precisa fazer a devida diligência e atualizar-se regularmente sobre os acontecimentos mais recentes no mundo da segurança do servidor.
No entanto, com apenas algumas horas de pesquisa por mês, você pode permanecer na vanguarda da segurança do cPanel e garantir que você e sua empresa permaneçam seguros nos próximos anos.
Você tem alguma dúvida sobre as 15 dicas listadas acima? Você encontrou algum novo recurso de segurança dos servidores cPanel que deseja compartilhar? Deixe-nos saber nos comentários abaixo.