Table of Contents

Nível Básico

1. Gerenciamento de Permissões de Arquivos com `chmod`

2. Verificação de Propriedade de Arquivos com `chown`

3. Bloqueio de Contas com `passwd`

4. Controle de Permissões de Diretórios com `umask`

Nível Intermediário

1. Configuração de Senhas Seguras com `chage`

2. Controle de Acessos com `sudo`

    usuario ALL=(ALL) NOPASSWD: /usr/sbin/service
 
  1. Descrição: Configura o usuário usuario para que possa executar o comando service sem precisar de senha.

3. Criptografia Simples com `gpg`

4. Auditoria de Acessos com `last` e `lastlog`

Nível Avançado

1. Controle de Acesso Detalhado com `setfacl` e `getfacl`

2. Gerenciamento de Senhas e Usuários com `faillock` e `pam_tally2`

3. Criação de Políticas de Controle com `AppArmor`

4. Criptografia Avançada com `openssl`

5. Monitoramento e Controle de Processos com `auditd`

6. Controle de Rede e Firewall com `iptables`

Nível Especializado

1. Criação de Políticas de Segurança com SELinux

2. Gerenciamento de Auditoria com `auditd` e Políticas SELinux

3. Controle de Acesso a Redes com `nftables`

    sudo nft add table inet filter
    sudo nft add chain inet filter input { type filter hook input priority 0 \; }
    sudo nft add rule inet filter input ip protocol tcp dport 22 accept
 
  1. Descrição: Configura regras de firewall avançadas com nftables, permitindo o tráfego na porta 22 (SSH). nftables substitui iptables em muitas distribuições modernas para controle de tráfego de rede.

4. Hardening de Sistema com `aide` (Advanced Intrusion Detection Environment)

5. Controle de Segurança de Kernel com `sysctl`

    sudo sysctl -w net.ipv4.conf.all.rp_filter=1
    sudo sysctl -w kernel.randomize_va_space=2
 
  1. Descrição: Ajusta parâmetros de segurança, como rp_filter para evitar spoofing de IPs e randomize_va_space para habilitar a randomização de espaço de endereços de memória (ASLR), aumentando a segurança do sistema contra ataques.
    sudo nano /etc/sysctl.conf
    # Adicione as linhas abaixo
    net.ipv4.conf.all.rp_filter=1
    kernel.randomize_va_space=2
 
  1. Descrição: Configura os parâmetros de segurança do kernel para serem aplicados automaticamente a cada reinicialização do sistema.

6. Hardening de SSH com `sshd_config`

    sudo nano /etc/ssh/sshd_config
    # Modifique as linhas abaixo:
    PermitRootLogin no
    PasswordAuthentication no
    AllowUsers usuario1 usuario2
 
  1. Descrição: Desabilita o login root direto via SSH, desativa a autenticação por senha (forçando o uso de chaves SSH) e limita o acesso SSH apenas a usuários específicos, aumentando significativamente a segurança do servidor SSH.

7. Verificação de Vulnerabilidades com `lynis`