Linux hardening steps para iniciantes

a maioria dos sistemas têm dados confidenciais que precisam ser protegidos. Para salvaguardar estes dados, precisamos de proteger o nosso sistema Linux. Mas como endurecer adequadamente um sistema Linux? Neste artigo, abordaremos esta questão passo a passo. Começamos com medidas de segurança física para impedir pessoas não autorizadas de acessar o sistema em primeiro lugar. A seguir é fazer a instalação da maneira certa, então temos uma base sólida. Por último, vamos aplicar um conjunto de medidas de segurança comuns. Depois de terminarmos, seu servidor ou sistema desktop deve ser melhor protegido. Estás pronto? Vamos avançar com os primeiros passos!

Índice

o Linux já está seguro por padrão, certo?

um dos mitos sobre o Linux é que ele é seguro, uma vez que não é suscetível a vírus ou outras formas de malware. Isto é parcialmente verdade, já que o Linux usa os fundamentos do sistema operacional UNIX original. Os processos são separados e um usuário normal é restrito no que ele ou ela pode fazer no sistema. Ainda assim, o Linux não é perfeitamente seguro por padrão. Uma das razões é as distribuições Linux que empacotam o núcleo GNU/Linux e o software relacionado. Eles têm que escolher entre usabilidade, desempenho e segurança.

com as escolhas difíceis que as distribuições Linux têm que fazer, você pode ter certeza de compromissos. Estes compromissos resultam normalmente numa redução do nível de segurança. E malware para Linux? Isso é definitivamente um mito. A plataforma Linux também tem sua quota-parte de backdoors, rootkits, works, e até mesmo ransomware. Essa é uma das razões pelas quais é importante fazer endurecimento do sistema, auditoria de segurança e verificação do cumprimento das diretrizes técnicas.

imagem de itens que são relevantes para o endurecimento do sistema Linux, auditoria e conformidade.

existem muitos aspectos para a segurança do Linux, incluindo endurecimento do sistema Linux, auditoria e conformidade.

o que é o endurecimento do sistema? Para melhorar o nível de segurança de um sistema, tomamos diferentes tipos de medidas. Isto pode ser a remoção de um serviço de sistema existente ou desinstalar alguns componentes de software.O endurecimento do sistema é o processo de fazer as coisas “certas”. O objetivo é melhorar o nível de segurança do sistema. Há muitos aspectos em garantir um sistema corretamente. No entanto, o básico é semelhante para a maioria dos sistemas operacionais. Então o processo de endurecimento do sistema para o desktop e Servidores Linux é aquele especial.

princípios fundamentais do endurecimento do sistema

se colocássemos um microscópio no endurecimento do sistema, poderíamos dividir o processo em alguns princípios fundamentais. Estes incluem o princípio do menor privilégio, segmentação e redução.

Principe of least privilege

The principle of least privileges means that you give users and processes the bare minimum of permission to do their job. É semelhante à concessão de acesso a um visitante a um edifício. Pode dar acesso total ao edifício, incluindo todas as áreas sensíveis. A outra opção é apenas permitir que o seu convidado para acessar um único andar onde eles precisam estar. A escolha é fácil, certo?Exemplos:

  • Quando o acesso somente leitura é o suficiente, não dar permissões de escrita
  • não permitir que o código executável em áreas de memória que são sinalizadas como segmentos de dados
  • não executar aplicativos como o usuário raiz, em vez de usar uma conta de usuário não privilegiado

Segmentação

O próximo princípio é o de que a divisão áreas maiores em menores. Se olharmos para aquele edifício de novo, dividimo-lo em vários andares. Cada andar pode ser dividido em diferentes zonas. Talvez a sua visita só seja permitida no andar 4, na Zona Azul. Se traduzirmos isto para a segurança Linux, este princípio aplicar-se-á ao uso da memória. Cada processo só pode acessar seus próprios segmentos de memória.

redução

este princípio visa remover algo que não é estritamente necessário para o sistema funcionar. Parece o princípio do menor privilégio, mas concentra-se em evitar algo em primeiro lugar. Um processo que não precisa ser executado, deve ser parado. Similar para contas de usuário sem necessidade ou dados sensíveis que já não estão sendo usados.

Sistema de endurecimento passos

Visão geral das etapas de proteção

  1. Instalar atualizações de segurança e patches
  2. Use senhas fortes
  3. Vincular processos para localhost
  4. Implementar um firewall
  5. Manter as coisas limpas
  6. configurações de Segurança
  7. Limitar o acesso
  8. Monitorar seus sistemas
  9. Criar cópias de segurança (e testar!)
  10. efectuar auditorias de sistemas

1. Instalar atualizações de segurança e patches

a maioria das fraquezas dos sistemas são causadas por falhas no software. Estas falhas a que chamamos vulnerabilidades. O cuidado adequado para o gerenciamento de patches de software ajuda a reduzir muitos dos riscos relacionados. A atividade de instalar atualizações muitas vezes tem um baixo risco, especialmente quando se começa com os patches de segurança primeiro. A maioria das distribuições Linux tem a opção de limitar os pacotes que você deseja atualizar (todos, Apenas segurança, por pacote). Certifique-se de que as suas atualizações de segurança são instaladas assim que estiverem disponíveis. Escusado será dizer que, antes de implementar algo, testa-o primeiro num sistema de testes (virtual).

dependendo da sua distribuição Linux, pode haver uma maneira de implementar patches de segurança automaticamente, como atualizações não atendidas no Debian e Ubuntu. Isso torna a gestão de patches de software muito mais fácil!

2. Use senhas fortes

a principal porta de entrada para um sistema é login como um usuário válido com a senha relacionada dessa conta. Palavras-passe fortes tornam mais difícil para as ferramentas adivinhar a senha e deixar as pessoas maliciosas entrar pela porta da frente. Uma senha forte consiste de uma variedade de caracteres (alfanuméricos, números, especiais como por cento, espaço, ou mesmo caracteres Unicode).

3. Ligar processos a localhost

nem todos os serviços têm de estar disponíveis através da rede. Por exemplo, ao executar uma instância local de MySQL no seu servidor web, deixe-o apenas ouvir num ‘socket’ local ou ligar ao ‘localhost’ (127.0.0.1). Em seguida, configure sua aplicação para se conectar através deste endereço local, que normalmente já é o padrão.

4. Implemente uma firewall

apenas o tráfego permitido deve em uma situação ideal chegar ao seu sistema. Para conseguir isso, implemente uma solução de firewall como iptables, ou os novos nftables.Ao criar uma política para o seu firewall, considere usar uma política de” negar tudo, permitir alguma”. Então você nega todo o tráfego por padrão, em seguida, definir que tipo de tráfego você quer permitir. Isto é especialmente útil para o tráfego de entrada, para evitar o compartilhamento de serviços que você não pretendia compartilhar.Leitura útil:

  • diferenças entre os dispositivos iptables e os dispositivos nftables

5. Manter as coisas limpas

tudo instalado em um sistema que não pertence lá só pode impactar negativamente sua máquina. Também irá aumentar os seus backups (e tempos de restauração). Ou podem conter vulnerabilidades. Um sistema limpo é muitas vezes um sistema mais saudável e seguro. Portanto, a minimalização é um grande método no processo de endurecimento Linux.As tarefas passíveis de Acção incluem::

  • apagar o pacote não utilizado
  • limpar as pastas antigas e remover os utilizadores

6. Configurações seguras

a maioria das aplicações tem uma ou mais medidas de segurança disponíveis para proteger contra algumas formas de ameaças ao software ou sistema. Olhe para a página do homem para quaisquer opções e teste estas opções cuidadosamente.

7. Limit access

allow access to the machine for authorized users. Será que alguém realmente precisa de acesso ou são possíveis métodos alternativos para dar ao usuário o que ele ou ela quer?

8. A maioria das intrusões não são detectadas, devido à falta de monitorização. Implementar o monitoramento normal do sistema e implementar o monitoramento de eventos de segurança. Por exemplo, o uso do Linux audit framework aumentou as taxas de detecção de eventos suspeitos.

9. Criar cópias de segurança (e testar!)

faz regularmente uma cópia de segurança dos dados do sistema. Isso pode evitar a perda de dados. Ainda mais importante, testem as cópias de segurança. Ter um backup é bom, mas é a restauração que realmente conta!

Backups can be done with existing system tools like tar and scp. Outra opção para poupar largura de banda é sincronizar dados com ferramentas como rsync. Se preferir usar um programa de backup, considere Amanda ou Bacula.

10. Execute a auditoria do sistema, screenshot

Lynis (Linux/Unix auditing tool), Screenshot

Screenshot de uma auditoria de segurança do servidor Linux realizada com Lynis.Não pode proteger adequadamente um sistema se não o medir.Use uma ferramenta de segurança como o Lynis para realizar uma auditoria regular do seu sistema. Quaisquer achados são mostrados na tela e também armazenados em um arquivo de dados para análise posterior. Com um arquivo de log extenso, ele permite usar todos os dados disponíveis e planejar as próximas ações para o endurecimento do sistema.