User Tools

Site Tools


wiki:linux:comandos_grupos:cmd_access_control

Nível Básico

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

  • chmod - Modifica permissões de leitura, escrita e execução.
    1. Exemplo de uso:
      chmod 755 arquivo.txt
    2. Descrição: Define permissões de leitura, escrita e execução para o proprietário (7) e apenas leitura e execução para o grupo e outros (5).

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

  • chown - Altera o proprietário e grupo de um arquivo.
    1. Exemplo de uso:
      sudo chown usuario:grupo arquivo.txt
    2. Descrição: Define usuario como o proprietário e grupo como o grupo do arquivo arquivo.txt, permitindo controle sobre quem pode acessar ou modificar o arquivo.

3. Bloqueio de Contas com `passwd`

  • passwd -l - Bloqueia uma conta de usuário.
    1. Exemplo de uso:
      sudo passwd -l usuario
    2. Descrição: Bloqueia a conta usuario, impedindo que o usuário faça login até que a conta seja desbloqueada.

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

  • umask - Define permissões padrão para novos arquivos e diretórios.
    1. Exemplo de uso:
      umask 022
    2. Descrição: Define a máscara de permissão para que novos arquivos sejam criados com permissões 755 (leitura e execução para o grupo e outros) e diretórios com permissões 755.

Nível Intermediário

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

  • chage - Define a expiração e validade de senhas.
    1. Exemplo de uso:
      sudo chage -M 90 usuario
    2. Descrição: Configura para que a senha do usuário usuario expire a cada 90 dias, forçando o usuário a alterá-la periodicamente para aumentar a segurança.
  • chage -l - Exibe as informações de expiração da senha.
    1. Exemplo de uso:
      chage -l usuario
    2. Descrição: Exibe as informações de expiração de senha do usuário usuario, como o último dia de alteração e a validade da senha.

2. Controle de Acessos com `sudo`

  • visudo - Edita o arquivo de configuração do sudo de forma segura.
    1. Exemplo de uso:
      sudo visudo
    2. Descrição: Abre o arquivo /etc/sudoers para edição, permitindo a configuração de permissões de execução de comandos como superusuário para usuários específicos.
  • Configuração de privilégios - Permite que um usuário execute comandos como root.
    1. Exemplo de uso:
    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`

  • gpg - Criptografa um arquivo com uma chave simétrica.
    1. Exemplo de uso:
      gpg -c arquivo.txt
    2. Descrição: Criptografa o arquivo arquivo.txt usando uma senha, gerando um arquivo arquivo.txt.gpg. Para descriptografá-lo, o comando gpg arquivo.txt.gpg pode ser usado.

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

  • last - Exibe os últimos logins no sistema.
    1. Exemplo de uso:
      last
    2. Descrição: Mostra uma lista dos últimos usuários que fizeram login no sistema, útil para auditoria de acessos.
  • lastlog - Verifica o último login de todos os usuários.
    1. Exemplo de uso:
      lastlog
    2. Descrição: Exibe as informações de último login de todos os usuários do sistema, permitindo identificar contas inativas.

Nível Avançado

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

  • setfacl - Define permissões de acesso específicas para usuários/grupos.
    1. Exemplo de uso:
      sudo setfacl -m u:usuario:rwx /diretorio
    2. Descrição: Define permissões detalhadas de leitura, escrita e execução para o usuário usuario no diretório /diretorio, independentemente das permissões padrão do sistema de arquivos.
  • getfacl - Exibe as permissões ACL de um arquivo ou diretório.
    1. Exemplo de uso:
      getfacl /diretorio
    2. Descrição: Mostra todas as permissões ACL definidas para o diretório /diretorio, incluindo permissões específicas para usuários ou grupos.

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

  • faillock - Monitora tentativas de login incorretas e bloqueia o usuário.
    1. Exemplo de uso:
      sudo faillock --user usuario --reset
    2. Descrição: Reseta o contador de tentativas de login incorretas do usuário usuario, desbloqueando a conta caso tenha sido bloqueada por muitas tentativas falhas.
  • pam_tally2 - Verifica e limpa contagens de falhas de login.
    1. Exemplo de uso:
      sudo pam_tally2 --user usuario --reset
    2. Descrição: Exibe o número de tentativas de login falhas para o usuário usuario e reseta o contador de falhas, desbloqueando a conta.

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

  • aa-status - Verifica o status de execução do AppArmor.
    1. Exemplo de uso:
      sudo aa-status
    2. Descrição: Exibe o status do AppArmor, mostrando quais perfis de segurança estão carregados e aplicados.
  • aa-enforce - Coloca um perfil do AppArmor em modo de execução forçada.
    1. Exemplo de uso:
      sudo aa-enforce /etc/apparmor.d/usr.bin.nginx
    2. Descrição: Aplica o perfil de segurança do AppArmor para o binário do nginx, forçando restrições de acesso para esse serviço.

4. Criptografia Avançada com `openssl`

  • openssl enc - Criptografa arquivos com algoritmos fortes.
    1. Exemplo de uso:
      openssl enc -aes-256-cbc -salt -in arquivo.txt -out arquivo.txt.enc
    2. Descrição: Criptografa o arquivo arquivo.txt com o algoritmo AES-256, gerando o arquivo criptografado arquivo.txt.enc. O uso de -salt garante que a criptografia seja mais segura.
  • openssl dgst - Gera checksums criptográficos para verificar integridade.
    1. Exemplo de uso:
      openssl dgst -sha256 arquivo.txt
    2. Descrição: Gera um hash SHA-256 para o arquivo arquivo.txt, permitindo verificar a integridade do arquivo mais tarde, comparando o hash.

5. Monitoramento e Controle de Processos com `auditd`

  • auditctl - Configura auditoria de eventos no sistema.
    1. Exemplo de uso:
      sudo auditctl -w /etc/passwd -p war -k passwd_monitor
    2. Descrição: Configura auditoria para o arquivo /etc/passwd, monitorando qualquer operação de escrita, leitura ou alteração, gerando eventos de auditoria com a chave passwd_monitor.
  • ausearch - Pesquisa eventos de auditoria no sistema.
    1. Exemplo de uso:
      sudo ausearch -k passwd_monitor
    2. Descrição: Pesquisa eventos de auditoria relacionados ao arquivo /etc/passwd usando a chave passwd_monitor, exibindo tentativas de acesso, modificação ou leitura.

6. Controle de Rede e Firewall com `iptables`

  • iptables - Define regras de firewall para controlar tráfego.
    1. Exemplo de uso:
      sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    2. Descrição: Permite tráfego na porta 22 (SSH) para conexões TCP de entrada, configurando o firewall para permitir acesso SSH.
  • iptables-save - Salva as regras atuais do firewall.
    1. Exemplo de uso:
      sudo iptables-save > /etc/iptables/rules.v4
    2. Descrição: Salva as regras atuais do firewall em um arquivo, para que sejam aplicadas automaticamente após a reinicialização do sistema.

Nível Especializado

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

  • getenforce - Verifica o status atual do SELinux.
    1. Exemplo de uso:
      getenforce
    2. Descrição: Exibe o status atual do SELinux (Enforcing, Permissive ou Disabled), indicando se o SELinux está aplicando as políticas de segurança.
  • setenforce - Altera o status do SELinux em tempo real.
    1. Exemplo de uso:
      sudo setenforce 1
    2. Descrição: Habilita o SELinux no modo Enforcing, fazendo com que as políticas de segurança sejam aplicadas imediatamente.
  • semanage - Configura regras de contexto de segurança para arquivos e portas.
    1. Exemplo de uso:
      sudo semanage port -a -t ssh_port_t -p tcp 2222
    2. Descrição: Configura o SELinux para permitir conexões SSH na porta 2222, associando a porta ao tipo de contexto ssh_port_t.

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

  • audit2why - Explica por que o SELinux negou uma operação.
    1. Exemplo de uso:
      sudo ausearch -m avc -ts recent | audit2why
    2. Descrição: Analisa os registros de auditoria e explica o motivo pelo qual o SELinux negou uma ação, ajudando a diagnosticar problemas de permissões e políticas.
  • audit2allow - Gera permissões para corrigir bloqueios do SELinux.
    1. Exemplo de uso:
      sudo audit2allow -M meu_modulo < /var/log/audit/audit.log
    2. Descrição: Gera um módulo de política que permite a ação previamente negada pelo SELinux, baseado nos eventos de auditoria registrados.

3. Controle de Acesso a Redes com `nftables`

  • nft - Define políticas de firewall avançadas.
    1. Exemplo de uso:
    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.
  • nft list ruleset - Lista as regras de firewall ativas.
    1. Exemplo de uso:
      sudo nft list ruleset
    2. Descrição: Exibe todas as regras de firewall atualmente configuradas, permitindo visualizar e auditar políticas de controle de rede.

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

  • aide - Configura um sistema de detecção de intrusão baseado em mudanças de arquivos.
    1. Exemplo de uso:
      sudo aideinit
    2. Descrição: Inicializa o banco de dados do AIDE, que será usado para comparar o estado atual do sistema de arquivos com uma versão “confiável”, monitorando alterações que possam indicar intrusão.
  • aide –check - Verifica mudanças no sistema de arquivos.
    1. Exemplo de uso:
      sudo aide --check
    2. Descrição: Compara o sistema de arquivos atual com o banco de dados de referência do AIDE, detectando alterações inesperadas e alertando sobre possíveis intrusões.

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

  • sysctl - Configura parâmetros de segurança do kernel.
    1. Exemplo de uso:
    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.
  • /etc/sysctl.conf - Configuração permanente de parâmetros de segurança.
    1. Exemplo de uso:
    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`

  • /etc/ssh/sshd_config - Configura o servidor SSH para aumentar a segurança.
    1. Exemplo de uso:
    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`

  • lynis - Executa uma auditoria de segurança no sistema.
    1. Exemplo de uso:
      sudo lynis audit system
    2. Descrição: Realiza uma auditoria de segurança completa no sistema, identificando vulnerabilidades e fornecendo sugestões de melhorias de segurança, como patches e configurações.
  • lynis show hardening - Exibe recomendações para hardening.
    1. Exemplo de uso:
      sudo lynis show hardening
    2. Descrição: Exibe sugestões específicas de hardening, fornecendo orientações detalhadas sobre como aumentar a segurança do sistema.
wiki/linux/comandos_grupos/cmd_access_control.txt · Last modified: by Wiki Administrator