Baixe o app para aproveitar ainda mais
Prévia do material em texto
Segurança de usuário, níveis e perfis 1/17 Introdução Bem-vindo ao nosso estudo de Segurança de usuário, níveis e perfis. Este estudo ajudará você a compreender a segurança de usuário, níveis e perfis que delimitam as funções, privilégios e permissões que são atribuídas. A distinção dos termos “segurança” e “proteção” é o início das considerações no ambiente de segurança. O ambiente de segurança Os termos “segurança” e “proteção” são muitas vezes usados como sinônimos. É útil distinguir os problemas gerais envolvidos em certificar-se de que os arquivos não sejam lidos ou modificados por pessoas não autorizadas o que inclui questões técnicas, administrativas, legais e políticas e os mecanismos do sistema operacional específicos usados para fornecer segurança. Para não confundir usa-se o termo segurança para referir ao problema geral. O termo mecanismos de proteção para referir aos mecanismos específicos do sistema operacional usados para proteger as informações no computador. O limite entre os termos não é bem definido. Os problemas são causados por vírus e afins (bugs) no software do computador. Sistemas operacionais e aplicações cada dia mais “pesados” garantem que não faltam defeitos de software (bugs). Quando um defeito de software (bug) é um defeito de software (bug) de segurança denomina-se de vulnerabilidade. Segurança em Sistemas Operacionais https://dex.descomplica.com.br/pos-em-projetos-em-seguranca-de-sistemas-de-informacao/seguranca-em-sistemas-operacionais-pos/seguranca-em-sistemas-operacionais-seguranca-de-usuario-niveis-e-perfis-3fd5dc 2/17 Quando se descobre uma vulnerabilidade no software de um computador, o usuário deste computador, sem perceber, pode alimentar esse software com exatamente os bytes que acionam o bug. Uma entrada que aciona um bug geralmente é chamada de uma exploração (exploit). Explorações bem- sucedidas podem permitir que os invasores assumam o controle total do computador (TANENBAUM, 2016). Ameaças, atacantes e defensores Para saber qual é a natureza do problema examinam-se as ameaças de segurança e os atacantes. Para alcançar a segurança, na visão do defensor, trabalha-se com os mecanismos e modelos de proteção disponíveis. Atacantes podem lançar explorações de modo manual ou automático, por meio de um vírus ou um worm. A diferença entre um vírus e um worm nem sempre é clara. Um vírus precisa de alguma ação do usuário para propagar-se. Por exemplo, o usuário precisa clicar sobre um anexo para infectar-se. Os worms impulsionam a si mesmos. Propagam-se, independentemente do que o usuário venha a fazer. É possível que um usuário instale, sem perceber, o código do atacante. Por exemplo, o atacante pode “reempacotar” um software popular, mas caro (como um jogo ou um editor de texto) e oferecê-lo de graça na internet. A instalação do jogo gratuito também instala automaticamente uma funcionalidade adicional, do tipo que passa o controle do PC e tudo o que está dentro dele para um criminoso cibernético longe dali. Esse tipo de software é conhecido como um “cavalo de Troia” (TANENBAUM, 2016). A segurança de um sistema de informação pode ser decomposta em quatro componentes: confidencialidade, integridade, disponibilidade e responsabilidade -“CIAA” (confidentiality, integrity, availability and accountability). Responsabilidade é a possibilidade de rastrear ações e eventos de volta (no tempo) para usuários, sistemas ou processos que os executaram, para estabelecer a responsabilidade por ações ou omissões. Um sistema pode ser considerado não seguro se não fornecer responsabilidade, porque é impossível saber quem é o responsável e o que aconteceu ou não no sistema sem essa proteção. A responsabilidade no contexto de sistemas de informação é fornecida principalmente por logs e trilha de auditoria (SUN, 2013). Os sistemas estão sob constante ameaça de atacantes. Um atacante pode farejar o tráfego em uma rede de área local e violar a confidencialidade da informação especialmente se o protocolo de comunicação não usar encriptação. Um intruso pode atacar um sistema de banco de dados e remover ou modificar alguns registros, violando sua integridade. Um ataque de recusa de serviços bem aplicado pode destruir a disponibilidade de um ou mais sistemas de computadores. A Figura 1 ilustra a defesa em profundidade com uma abordagem em camadas e soluções típicas adotadas. Figura 1 - Defesa em profundidade com uma abordagem em camada <https://medium.com/@rezaduty/os-security-892cfae5e930> Os meios de comunicação populares tendem a usar o termo genérico “hacker” exclusivamente para os chapéus pretos (bandidos). Para os especialistas em computadores, “hacker” é um termo de honra reservado para grandes programadores. Embora alguns atuem fora da lei, a maioria não o faz. A mídia entende errado essa questão. Em consideração aos verdadeiros hackers usa-se o termo no sentido original e para as pessoas que tentam invadir sistemas que não lhes dizem respeito denomina-se de crackers ou chapéus pretos (TANENBAUM, 2016). Usuários, grupo de usuários e objetos Uma distinção importante entre o sistema operacional e o software normal (modo usuário) é que o usuário é livre para trocar e instalar aplicativos. O usuário não é livre para escrever seu próprio tratador de interrupção de relógio, por exemplo. Faz parte do sistema operacional e é protegido por hardware contra tentativas dos usuários de modificá-lo. Em muitos sistemas há programas que operam em modo usuário, mas ajudam o sistema operacional ou realizam funções privilegiadas. Por exemplo, há programas que permitem aos usuários trocarem suas senhas. Não faz parte do sistema operacional e não opera em modo núcleo, mas realiza uma função sensível e precisa ser protegido de uma maneira especial. Um computador (ou uma rede) com mais de um usuário a necessidade de gerenciar e proteger a memória, dispositivos de E/S e outros recursos é maior os 4/17 5/17 usuários podem interferir um com o outro. Os usuários também precisam compartilhar não apenas o hardware, mas a informação (arquivos, bancos de dados etc.). O sistema operacional tem a função de manter um controle sobre quais programas estão usando qual recurso, conceder recursos requisitados, contabilizar o seu uso, assim como mediar requisições conflitantes de diferentes programas e usuários. O gerenciamento de recursos inclui a multiplexação (compartilhamento) de recursos de duas maneiras diferentes: no tempo e no espaço. No tempo, diferentes programas ou usuários se revezam usando-o. Primeiro, um deles usa o recurso, depois outro e assim por diante. Por exemplo, com apenas uma CPU e múltiplos programas que querem ser executados nela, o sistema operacional primeiro aloca a CPU para um programa, depois, após ter sido executado por tempo suficiente, outro programa passa a fazer uso da CPU, depois outro, e volta o primeiro de novo. Determinar como o recurso é multiplexado no tempo — quem vai em seguida e por quanto tempo — é tarefa do sistema operacional. Na multiplexação de espaço, em vez de os clientes se revezarem, cada um tem direito a uma parte do recurso. Por exemplo, a memória principal é normalmente dividida entre vários programas sendo executados, de modo que cada um pode ser residente ao mesmo tempo (a fim de se revezar usando a CPU). Se há memória suficiente para manter múltiplos programas, é mais eficiente manter vários programas na memória ao mesmo tempo do que dar a um deles toda memória, especialmente se o programa precisa apenas de uma pequena fração do total. Isso envolve questões de justiça, proteção etc. e cabe ao sistema operacional solucioná-las. 6/17 Outro recurso que é multiplexado no espaço é o disco. Em muitos sistemas um único disco pode conter arquivos de muitos usuários ao mesmo tempo. Alocar espaço de disco e controlar quem está usando quais blocos do disco é uma tarefa típica do sistema operacional. Os usuários podem ser individuais ou pertencerem a um grupo. Muitos sistemas dão suporte aoconceito de um grupo de usuários. Aos grupos de usuários são atribuídos nomes e podem ser tratados pelo sistema. Duas variações na semântica dos grupos são possíveis: em alguns sistemas, cada processo tem uma ID (identificação) de usuário (UID) e uma ID de grupo (GID). Nenhum programador quer lidar com discos em nível de hardware. Em vez disso, um software, chamado driver de disco, lida com o hardware e fornece uma interface para ler e escrever blocos de dados, sem entrar nos detalhes. Os sistemas operacionais contêm muitos drivers para controlar dispositivos de E/S. Ainda assim esse nível é baixo demais para a maioria dos aplicativos. Para facilitar isso os sistemas operacionais fornecem mais um nível de abstração para se utilizar os discos: arquivos. Com essa abstração, os programas podem criar, escrever e ler arquivos, sem ter de lidar com os detalhes complexos de como o hardware funciona. Essa abstração é a chave para gerenciar toda essa complexidade. Boas abstrações transformam uma tarefa praticamente impossível em duas tarefas gerenciáveis. A primeira é definir e implementar as abstrações. A segunda é utilizá-las para solucionar o problema. Uma abstração que todo usuário de computadores compreende é o arquivo. Trata-se de um fragmento de informação útil, como uma foto digital, uma mensagem de e-mail, música ou página da web salvas. É muito mais fácil lidar com fotos, e-mails, músicas e páginas da web que com os detalhes dos discos. A função dos sistemas operacionais é criar boas abstrações e então implementar e gerenciar os objetos abstratos criados (TANENBAUM, 2016). A Figura 2 ilustra o fortalecimento do Windows Server que aplica a defesa em profundidade nas camadas de segurança da Microsoft e as soluções adotadas. Figura 2 - Fortalecimento do Windows Server - Defesa em profundidade <https://medium.com/@rezaduty/os-security-892cfae5e930> Os modelos de controle de acesso lógico são as bases abstratas sobre as quais mecanismos e sistemas de controle de acesso são construídos. O controle de acesso está entre os mais importantes conceitos de segurança. Os modelos de controle de acesso definem como os computadores tratam o acesso dos requerentes (como usuários, outros computadores, aplicativos e assim por diante) aos objetos (como computadores, arquivos, diretórios, aplicativos, servidores e dispositivos). Existem três principais modelos de controle de acesso: Controle de acesso discricionário Controle de acesso obrigatório Controle de acesso baseado em função (role, papel) O modelo de controle de acesso discricionário (DAC) o proprietário (criador) das informações (arquivo ou diretório) tem o poder de decidir e definir as restrições de controle de acesso ao objeto em questão - que pode ser, por exemplo, um arquivo ou diretório. A vantagem do DAC é a sua flexibilidade: os usuários podem decidir quem pode acessar as informações e o que podem fazer com tais informações - ler, gravar, excluir, renomear, executar e assim por diante. Ao mesmo tempo, esta flexibilidade também é uma desvantagem do DAC porque os usuários podem tomar decisões erradas em relação às restrições de controle de acesso ou maliciosamente estabelecer permissões inseguras ou inapropriadas (SUN, 2013). A configuração de usuários Vamos utilizar o produto da Microsoft como ilustração. Outras soluções têm características semelhantes. Contas do Active Directory Windows Server 2016 Os sistemas operacionais Windows Server são instalados com contas locais padrão (default). Pode criar contas de usuário para atender aos requisitos de uma organização. Este tópico é para o profissional de TI e descreve as contas locais padrão do Windows Server que são armazenadas localmente no controlador de domínio e são usadas no Active Directory. Não descreve contas de usuário local padrão para um membro ou servidor standalone ou para um cliente Windows. Contas locais padrão no Active Directory (AD - Windows) 9/17 Contas locais padrão são contas criadas automaticamente quando um controlador de domínio do Windows Server é instalado e o domínio é criado. Essas contas locais padrão têm equivalentes no Active Directory. Essas contas também têm acesso em todo o domínio e são completamente separadas das contas de usuário locais padrão para um membro ou servidor standalone. Pode-se atribuir direitos e permissões a contas locais padrão em um determinado controlador de domínio e somente nesse controlador de domínio. Essas contas são locais para o domínio. Depois que as contas locais padrão são instaladas, são armazenadas no contêiner Usuários em Computadores e Usuários do Active Directory. É uma melhor prática manter as contas locais padrão no contêiner Usuário e não tentar mover essas contas, por exemplo, para uma unidade organizacional (UO) diferente. As contas locais padrão no contêiner Usuários incluem: Administrador, Convidado e KRBTGT (para tíquetes Kerberos). A conta HelpAssistant é instalada quando uma sessão de Assistência Remota é estabelecida. A seguir descrevem-se as contas locais padrão e seu uso no Active Directory. Essencialmente as contas locais padrão fazem o seguinte: Deixa o domínio representar, identificar e autenticar a identidade do usuário atribuído à conta usando credenciais exclusivas (nome de usuário e senha). É uma melhor prática atribuir cada usuário a uma única conta para garantir a segurança máxima. Vários usuários não têm permissão para compartilhar uma conta. Uma conta de usuário permite que um usuário entre em computadores, redes e domínios com um identificador exclusivo que possa ser autenticado pelo computador, rede ou domínio. Autorizar (conceder ou negar) acesso aos recursos. Depois que as credenciais de um usuário são autenticadas, o usuário é autorizado a 10/17 acessar os recursos de rede e domínio com base nos direitos explicitamente atribuídos pelo usuário no recurso. Audita as ações realizadas em uma conta de usuário. No Active Directory, contas locais padrão são usadas pelos administradores para gerenciar servidores de domínio e membros diretamente e de estações de trabalho administrativas dedicadas. As contas do Active Directory fornecem acesso aos recursos de rede. Contas de usuário e contas de computador do Active Directory podem representar uma entidade física, como um computador ou uma pessoa, ou atuar como contas de serviço dedicadas para alguns aplicativos. Cada conta local padrão é atribuída automaticamente a um grupo de segurança pré-configurado com os direitos e permissões apropriados para executar tarefas específicas. Os grupos de segurança do Active Directory coletam contas de usuário, contas de computador e outros grupos em unidades gerenciáveis (MICROSOFT, 2019). Níveis dos usuários Conta de administrador A conta de administrador é uma conta padrão usada em todas as versões do sistema operacional Windows em todos os computadores e dispositivos. A conta administrador é usada pelo administrador do sistema para tarefas que exigem credenciais administrativas. Essa conta não pode ser excluída ou bloqueada, mas a conta pode ser renomeada ou desabilitada. 11/17 Conta de convidado A conta de convidado é uma conta local padrão que tem acesso limitado ao computador e está desabilitada por padrão. Por padrão, a senha da conta de convidado é deixada em branco. Uma senha em branco permite que a conta de convidado seja acessada sem exigir que o usuário insira uma senha. Conta HelpAssistant (instalada com uma sessão de Assistência Remota) A conta HelpAssistant é uma conta local padrão que é habilitada quando uma sessão de Assistência Remota é executada. Essa conta é desabilitada automaticamente quando nenhuma solicitação de Assistência Remota está pendente. Conta KRBTGT A conta KRBTGT é uma conta padrão local que atua como uma conta de serviço para o serviço KDC (Central de Distribuição de Chaves). Essa conta não pode ser excluída e o nome da conta não pode ser alterado. A conta KRBTGT não pode ser habilitada no Active Directory. Configurações para contaslocais padrão no Active Directory Cada conta local padrão no Active Directory tem várias configurações de conta que se pode usar para configurar senha e informações específicas de segurança (MICROSOFT, 2019). Perfis de usuários Gerenciar contas locais padrão no Active Directory Depois que as contas locais padrão são instaladas, essas contas residem no contêiner Usuários em Computadores e Usuários do Active Directory. Contas locais padrão podem ser criadas, desabilitadas, redefinidas e excluídas usando o Console de Gerenciamento da Microsoft (MMC) do Active Directory e usando ferramentas de linha de comando. Restringir e proteger contas de domínio confidenciais Restringir e proteger contas de domínio em seu ambiente de domínio exige que se adote e implemente a seguinte abordagem de práticas recomendadas: Limite estritamente a associação aos grupos Administradores, Administradores de Domínio e Administradores corporativos. Controle rigorosamente onde e como as contas de domínio são usadas. Contas de membros nos grupos Administradores, Administradores de Domínio e Administradores corporativos em um domínio ou floresta são alvos de alto valor para usuários mal-intencionados. 13/17 É uma prática limitar estritamente a associação a esses grupos de administradores ao menor número de contas para limitar qualquer exposição. Restringir a associação nesses grupos reduz a possibilidade de um administrador usar essas credenciais indevidamente e criar uma vulnerabilidade que os usuários mal-intencionados podem explorar. Separar contas de administrador de contas de usuário Restrinja contas de Administradores de Domínio e outras contas confidenciais para impedir que sejam usadas para entrar em servidores de confiança mais baixos e estações de trabalho. Restringir e proteger contas de administrador segregando contas de administrador de contas de usuário padrão, separando as tarefas administrativas de outras tarefas e limitando o uso dessas contas. Crie contas dedicadas para funcionários administrativos que exigem credenciais de administrador para executar tarefas administrativas específicas e crie contas separadas para outras tarefas de usuário padrão, de acordo com as seguintes diretrizes: - Conta privilegiada. Alocar contas de administrador para executar somente as seguintes funções administrativas: Mínimo. Crie contas separadas para administradores de domínio, administradores corporativos ou o equivalente com direitos de administrador apropriados no domínio ou na floresta. Use contas que foram concedidas a direitos de administrador confidenciais apenas para administrar dados de domínio e controladores de domínio. Melhor. Crie contas separadas para administradores que tenham direitos administrativos reduzidos, como contas para administradores de estação de trabalho e contas com direitos de usuário sobre unidades organizacionais (OUs) designadas do Active Directory. Ideal. Crie várias contas separadas para um administrador que tenha uma variedade de responsabilidades de trabalho que exigem níveis de confiança diferentes. Configurar cada conta de administrador com direitos de usuário significativamente diferentes, como para administração de estação de trabalho, administração de servidor e administração de domínio, para permitir que o administrador entre em determinadas estações de trabalho, servidores e controladores de domínio com base estritamente em suas responsabilidades de trabalho. - Conta de usuário padrão. Concede direitos de usuário padrão para tarefas de usuário padrão, como email, navegação na Web e uso de aplicativos de negócios (LOB, line-of-business). Essas contas não devem ter direitos de administrador. Importante: Certifique-se de que contas de administrador confidenciais não podem acessar emails ou navegar na Internet. Criar hosts de estação de trabalho dedicados sem acesso à Internet e email Os administradores precisam gerenciar responsabilidades de trabalho que exigem direitos confidenciais de administrador a partir de uma estação de trabalho dedicada porque não têm acesso físico fácil aos servidores. Uma estação de trabalho que está conectada à Internet e tem acesso de navegação na Web e email é exposta regularmente a comprometimentos por meio de phishing, download e outros tipos de ataques à Internet. Devido a essas ameaças, é uma melhor prática colocar esses administradores para usarem estações de trabalho dedicadas apenas a tarefas administrativas e não fornecer acesso à Internet, incluindo email e navegação na Web (MICROSOFT, 2019). A Figura 1 ilustra um exemplo de uma estrutura hierárquica do Active Directory. Figura 3 – Exemplo de uma estrutura hierárquica do Active Directory <https://conceptdraw.com/a195c3/preview> Atividade Extra Abra seu navegador em https://www.youtube.com/watch?v=oS4UWgHtRDw e assista a palestra The Design of a Reliable and Secure Operating System do 15/17 https://www.youtube.com/watch?v=oS4UWgHtRDw Prof. Tanenbaum. Observe as conclusões que apresentou em 2015 e reflita se tais conclusões são ainda válidas. Figura 4 – The Design of a Reliable and Secure Operating System by Andrew Tanenbaum Referências Bibliográficas MICROSOFT. Contas do Active Directory, 2019. Disponível em: <https://docs.microsoft.com/pt-br/windows/security/identity-protection/access- control/active-directory-accounts>. Acesso em 27 de abr. 2021. SUN Certified Security Administrator for the Solaris Operating System, General Security Concepts, Chapter 1: Fundamental Security Concepts, 2013. Disponível em <https://cryptome.org/2013/09/infosecurity-cert.pdf>. Acesso em 30 de abr. 2021. https://docs.%20microsoft.com/pt-br/windows/security/identity-protection/access-control/active-directory-accounts https://cryptome.org/2013/09/infosecurity-cert.pdf 17/17 TANENBAUM, A. S.; BOS, H. Sistemas Operacionais Modernos, 4ª. ed. – São Paulo: Pearson Education do Brasil, 2016.
Compartilhar