wiki:linux:comandos_grupos:cmd_access_control
Table of Contents
Nível Básico
1. Gerenciamento de Permissões de Arquivos com `chmod`
- chmod - Modifica permissões de leitura, escrita e execução.
- Exemplo de uso:
chmod 755 arquivo.txt
- 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.
- Exemplo de uso:
sudo chown usuario:grupo arquivo.txt
- Descrição: Define
usuariocomo o proprietário egrupocomo o grupo do arquivoarquivo.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.
- Exemplo de uso:
sudo passwd -l usuario
- 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.
- Exemplo de uso:
umask 022 - 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.
- Exemplo de uso:
sudo chage -M 90 usuario
- Descrição: Configura para que a senha do usuário
usuarioexpire 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.
- Exemplo de uso:
chage -l usuario - 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.
- Exemplo de uso:
sudo visudo - Descrição: Abre o arquivo
/etc/sudoerspara 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.
- Exemplo de uso:
usuario ALL=(ALL) NOPASSWD: /usr/sbin/service
- Descrição: Configura o usuário
usuariopara que possa executar o comandoservicesem precisar de senha.
3. Criptografia Simples com `gpg`
- gpg - Criptografa um arquivo com uma chave simétrica.
- Exemplo de uso:
gpg -c arquivo.txt - Descrição: Criptografa o arquivo
arquivo.txtusando uma senha, gerando um arquivoarquivo.txt.gpg. Para descriptografá-lo, o comandogpg arquivo.txt.gpgpode ser usado.
4. Auditoria de Acessos com `last` e `lastlog`
- last - Exibe os últimos logins no sistema.
- Exemplo de uso:
last - 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.
- Exemplo de uso:
lastlog
- 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.
- Exemplo de uso:
sudo setfacl -m u:usuario:rwx /diretorio
- Descrição: Define permissões detalhadas de leitura, escrita e execução para o usuário
usuariono 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.
- Exemplo de uso:
getfacl /diretorio - 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.
- Exemplo de uso:
sudo faillock --user usuario --reset
- 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.
- Exemplo de uso:
sudo pam_tally2 --user usuario --reset
- Descrição: Exibe o número de tentativas de login falhas para o usuário
usuarioe 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.
- Exemplo de uso:
sudo aa-status - 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.
- Exemplo de uso:
sudo aa-enforce /etc/apparmor.d/usr.bin.nginx
- 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.
- Exemplo de uso:
openssl enc -aes-256-cbc -salt -in arquivo.txt -out arquivo.txt.enc
- Descrição: Criptografa o arquivo
arquivo.txtcom o algoritmo AES-256, gerando o arquivo criptografadoarquivo.txt.enc. O uso de-saltgarante que a criptografia seja mais segura.
- openssl dgst - Gera checksums criptográficos para verificar integridade.
- Exemplo de uso:
openssl dgst -sha256 arquivo.txt - 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.
- Exemplo de uso:
sudo auditctl -w /etc/passwd -p war -k passwd_monitor
- 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 chavepasswd_monitor.
- ausearch - Pesquisa eventos de auditoria no sistema.
- Exemplo de uso:
sudo ausearch -k passwd_monitor
- Descrição: Pesquisa eventos de auditoria relacionados ao arquivo
/etc/passwdusando a chavepasswd_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.
- Exemplo de uso:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 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.
- Exemplo de uso:
sudo iptables-save > /etc/iptables/rules.v4
- 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.
- Exemplo de uso:
getenforce
- Descrição: Exibe o status atual do SELinux (
Enforcing,PermissiveouDisabled), indicando se o SELinux está aplicando as políticas de segurança.
- setenforce - Altera o status do SELinux em tempo real.
- Exemplo de uso:
sudo setenforce 1
- 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.
- Exemplo de uso:
sudo semanage port -a -t ssh_port_t -p tcp 2222
- 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.
- Exemplo de uso:
sudo ausearch -m avc -ts recent | audit2why
- 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.
- Exemplo de uso:
sudo audit2allow -M meu_modulo < /var/log/audit/audit.log
- 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.
- 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
- Descrição: Configura regras de firewall avançadas com
nftables, permitindo o tráfego na porta 22 (SSH).nftablessubstituiiptablesem muitas distribuições modernas para controle de tráfego de rede.
- nft list ruleset - Lista as regras de firewall ativas.
- Exemplo de uso:
sudo nft list ruleset - 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.
- Exemplo de uso:
sudo aideinit - 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.
- Exemplo de uso:
sudo aide --check
- 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.
- Exemplo de uso:
sudo sysctl -w net.ipv4.conf.all.rp_filter=1 sudo sysctl -w kernel.randomize_va_space=2
- Descrição: Ajusta parâmetros de segurança, como
rp_filterpara evitar spoofing de IPs erandomize_va_spacepara 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.
- Exemplo de uso:
sudo nano /etc/sysctl.conf # Adicione as linhas abaixo net.ipv4.conf.all.rp_filter=1 kernel.randomize_va_space=2
- 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.
- Exemplo de uso:
sudo nano /etc/ssh/sshd_config # Modifique as linhas abaixo: PermitRootLogin no PasswordAuthentication no AllowUsers usuario1 usuario2
- 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.
- Exemplo de uso:
sudo lynis audit system - 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.
- Exemplo de uso:
sudo lynis show hardening - 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
