en

Controles de acesso, permissões e privilégios de usuários

19 January 2016
By Dave Piscitello

null

Em minha última publicação, O que é autorização e controle de acesso?, expliquei que usamos a autenticação para verificar a identidade (comprovar que uma pessoa é quem diz ser) e também para permitir que uma política de autorização defina o que sua identidade pode "ver e fazer". Em seguida, implementados essas políticas de autorização usando medidas de segurança para conceder ou negar o acesso a recursos que queremos controlar ou proteger.

As medidas que usamos para implementar políticas de autorização se chamam controles de acesso, permissões ou privilégios de usuários. O controle de acesso costuma ser usado na documentação de firewall ou roteador do sistema operacional Windows, mas as permissões ou privilégios de usuários são mais comuns em documentação Linux. Você pode encontrar vários tópicos de discussão sobre as diferenças entre esses termos, mas por enquanto vamos abordar esses termos como se fossem equivalentes. Use o termo com o qual você se sente mais à vontade ou o que você veja com mais frequência nos textos que lê.

Ao definir uma política de autorização, você define usuários ou conjuntos de usuários, aplicativos ou processos que podem realizar ações sobre um recurso, como um banco de dados. Essas políticas podem ser bastante específicas. Você pode controlar as ações que podem ser lidas, criadas, modificadas (gravadas) e excluídas em entradas individuais de um banco de dados ou até mesmo em elementos individuais (campos).

Exemplo de política de autorização

Imagine um banco de dados de registro de uma loja, em que cada registro contém nome, endereço, telefone e dados do cartão de crédito. A equipe de TI dessa loja define uma política de autorização que organiza o acesso dos funcionários em três classes de privilégios:

  1. Os administradores do banco de dados, João e Tiago, podem realizar qualquer ação nos registros de todos os clientes do bando de dados. Por exemplo, eles podem criar um registro, modificar qualquer elemento e apagar qualquer registro.

    Esse é um exemplo de acesso total.

  2. Os funcionários de contabilidade, Carolina e Beto, podem ler qualquer campo dos registros de todos os clientes, inclusive os dados do cartão de crédito, mas não podem criar, modificar ou apagar registros nem campos.

    Aqui, permitimos o acesso a todos os recursos, mas negamos a capacidade de criar, alterar ou apagar registros ou campos.

  3. Os funcionários de marketing, Arnaldo e Cristiano, podem ler os registros de todos os clientes, mas não os dados do cartão de crédito. Eles também não podem criar, modificar ou apagar registros ou campos.

    Aqui, permitimos o acesso a todos os registros, mas negamos o acesso a dados específicos dentro de cada um.

Esses exemplos ilustram um conceito de segurança importante, o princípio de menor privilégio (POLP), em que uma organização concede aos usuários apenas os privilégios necessários para fazer seu trabalho. Por exemplo, nossa empresa fictícia decidiu que a equipe de marketing não precisa saber os dados dos cartões de crédito. Nossos exemplos também ilustram o controle de acesso baseado em função (RBAC). Nos exemplos, a empresa definiu privilégios com base no conjunto de funções (administrador de banco de dados, contabilidade, marketing...)

Preparando o terreno

Considere os controles de acesso de nosso exemplo e pense: "se você fosse um invasor e quisesse roubar informações que pudesse usar para fraudar cartões de crédito, que contas de usuário gostaria de acessar?"

Na próxima publicação, vamos ver como os invasores tentam conseguir acesso e o escalonamento de privilégios.

Authors

Dave Piscitello