Lista de Controlo de Acesso: definição, funcionalidade e finalidade
As Access Control Lists (ACL) ou listas de controlo de acesso regulam o acesso de processos e utilizadores a determinados objetos do computador, como ficheiros ou registos. Desta forma, garante-se que apenas os utilizadores autorizados possam aceder a determinados recursos.
O que é exatamente uma Lista de Controlo de Acesso?
As Listas de Controlo de Acesso (Access Control Lists) são, tal como o Controlo de Acesso Obrigatório (Mandatory Access Control) ou o Controlo de Acesso Baseado em Funções (Role Based Access Control), uma forma de controlo de acesso. Basicamente, as ACL são conjuntos de regras que utilizam, por exemplo, sistemas operativos ou programas de aplicação para gerir o acesso a determinadas partes do programa ou dos recursos. As ACL são, portanto, uma medida para gerir os direitos sobre ficheiros ou outros recursos num computador.
Pode pensar nessas Listas de Controlo de Acesso como uma espécie de tabela que regista, por recurso, quais os utilizadores que têm que tipo de acesso ao recurso. Os direitos de acesso mais comuns são:
- direito de ler um ficheiro (read)
- direito de escrever um ficheiro (write)
- direito de executar um ficheiro (execute)
Essas entradas dentro de uma ACL também são chamadas de Entidades de Controlo de Acesso (ACE).
As Listas de Controlo de Acesso funcionam segundo um princípio muito simples: se um determinado utilizador deseja aceder a um recurso, verifica-se a ACL do recurso correspondente para ver se esse acesso é permitido (em outras palavras, se existe um ACE para o utilizador). Se for o caso, o acesso é concedido; caso contrário, é negado.
Tipos de ACL e utilizações
Existem diferentes tipos de listas de controlo de acesso, pelo que as suas possíveis utilizações também são muito variadas. Em termos gerais, podem distinguir-se dois tipos diferentes de ACL: listas ACL de rede e de sistema de ficheiros.
ACL de rede
As ACLs de rede são listas de controlo de acesso em forma de tabela que podem ser utilizadas como uma espécie de firewall para o tráfego de dados de entrada, por exemplo, dentro dos routers. Uma ACL de rede deste tipo determina quais os pacotes que podem entrar na rede e quais os que não podem. Desta forma, o acesso à rede pode ser controlado com a ajuda de uma ACL.
No âmbito das ACLs de rede, continua a ser útil diferenciar entre listas de controlo de acesso normais e alargadas: as ACLs convencionais têm apenas em conta o endereço IP de origem e não distinguem entre diferentes protocolos de rede, como TCP, UDP ou HTTP. Permitem ou negam o acesso a toda a rede. As ACLs estendidas, por outro lado, consideram adicionalmente o endereço IP de destino e filtram os pacotes de forma muito mais diferenciada, por exemplo, com base no protocolo de rede ou na porta de origem e destino de um pacote.
ACL do sistema de ficheiros
Por outro lado, as ACLs do sistema de ficheiros controlam o acesso a ficheiros e recursos no sistema operativo. As listas são utilizadas dentro dos sistemas operativos, por exemplo, para regular e gerir o acesso de utilizadores individuais a ficheiros específicos.
Estrutura das listas de controlo de acesso
Cada lista de controlo de acesso é composta essencialmente por várias Entidades de Controlo de Acesso (ACE). Estas entradas formam o conjunto de regras da Lista de Controlo de Acesso e são, por sua vez, constituídas por componentes individuais. Os componentes envolvidos dependem do tipo de ACL. Embora todas as ACE contenham um ID, bem como informações sobre o direito de acesso, elas diferem parcialmente entre si. Por exemplo, as ACLs de rede também contêm endereços IP, informações sobre o protocolo ou números de porta, enquanto as ACLs do sistema de ficheiros armazenam informações sobre grupos de utilizadores.
Implementação de ACL
A implementação das listas de controlo de acesso também difere consoante se trate de uma ACL de rede ou de um sistema de ficheiros. Enquanto estas últimas podem ser configuradas diretamente através de comandos de terminal, as ACL de rede são implementadas em componentes de rede, como os routers.
A implementação concreta de uma ACL depende não só do tipo de ACL (ACL de rede ou ACL de sistema de ficheiros), mas também do sistema operativo e do caso de utilização concreto.
Vantagens
As ACL oferecem várias vantagens. Especificamente, as ACL do sistema de ficheiros permitem aos utilizadores configurar o seu computador para que apenas utilizadores autorizados possam aceder a determinados recursos. As listas de controlo de acesso complementam, por exemplo, a gestão de direitos integrada no Linux com uma proteção de acesso mais detalhada e aumentam a segurança do sistema.
No âmbito das ACLs de rede, as listas de controlo de acesso são uma alternativa relativamente simples a outras implementações de firewall. Além disso, permitem controlar o tráfego de dados entre redes e, assim, aumentar não só a segurança da rede, mas também o seu desempenho.