Pesquisa de site

LFCA – Dicas úteis para proteger dados e Linux – Parte 18


Desde o seu lançamento no início dos anos noventa, o Linux conquistou a admiração da comunidade tecnológica graças à sua estabilidade, versatilidade, capacidade de personalização e uma grande comunidade de desenvolvedores de código aberto que trabalham 24 horas por dia para fornecer correções de bugs e melhorias para o sistema operacional. Em geral, o Linux é o sistema operacional preferido para nuvem pública, servidores e supercomputadores, e quase 75% dos servidores de produção voltados para a Internet são executados em Linux.

Além de impulsionar a Internet, o Linux encontrou seu caminho para o mundo digital e não diminuiu desde então. Ele alimenta uma vasta gama de dispositivos inteligentes, incluindo smartphones Android, tablets, smartwatches, monitores inteligentes e muito mais.

O Linux é tão seguro?

O Linux é conhecido por sua segurança de alto nível e é uma das razões pelas quais é a escolha preferida em ambientes corporativos. Mas aqui está um fato: nenhum sistema operacional é 100% seguro. Muitos usuários acreditam que o Linux é um sistema operacional infalível, o que é uma suposição falsa. Na verdade, qualquer sistema operacional com conexão à Internet é suscetível a possíveis violações e ataques de malware.

Durante seus primeiros anos, o Linux tinha um grupo demográfico muito menor centrado na tecnologia e o risco de sofrer ataques de malware era remoto. Hoje em dia, o Linux alimenta uma grande parte da Internet e isso impulsionou o crescimento do cenário de ameaças. A ameaça de ataques de malware é mais real do que nunca.

Um exemplo perfeito de ataque de malware em sistemas Linux é o ransomware Erebus, um malware de criptografia de arquivos que afetou cerca de 153 servidores Linux da NAYANA, uma empresa sul-coreana de hospedagem na web.

Por esse motivo, é prudente fortalecer ainda mais o sistema operacional para dar-lhe a tão desejada segurança para proteger seus dados.

Dicas de proteção de servidor Linux

Proteger seu servidor Linux não é tão complicado quanto você imagina. Compilamos uma lista das melhores políticas de segurança que você precisa implementar para fortalecer a segurança do seu sistema e manter a integridade dos dados.

1. Atualize os pacotes de software regularmente

Nos estágios iniciais da violação da Equifax, os hackers aproveitaram uma vulnerabilidade amplamente conhecida – Apache Struts – no portal de reclamações de clientes da Equifax.

Apache Struts é uma estrutura de código aberto para a criação de aplicativos Web Java modernos e elegantes desenvolvidos pela Apache Foundation. A Fundação lançou um patch para corrigir a vulnerabilidade em 7 de março de 2017 e emitiu uma declaração nesse sentido.

A Equifax foi notificada sobre a vulnerabilidade e aconselhada a corrigir seu aplicativo, mas, infelizmente, a vulnerabilidade permaneceu sem correção até julho do mesmo ano, quando já era tarde demais. Os invasores conseguiram obter acesso à rede da empresa e extrair milhões de registros confidenciais de clientes dos bancos de dados. Quando a Equifax soube do que estava acontecendo, já haviam se passado dois meses.

Então o que podemos aprender com isso?

Usuários mal-intencionados ou hackers sempre investigarão seu servidor em busca de possíveis vulnerabilidades de software, que poderão aproveitar para violar seu sistema. Para garantir a segurança, sempre atualize seu software para as versões atuais para aplicar patches a quaisquer vulnerabilidades existentes.

Se você estiver executando sistemas baseados em Ubuntu ou Debian, o primeiro passo geralmente é atualizar suas listas de pacotes ou repositórios conforme mostrado.

sudo apt update

Para verificar todos os pacotes com atualizações disponíveis, execute o comando:

sudo apt list --upgradable

Atualize seus aplicativos de software para suas versões atuais, conforme mostrado:

sudo apt upgrade

Você pode concatenar esses dois em um comando, conforme mostrado.

sudo apt update && sudo apt upgrade

Para RHEL e CentOS atualize seus aplicativos executando o comando:

sudo dnf update ( CentOS 8 / RHEL 8 )
sudo yum update ( Earlier versions of RHEL & CentOS )

Outra opção viável é habilitar atualizações automáticas de segurança para Ubuntu e também configurar atualizações automáticas para CentOS/RHEL.

2. Remova serviços/protocolos de comunicação legados

Apesar do suporte a uma infinidade de protocolos remotos, serviços legados como rlogin, telnet, TFTP e FTP podem representar enormes problemas de segurança para o seu sistema. São protocolos antigos, desatualizados e inseguros, onde os dados são enviados em texto simples. Se estes existirem, considere removê-los conforme mostrado.

Para sistemas baseados em Ubuntu/Debian, execute:

sudo apt purge telnetd tftpd tftpd-hpa xinetd rsh-server rsh-redone-server

Para sistemas baseados em RHEL/CentOS, execute:

sudo yum erase xinetd tftp-server telnet-server rsh-server ypserv

3. Feche as portas não utilizadas no Firewall

Depois de remover todos os serviços inseguros, é importante verificar se há portas abertas em seu servidor e fechar todas as portas não utilizadas que possam ser potencialmente usadas como ponto de entrada por hackers.

Suponha que você queira bloquear a porta 7070 no firewall UFW. O comando para isso será:

sudo ufw deny 7070/tcp

Em seguida, recarregue o firewall para que as alterações tenham efeito.

sudo ufw reload

Para Firewalld, execute o comando:

sudo firewall-cmd --remove-port=7070/tcp  --permanent

E lembre-se de recarregar o firewall.

sudo firewall-cmd --reload

Em seguida, verifique as regras do firewall conforme mostrado:

sudo firewall-cmd --list-all

4. Protocolo SSH seguro

O protocolo SSH é um protocolo remoto que permite conectar-se com segurança a dispositivos em uma rede. Embora seja considerado seguro, as configurações padrão não são suficientes e alguns ajustes extras são necessários para impedir ainda mais que usuários mal-intencionados invadam seu sistema.

Temos um guia completo sobre como fortalecer o protocolo SSH. Aqui estão os principais destaques.

  • Configure o login SSH sem senha e habilite a autenticação de chave privada/pública.
  • Desative o login raiz remoto SSH.
  • Desative logins SSH de usuários com senhas vazias.
  • Desative completamente a autenticação por senha e siga a autenticação de chave pública/privada SSH.
  • Limite o acesso a usuários SSH específicos.
  • Configure um limite para tentativas de senha.

5. Instale e habilite Fail2ban

Fail2ban é um sistema de prevenção de intrusões de código aberto que protege seu servidor contra ataques de força bruta. Ele protege seu sistema Linux banindo IPs que indicam atividades maliciosas, como muitas tentativas de login. Pronto para uso, ele vem com filtros para serviços populares, como servidor web Apache, vsftpd e SSH.

Temos um guia sobre como configurar o Fail2ban para fortalecer ainda mais o protocolo SSH.

6. Aplique a força da senha usando o módulo PAM

Reutilizar senhas ou usar senhas fracas e simples prejudica muito a segurança do seu sistema. Você impõe uma política de senha e usa pam_cracklib para definir ou configurar os requisitos de força da senha.

Usando o módulo PAM, você pode definir a força da senha editando o arquivo /etc/pam.d/system-auth. Por exemplo, você pode definir a complexidade da senha e impedir a reutilização de senhas.

7. Instale um certificado SSL/TLS

Se você estiver administrando um site, certifique-se sempre de proteger seu domínio usando um certificado SSL/TLS para criptografar os dados trocados entre o navegador dos usuários e o servidor web.

8. Desative protocolos de criptografia fracos e chaves de criptografia

Depois de criptografar seu site, considere também desabilitar protocolos de criptografia fracos. No momento em que este guia foi escrito, o protocolo mais recente era o TLS 1.3, que é o protocolo mais comum e amplamente utilizado. Versões anteriores, como TLS 1.0, TLS 1.2 e SSLv1 a SSLv3, foram associadas a vulnerabilidades conhecidas.

Empacotando

Este foi um resumo de algumas das etapas que você pode seguir para garantir a segurança e a privacidade dos dados em seu sistema Linux.