WINDOWS: O que é uma lista de controle de acesso (ACL)?

Uma lista de controle de acesso (ACL) é um componente fundamental da segurança do computador. As ACLs ajudam a controlar e gerenciar permissões de acesso aos recursos organizacionais. Neste artigo, explicarei detalhadamente o que é uma lista de controle de acesso e como você pode usá-la para proteger o acesso a recursos locais e de rede.

As ACLs são parte integrante das estratégias de segurança cibernética corporativa, auxiliando os administradores de TI não apenas a controlar o acesso a recursos de rede e arquivos, mas também a garantir que apenas entidades autorizadas tenham acesso a recursos específicos. As ACLs também ajudam a manter a confidencialidade, integridade e disponibilidade de dados confidenciais e recursos de rede.

O que é uma lista de controle de acesso?

As listas de controle de acesso são compostas por um conjunto de regras usadas para configurar e controlar o acesso a recursos como arquivos, diretórios ou dispositivos de rede. Essas regras definem quem pode acessar um recurso específico e quais operações eles podem realizar, geralmente definidas como permissão ou negação . 

As ACLs podem ser configuradas em vários níveis, incluindo nível de sistema de arquivos, nível de firewall ou nível de dispositivo, fornecendo controle granular sobre o acesso a recursos. As ACLs normalmente consistem em regras de acesso e permissões para diferentes usuários, grupos ou endereços de rede que definem o acesso aos recursos do sistema. Essa flexibilidade e granularidade permitem que os administradores de sistema apliquem políticas de segurança adaptadas às necessidades organizacionais.

Tipos de listas de controle de acesso

Embora existam várias classificações e tipos de listas de controle de acesso, elas podem ser amplamente classificadas em quatro tipos principais com base no seu mecanismo de funcionamento:

  1. ACL padrão
  2. ACL estendida
  3. ACL dinâmica
  4. e LCA reflexivo.

1. ACL padrão

As ACLs padrão representam a camada fundamental do mecanismo de controle de acesso e são o tipo mais simples e direto de lista de controle de acesso. Eles têm como objetivo principal controlar o acesso com base em endereços IP de origem ou usuários. No entanto, as ACLs padrão não possuem granularidade para distinguir entre diferentes tipos de tráfego IP, como TCP, ICMP, UDP ou aplicativos específicos. Ou um protocolo de Internet como HTTPS.

2. ACL estendida

As ACLs estendidas permitem restrições de acesso mais abrangentes do que as ACLs padrão. As ACLs estendidas podem considerar vários atributos de tráfego de rede, incluindo endereços IP de origem, endereços IP de destino, protocolos de rede, números de porta de origem e destino e até tipos específicos de tráfego.

Esse conjunto expandido de critérios para ACLs estendidas permite decisões de controle de acesso mais granulares. E permitem que os administradores de rede implementem modelos de acesso mais personalizados.

3. ACL dinâmica

As ACLs dinâmicas, também conhecidas como controle de acesso “lock and key”, permitem que as permissões sejam ajustadas dinamicamente com base nas necessidades organizacionais. Ao contrário das ACLs estáticas (padrão e estendidas), que possuem regras fixas definidas até que alguém as altere manualmente, você pode configurar ACLs dinâmicas usando gatilhos que permitem adaptar automaticamente as permissões de acesso conforme necessário.

Por exemplo, você pode configurar uma ACL dinâmica para modificar e adaptar automaticamente o modelo de acesso com base em fatores como:

  • A hora do dia
  • a localização do usuário
  • o tipo de dispositivo que está sendo usado
  • ou a postura de segurança da rede.

4. LCA reflexivo

As listas de controle de acesso (ACLs) reflexivas são um tipo de ACL dinâmica que cria automaticamente regras de acesso temporárias em resposta aos fluxos de tráfego de rede de saída. Eles permitem que você crie regras temporárias dinamicamente, de modo que o firewall ou roteador permita o tráfego de entrada com base no tráfego de saída que corresponda a critérios especificados.

Tipos de ACL baseados em implementação

As ACLs podem ainda ser classificadas como ACLs de rede e ACLs de sistema de arquivos com base em sua aplicação. Observe que cada um desses tipos de implementação de ACL ainda pode ser configurado como padrão, estendido, dinâmico ou reflexivo. 

ACLs de rede

As listas de controle de acesso à rede são usadas para filtrar e controlar o fluxo do tráfego de rede de entrada e saída em uma rede corporativa. Eles podem ajudar a impor políticas de segurança e restrições de acesso, permitindo ou negando o tráfego com base nas regras especificadas.

Você também pode optar por especificar critérios de acesso com base em endereços IP, números de porta de destino e origem, protocolos e muito mais. As ACLs de rede são um mecanismo de segurança comum em quase todas as organizações.

ACLs do sistema de arquivos

As ACLs do sistema de arquivos servem para proteger e controlar o acesso a arquivos e diretórios que contêm dados do sistema operacional ou arquivos do usuário. Eles definem permissões para indivíduos e grupos. E especificam os padrões de acesso para quem pode realizar operações de arquivo, como leitura, gravação e execução. As ACLs do sistema de arquivos ajudam as organizações a ativar o “princípio do menor privilégio” e permitir controles de acesso refinados. 

Utilitários de linha de comando, como icacls.exe no Windows, podem ser usados ​​para mostrar e gerenciar ACLs no sistema de arquivos e no registro.

Como funcionam as ACLs?

O modelo de trabalho principal para qualquer tipo de ACL é baseado em um conjunto de regras que especificam quem pode acessar quais recursos e quais ações eles podem executar. Cada regra ACL normalmente consiste em uma ou mais entradas de controle de acesso (ACEs) que consistem nos nomes dos usuários ou grupos de usuários com permissão ou negação da capacidade de executar operações no recurso.

As ACLs permitem definir privilégios de acesso em uma máscara de acesso que contém uma sequência de bits e normalmente é baseada em alguns critérios criados em parâmetros como endereços IP de origem, endereços IP de destino, protocolos e números de porta.

Quando é feita uma solicitação de acesso a um recurso, a ACL é consultada para determinar se a solicitação deve ser atendida ou negada com base nas regras predefinidas. Se a solicitação corresponder a uma regra permitida, o acesso será concedido; se corresponder a uma regra negada, o acesso será bloqueado. Este processo controla o tráfego de rede e o acesso a arquivos para garantir a segurança, permitindo apenas o acesso autorizado e bloqueando tentativas não autorizadas.

É importante saber e compreender que, embora as ACLs possam ser implementadas e gerenciadas por dispositivos específicos, como roteadores, switches, servidores web, servidores DNS (sistema de nomes de domínio), VPNs e firewalls, elas não estão limitadas a nenhum hardware ou software específico. . Em vez disso, as ACLs são um conceito geral de segurança usado em diferentes ambientes de computação para gerenciar restrições de acesso e garantir a segurança de sistemas e redes.

Benefícios de usar uma ACL?

Na tabela abaixo, listo os muitos benefícios do uso de ACLs para controlar o acesso a arquivos e recursos de rede.

BenefíciosDescrição
SegurançaAs ACLs ajudam a habilitar a segurança dos recursos, controlando o acesso aos recursos
Controle granularAs ACLs permitem que você estabeleça um controle refinado sobre as permissões de acesso
FlexibilidadeAs ACLs oferecem grande flexibilidade na definição e personalização de políticas de acesso para atender às necessidades organizacionais
EscalabilidadeAs ACLs são escaláveis ​​e podem ser acomodadas em vários ambientes de diferentes tamanhos e complexidades. Eles também podem ser configurados para plataformas locais e baseadas em nuvem
Proteção de recursosAs ACLs protegem recursos organizacionais confidenciais e críticos para os negócios contra acesso não autorizado e protegem a integridade dos dados
Auditoria e conformidadeAs ACLs são um meio eficaz de atender aos requisitos de auditoria e conformidade, fornecendo visibilidade e relatórios granulares
Redução da sobrecarga administrativaA natureza configurável das ACLs ajuda a simplificar o gerenciamento de acesso, minimizando a sobrecarga administrativa

Benefícios de usar uma ACL

Quais são os componentes de uma ACL?

Uma lista de controle de acesso consiste em vários componentes que definem coletivamente as permissões de acesso para recursos organizacionais. 

Número sequencial

Um número de sequência é usado para identificar entradas individuais na ACL e também pode ajudar a determinar a ordem em que elas são avaliadas.

Nome da ACL

Isso é usado para armazenar os nomes dos objetos e pode ser usado para referenciar e gerenciar as entradas ACL.

Comente

Este é um campo opcional que permite aos administradores de rede incluir texto descritivo nas ACLs.

Protocolo de rede 

As ACLs podem filtrar o tráfego de rede com base em protocolos específicos, como TCP, UDP, IPX, NetBIOS e outros. Este componente é usado para especificar o protocolo que está sendo empregado na ACL. 

Fonte e destino

Esses campos conterão os endereços IP para determinar a origem e o destino final. 

Registro

Contém detalhes de registro sobre o tráfego de rede de entrada e saída afetado pelas regras da ACL.

Quais são os tipos de controles de acesso implementados nas listas de controle de acesso?

Abaixo está uma tabela que fornece uma comparação abrangente de vários recursos e critérios que podem ajudá-lo a escolher entre os diferentes tipos de controles de acesso.

RecursoControle de acesso obrigatório (MAC)Controle de acesso discricionário (DAC)Controle de acesso baseado em função (RBAC)Controle de acesso baseado em atributos (ABAC)Controle de acesso baseado em regras (RBAC)
Determinação de direitos de acessoPermissões de acesso definidas pelo sistemaPermissões de acesso definidas pelo proprietárioAtribui permissões com base nas funções do usuárioAvalia solicitações de acesso com base em vários atributosAvalia decisões de acesso com base em regras ou políticas predefinidas
Flexibilidade de configuraçãoLimitadoAltoModeradoAltoAlto
Granularidade de acessoAltoBaixoAltoAltoAlto
A critério do proprietárioNãoSimNãoNãoNão
Atribuição de funçãoNão aplicávelNão aplicávelAtribuir usuários a funçõesNão aplicávelNão aplicável
Decisões de acesso dinâmicoNãoNãoNãoSimNão
Propriedade de recursosDeterminado pelo sistemaDeterminado pelo proprietário do recursoNão aplicávelNão aplicávelNão aplicável
Despesas administrativasAltoModeradoModeradoAltoAlto
Casos de usoAmbientes de alta segurançaControle de acesso de uso geralGrandes organizaçõesAmbientes dinâmicosCenários complexos de controle de acesso
Quais são os tipos de controles de acesso implementados nas listas de controle de acesso

Práticas recomendadas de ACL

Abaixo estão as cinco principais práticas recomendadas para configurar e implementar ACLs de rede e de sistema de arquivos.

1. Princípio do menor privilégio

É uma boa prática seguir o princípio do menor privilégio ao configurar o acesso e as permissões para usuários e outras entidades aos recursos da rede.

2. Revisões e auditorias regulares

As ACLs devem ser revisadas e auditadas periodicamente para garantir que o acesso provisionado esteja atualizado e atenda às necessidades organizacionais.

3. Registro e monitoramento

Ativar o registro de eventos e gatilhos relacionados à ACL e monitorá-los regularmente ajuda a identificar e rastrear padrões de acesso suspeitos e/ou não autorizados.

4. Treinamento de funcionários

A educação e o treinamento adequados sobre as melhores práticas a serem usadas para ACLs e políticas de segurança organizacionais são cruciais para evitar contratempos de segurança.

5. Automação

Use a automação sempre que possível para minimizar a possibilidade de erro humano ao configurar, gerenciar e implantar ACLs.

Exemplos e casos de uso de listas de controle de acesso

As ACLs podem ser usadas para configurar e definir diversos requisitos de sistema diferentes, como proteção de recursos, construção de modelos de acesso e muito mais. Vejamos alguns casos de uso e exemplos diferentes de como as ACLs podem ser usadas em um provedor de nuvem como o Microsoft Azure e em um sistema local baseado no Windows . 

Microsoft Azure: casos de uso de ACL

  1. ACLs de conta de armazenamento:  podem ser usadas para permitir o gerenciamento seguro de dados, alocando acesso de leitura, gravação ou exclusão de dados em contêineres de armazenamento do Azure .
  2. ACLs de rede virtual : são usadas para gerenciar o tráfego de rede de entrada e saída de e para Máquinas Virtuais (VM) do Azure.
  3. ACLs do Azure Key Vault : usadas para proteger informações confidenciais, como chaves criptográficas para recursos do Azure Key Vault .

Sistemas Windows: casos de uso de ACL

  1. ACLs do sistema de arquivos : servem para regular o acesso a arquivos e pastas em sistemas Windows.
  2. ACLs do Active Directory : as ACLs do Active Directory configuram direitos de acesso a objetos de diretório, como usuários e grupos.
  3. ACLs de registro : controle o acesso às chaves e valores do Registro do Windows.

Conclusão

As listas de controle de acesso (ACLs) desempenham um papel vital na segurança organizacional, garantindo o controle de acesso regulado aos recursos organizacionais. Eles são usados ​​para gerenciar permissões em vários níveis e ajudam a manter a confidencialidade e integridade dos dados. As ACLs também servem como ferramentas fundamentais para aplicar políticas de acesso e proteger recursos críticos de TI.

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Fonte: petri

WINDOWS: RAMMAP, resolvendo problemas de memória

Há alguns dias, o cliente encaminhou um problema que estava acontecendo há 2 meses e não houve progresso.

Problema

Uma ou duas vezes por mês, o consumo de memória em um servidor chegava a 100%. Para recuperar da situação, tivemos que reiniciar o servidor a partir da consola do Azure. Comecei estudando os incidentes levantados pelos clientes. O servidor estava hospedando um aplicativo crítico com o aplicativo e o banco de dados SQL armazenados no mesmo servidor. Portanto, quando o problema fosse relatado, o ticket seria alternado entre a equipe do sistema operacional Windows e a equipe do banco de dados SQL. Com tudo isso, as equipes perderiam a oportunidade de fazer qualquer análise específica e no tempo limitado tudo o que poderiam confirmar era que não observaram um único processo que estivesse apresentando grande consumo de memória

Solução

Para garantir que teremos tempo suficiente para fazer a análise, pedi à equipe do banco de dados para configurar o trabalho do agente sql que monitorará o uso da memória e enviará um alerta por e-mail quando as utilizações da memória excederem 85% por mais de 10 minutos.

Depois de implementar o monitoramento, fiquei muito confiante de que o problema se devia ao número de processos que ocupam uma quantidade moderada de memória, levando a essa situação. Com tudo resolvido, esperei que o problema ocorresse novamente. Exatamente após 3 dias recebi um e-mail de alerta em minha caixa de entrada mostrando que o consumo de memória excedeu 85%. Imediatamente, a chamada foi configurada com o sistema operacional Windows e a equipe do SQL Server.

E foi isso que vi pela primeira vez no servidor, memória física em 95%

E para minha surpresa total, na guia Processos , não há nenhum processo com consumo de memória anormalmente alto. Além disso, quando somei os valores aproximados de memória utilizada por todos os processos a soma não chegou nem a 50% da memória física. O que está comendo a memória então?

Como de costume, quando descobrimos tudo isso, o uso da memória física atingiu 99% e tivemos que reiniciar o servidor para colocar os serviços online novamente.

precisávamos de uma ferramenta que pudesse analisar profundamente o uso da memória física e me ajudar a descobrir o que estava consumindo RAM neste servidor. Como de costume, recorri às ferramentas internas do sistema para obter ajuda e vi um RAMMP.exe na pasta. Examinei a documentação e percebi que esta é a ferramenta que procuro. Ao mesmo tempo, recebi um e-mail do usuário informando que eles executarão a folha de pagamento na próxima semana e precisam deste servidor nas melhores condições e não podem se permitir nenhum tempo de inatividade.

Como medida de precaução, decidi reiniciar o servidor antes da folha de pagamento e esperar que o problema ocorresse novamente. Felizmente, após a reinicialização preventiva, o ciclo da folha de pagamento correu bem, mas a pressão estava aumentando.

Também comecei a examinar a documentação do RAMMap e todas as diferentes guias e colunas. Os próximos 2 dias correram bem e no terceiro dia, tarde da noite, recebi um e-mail de alerta em minha caixa. Liguei imediatamente para meu administrador do Windows e pedi a ele para executar o RAMMAP.exe no servidor quando a utilização da memória atingir 95%. Assim que executamos o exe, a seguinte janela se abriu e os resultados realmente me surpreenderam

Note que o metarquivo estava consumindo cerca de 11 GB de memória e tudo isso estava na coluna ativa.

O que é metarquivo?

Um metarquivo é uma parte do cache do sistema que contém metadados NTFS e é usado para aumentar o desempenho do sistema de arquivos ao acessar arquivos. Os metadados NTFS incluem os dados da MFT (Master File Table). Para cada arquivo ou pasta acessado pelos usuários, é criado no metarquivo um bloco correspondente de pelo menos 1 KB (o registro de um atributo de cada arquivo é de 1 KB, e cada arquivo possui pelo menos um atributo). Assim, em servidores de arquivos com um grande número de arquivos, o tamanho do metarquivo (cache NTFS) pode exceder várias dezenas de gigabytes.

Como limpar rapidamente o metarquivo?

RAMMap permite limpar rapidamente a memória usada do lixo MFT sem reiniciar o servidor. Para fazer isso, selecione Vazio -> Esvaziar conjunto de trabalho do sistema no menu.

Depois disso, a porcentagem de uso de RAM pela CPU caiu para 26%.

O que causou esse problema?

Esse problema ocorre devido ao cache dinâmico do Windows Server 2003, 2003 R2, 2008 e 2008 R2 de 64 bits.

O gerenciamento de memória nos sistemas operacionais Microsoft Windows usa um algoritmo baseado em demanda. Se algum processo solicitar e usar uma grande quantidade de memória, o tamanho do conjunto de trabalho (o número de páginas de memória na RAM física) do processo aumentará. Se essas solicitações forem contínuas e não verificadas, o conjunto de trabalho do processo crescerá para consumir toda a RAM física.

Automação

O próximo passo foi automatizar todo esse processo de limpeza do conjunto de trabalho do sistema. Para descobrir os comandos, basta clicar em Ajuda →Uso e todos os parâmetros da linha de comando estarão ali.

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Referências

  1. Documentação MS

Tagged Memory Management Sysinternals Solução de problemas do Windows Server

Fonte: digitalitskills