CodeGym /Cursos /Docker SELF /Noções básicas de segurança no Linux

Noções básicas de segurança no Linux

Docker SELF
Nível 5 , Lição 0
Disponível

Noções básicas de segurança no Linux

1. Princípios de segurança no Linux

Segurança no Linux é, antes de tudo, uma estratégia de "minimização de privilégios" e controle de acesso confiável. Imagine o Linux como uma fortaleza com várias camadas de proteção: quanto mais você avança, mais verificações existem. Mas, para começar, vamos entender os três pilares que sustentam a segurança do sistema.

Divisão de permissões: usuários, grupos e root

O segredo da estabilidade e segurança do Linux está na rígida divisão de permissões. No sistema, existem três tipos de objetos:

  • Usuários (users): contas individuais. É como os convidados de uma festa de família — cada um com seu próprio convite.
  • Grupos (groups): conjuntos de usuários. Para algumas tarefas, um único convite serve para todo o grupo — tipo acessar a pasta compartilhada "Fotos da vovó".
  • Root: superusuário com todos os privilégios. O root é tipo o Super-Homem no seu mundo Linux. Ele pode fazer tudo, e isso traz tanto superpoderes quanto super-responsabilidades.

O Linux usa esse modelo para limitar o acesso a arquivos, aplicativos e funções do sistema. Mesmo que um invasor consiga entrar no sistema como usuário comum, ele não poderá prejudicar o kernel ou arquivos críticos.

Minimização de privilégios

Não saia distribuindo acesso root pra todo mundo. Imagine que cada funcionário do seu escritório tem chave para o cofre com dinheiro. Alguém vai acabar perdendo a chave. No Linux, a regra é: dê aos usuários apenas os privilégios necessários para realizarem suas tarefas.

Ameaças de segurança principais

  • Vírus: sim, Linux também não é completamente protegido, mas aqui os vírus aparecem com menos frequência graças à arquitetura do sistema.
  • Ataques pela rede: invasões via SSH, ataques DDoS, falsificação de DNS.
  • Vulnerabilidades de software: pacotes desatualizados e bibliotecas inseguras podem ser uma porta de entrada para os invasores.

2. Prevenção de ameaças

Agora vamos detalhar os passos importantes para que o seu servidor Linux continue te servindo bem e não acabe virando uma ferramenta para hackers.

Atualização regular do sistema

Um exemplo prático: atualizações do sistema são como atualizar o antivírus. Sem isso, até mesmo a proteção mais moderna será inútil contra novas ameaças. O comando:

sudo apt update && sudo apt upgrade

te ajuda a manter o seu Linux em forma.

Controle de acesso a arquivos importantes

Tem arquivos que é melhor esconder de olhares curiosos. Por exemplo, o arquivo /etc/sudoers — é uma lista de usuários com acesso a privilégios administrativos. Ele só pode ser editado com o comando visudo, para evitar erros acidentais.

Restrição de acesso root

Você sabe que o root é poderoso, mas não abuse disso. É melhor trabalhar como um usuário comum e, se necessário, usar sudo para obter privilégios temporariamente.


3. Ferramentas de segurança

Quais ferramentas no Linux podem ajudar na luta pela segurança? Bora dar uma olhada nas soluções embutidas e externas.

Mecanismos embutidos

  • firewalld e iptables: firewalls pra gerenciar o tráfego de rede. Parece complicado, mas a gente vai destrinchar!
  • SELinux (Security-Enhanced Linux): um complemento especial que verifica quais processos têm permissão pra acessar arquivos.
  • ACL (Access Control Lists): uma versão avançada das permissões padrão.

Ferramentas externas

  • Lynis: ferramenta pra auditoria de segurança.
  • OpenSCAP: conjunto de ferramentas pra verificar a conformidade dos sistemas com os padrões de segurança.

Configuração da política de senhas

Quão segura é sua senha... ah, não me diga! Melhor garantir logo uma política de senhas confiável. O comprimento e a complexidade mínima da senha podem ser configurados com o PAM.

sudo nano /etc/security/pwquality.conf

Exemplo de parâmetros:

minlen = 12
minclass = 3

4. Exemplo prático: configuração básica de segurança

Agora, bora colocar a mão na massa! Vamos configurar uma política de segurança básica para o sistema de teste.

Registro de usuários

Vamos criar dois usuários: um administrador e um usuário normal.

sudo adduser admin
sudo adduser user1
sudo usermod -aG sudo admin

Agora o admin tem privilégios administrativos, enquanto o user1 não tem.

Controle de acesso a arquivos importantes

Vamos restringir o acesso à configuração do Nginx:

sudo chmod 600 /etc/nginx/nginx.conf

Trabalhando com o firewall

Vamos instalar e configurar o ufw (Uncomplicated Firewall) para proteger nosso servidor:

sudo apt install ufw
sudo ufw enable

Permitimos apenas tráfego SSH e HTTP:

sudo ufw allow 22
sudo ufw allow 80

Ativamos a verificação:

sudo ufw status

5. Erros comuns

Quando o assunto é segurança, é importante não só saber o que fazer, mas também entender o que evitar.

Erro 1: Trabalhar como root

Muitos iniciantes têm preguiça e trabalham com a conta root. Isso é perigoso: qualquer erro ou invasão pode ser fatal para o sistema.

Erro 2: Pacotes desatualizados

Como um admin já disse: "O único servidor bom é o servidor atualizado". Software antigo é um alvo perfeito para ataques.

Erro 3: Senhas inseguras

"password123" é uma das senhas mais populares. Não seja a pessoa que a usa.


6. Aplicação prática: pra que isso serve?

Configurar a segurança do Linux vai te ajudar não só no trabalho, mas também em entrevistas. Saber o básico sobre firewalls, SELinux e configuração de permissões impressiona os empregadores. Tipo, você vai poder proteger o servidor da empresa contra ataques DDoS ou configurar permissões pra trabalho em equipe em projetos.

Se você trabalha com desenvolvimento, proteger o sistema significa que o seu código não vai parar nas mãos da concorrência e que os dados dos clientes vão ficar seguros. Isso não é só paranoia de Habarovsk, mas uma real necessidade da indústria moderna.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION