Pesquisa de site

LFCA: Dicas básicas de segurança para proteger o sistema Linux – Parte 17


Agora, mais do que nunca, vivemos num mundo onde as organizações são constantemente bombardeadas por violações de segurança motivadas pela aquisição de dados altamente sensíveis e confidenciais, que são altamente valiosos e representam uma enorme recompensa financeira.

É bastante surpreendente que, apesar de correrem um elevado risco de sofrer um ataque cibernético potencialmente devastador, a maioria das empresas não esteja bem preparada ou simplesmente ignore os sinais de alerta, muitas vezes com consequências devastadoras.

Em 2016, a Equifax sofreu uma violação catastrófica de dados, onde milhões de registros de clientes altamente confidenciais foram roubados após uma série de falhas de segurança. Um relatório detalhado indicou que a violação poderia ser evitada se as medidas de segurança corretas tivessem sido implementadas pela equipe de segurança da Equifax.

Na verdade, meses antes da violação, a Equifax foi avisada sobre uma vulnerabilidade potencial no seu portal web que comprometeria a sua segurança, mas, infelizmente, o aviso foi ignorado e teve graves consequências. Muitas outras grandes corporações foram vítimas de ataques, que continuam a crescer em complexidade a cada momento que passa.

Não podemos enfatizar o suficiente o quão crucial é a segurança do seu sistema Linux. Você pode não ser uma instituição financeira de alto nível que seja um alvo potencial para violações, mas isso não significa que você deva baixar a guarda.

A segurança deve estar em sua mente ao configurar seu servidor Linux, especialmente se ele for conectado à Internet e acessado remotamente. Ter habilidades básicas de segurança é essencial para proteger seu servidor Linux.

Neste guia, nos concentramos em algumas das medidas básicas de segurança que você pode tomar para proteger seu sistema contra intrusos.

Vetores de ataque cibernético

Os invasores explorarão uma variedade de técnicas de ataque para acessar seu servidor Linux. Antes de nos aprofundarmos em algumas das medidas que você pode tomar para proteger seu sistema, vamos explorar alguns dos vetores de ataque comuns que um hacker pode usar para se infiltrar nos sistemas.

1. Ataques de força bruta

Um ataque de força bruta é um ataque em que o hacker usa tentativa e erro para adivinhar as credenciais de login do usuário. Normalmente, o invasor usará scripts automatizados para obter entrada continuamente até que a combinação correta de nome de usuário e senha seja obtida. Esse tipo de ataque é mais eficaz quando são usadas senhas fracas e facilmente adivinháveis.

2. Credenciais fracas

Conforme mencionado anteriormente, credenciais fracas, como senhas curtas e fáceis de adivinhar, como password1234, representam um risco potencial para o seu sistema. Quanto mais curta e menos complexa for uma senha, maiores serão as chances de seu sistema ser comprometido.

3. Phishing

Phishing é uma técnica de engenharia social em que o invasor envia à vítima um e-mail que parece vir de uma instituição legítima ou de alguém que você conhece ou com quem faz negócios.

Normalmente, o e-mail contém instruções que levam a vítima a divulgar informações confidenciais ou pode conter um link que a direciona para um site falso que se faz passar pelo site da empresa. Assim que a vítima tenta fazer login, suas credenciais são capturadas pelo invasor.

4. Malware

Malware é a abreviatura de software malicioso. Abrange uma ampla gama de aplicativos nefastos, como vírus, trojans, worms e ransomware, projetados para se espalhar rapidamente e manter o sistema da vítima como refém em troca de um resgate.

Esses ataques podem ser debilitantes e paralisar os negócios de uma organização. Alguns malwares podem ser injetados em documentos como imagens, vídeos, documentos Word ou PowerPoint e empacotados em um e-mail de phishing.

5. Ataques de negação de serviço (DoS)

Um ataque DoS é um ataque que limita ou afeta a disponibilidade de um servidor ou sistema de computador. O hacker inunda o servidor com tráfego ou pacotes de ping que tornam o servidor inacessível aos usuários por períodos prolongados.

Um ataque DDoS (negação de serviço distribuída) é um tipo de DoS que emprega vários sistemas que inundam um alvo com tráfego, tornando-o indisponível.

6. Ataque de injeção SQL

Acrônimo para Structured Query Language, SQL é uma linguagem usada para comunicação com bancos de dados. Ele permite aos usuários criar, excluir e atualizar registros no banco de dados. Muitos servidores armazenam dados em bancos de dados relacionais que usam SQL para interagir com o banco de dados.

Um ataque de injeção de SQL aproveita uma vulnerabilidade SQL conhecida que faz com que o servidor divulgue informações confidenciais do banco de dados que de outra forma não faria, injetando código SQL malicioso. Isso representa um risco enorme se o banco de dados armazenar informações de identificação pessoal, como números de cartão de crédito, números de previdência social e senhas.

7. Ataque Man-in-the-Middle

Comumente abreviado como MITM, o ataque man-in-the-middle envolve um invasor que intercepta informações entre dois pontos com o objetivo de espionar ou modificar o tráfego entre as duas partes. O objetivo é espionar a vítima, corromper os dados ou roubar informações confidenciais.

Dicas básicas para proteger seu servidor Linux

Tendo analisado os potenciais gateways que um invasor pode usar para violar o seu sistema, vamos examinar algumas das medidas fundamentais que você pode tomar para proteger o seu sistema.

1. Segurança Física

No entanto, não se pensa muito na localização física e na segurança do seu servidor. Se você pretende ter o seu servidor em um ambiente local, geralmente é aqui que você deve começar.

É importante garantir que seu servidor esteja protegido com segurança em um data center com energia de reserva, conectividade redundante à Internet e resfriamento suficiente. O acesso ao data center deve ser limitado apenas ao pessoal autorizado.

2. Atualize os repositórios e pacotes do seu sistema

Depois que o servidor estiver configurado, a primeira etapa a ser executada é atualizar os repositórios e os pacotes de software aplicativo da seguinte maneira. A atualização do pacote corrige quaisquer lacunas que possam apresentar nas versões existentes dos aplicativos.

Para distribuições Ubuntu/Debian:

sudo apt update -y
sudo apt upgrade -y

Para distribuições RHEL/CentOS:

sudo yum upgrade -y

3. Habilite um firewall

Um firewall é um aplicativo que filtra o tráfego de entrada e saída. Você precisa instalar um firewall robusto, como o firewall UFW, e habilitá-lo para permitir apenas os serviços necessários e suas portas correspondentes.

Por exemplo, você pode instalá-lo no Ubuntu usando o comando:

sudo apt install ufw

Depois de instalado, habilite-o da seguinte maneira:

sudo ufw enable

Para permitir um serviço como HTTPS, execute o comando;

sudo ufw allow https

Alternativamente, você pode permitir a porta correspondente que é 443.

sudo ufw allow 443/tcp

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

sudo ufw reload

Para verificar o status do seu firewall, incluindo serviços permitidos e portas abertas, execute

sudo ufw status

4. Desligue quaisquer serviços/portas desnecessários

Além disso, considere desligar quaisquer serviços e portas não utilizados ou desnecessários no firewall. Ter múltiplas portas que não estão sendo usadas apenas aumenta o cenário de ataque.

5. Protocolo SSH seguro

As configurações SSH padrão não são seguras e, portanto, são necessários alguns ajustes. Certifique-se de aplicar as seguintes configurações:

  • Desative o usuário root do login remoto.
  • Habilite a autenticação SSH sem senha usando chaves públicas/privadas SSH.

Para o primeiro ponto, edite o arquivo /etc/ssh/sshd_config e modifique os seguintes parâmetros para que apareçam conforme mostrado.

PermitRootLogin no

Depois de desabilitar o login remoto do usuário root, crie um usuário regular e atribua privilégios sudo. Por exemplo.

sudo adduser user 
sudo usermod -aG sudo user 

Para habilitar a autenticação sem senha, primeiro vá para outro PC Linux – de preferência o seu PC e gere um par de chaves SSH.

ssh-keygen

Em seguida, copie a chave pública para o seu servidor

ssh-copy-id user@server-IP

Uma vez logado, certifique-se de desabilitar a autenticação por senha editando o arquivo /etc/ssh/sshd_config e modificando o parâmetro mostrado.

PasswordAuthentication no

Tome cuidado para não perder sua chave privada ssh, pois esse é o único caminho que você pode usar para fazer login. Mantenha-a segura e, de preferência, faça backup na nuvem.

Finalmente, reinicie o SSH para efetuar as alterações

sudo systemctl restart sshd
Resumo

Em um mundo com ameaças cibernéticas em evolução, a segurança deve ser uma alta prioridade quando você inicia a configuração do seu servidor Linux. Neste guia, destacamos algumas das medidas básicas de segurança que você pode tomar para fortalecer seu servidor. No próximo tópico, iremos mais fundo e veremos etapas adicionais que você pode seguir para proteger seu servidor.