Guia prático: Como criar grupos e aplicar regras de política com SUDO no FreeIPA

Guia prático: Como criar grupos e aplicar regras de política com SUDO no FreeIPA

Este é o terceiro post de uma série de publicações sobre o FreeIPA.

Até aqui vimos em outros posts como subir um servidor IPA e também seus clientes, como criar usuários e adicionar chaves para acesso SSH.

Agora iremos ver como podemos criar grupos de usuários e hosts e também aplicar regras de política utilizando o SUDO.

Para este processo, iremos utilizar o Lab da [Parte #2].

 

Hands On!

Criando grupo de usuários

Os grupos são criados através do painel de administração do IPA. Acessaremos através da página http://ipa.example.local com usuário admin e senha ipa4linux.

Para adicionar um novo grupo de usuários, acesse o painel de administração de grupos, clique em “Identity -> Groups -> User Groups” e então clique em “Add“:

Na tela que irá abrir, preencha com dados sobre o grupo que será criado:

Após ter adicionado o grupo ele irá aparecer na tela de gerenciamento. Para podermos adicionar usuários, clique no grupo.

Nesta tela, clique no botão “ADD“, para adicionar um novo membro ao grupo.

Irá aparecer um menu para selecionar os novos membros, selecione eles clicando na checkbox do lado do nome do usuário. Após ter selecionado os usuários, será possível clicar na seta apontando para a direita para adicionar o usuário ao grupo e então clique em “ADD” para finalizar a adição.

Após ter feitos esses passos, teremos um grupo de usuários no qual poderemos utilizar para aplicar regras através do SUDO.

Criando grupo de servidores

Após termos incluído um servidor como “ipa client” é possível então adicioná-lo dentro de um grupo do IPA.

Para adicionar um novo grupo de usuários, acesse o painel de administração de grupos, clique em “Identity -> Groups -> Host Groups” e então clique em “Add“:

Irá aparecer um menu onde deve ser digitado o nome do grupo.

Quando o grupo for criado, ele irá aparecer na lista de grupos disponíveis, clique nele para adicionar novos servidores ao grupo.

Nesta tela, clique no botão “ADD

Será apresentada uma tela semelhante à tela de adição de usuário aos grupos, mas dessa vez, iremos selecionar os servidores que serão adicionados ao grupo.

Marque a checkbox do servidor que será adicionado no grupo e clique na seta para a direita para adicionar os servidores.

Criando regras SUDO

Após termos criado os grupos, iremos gerenciar nossa política de uma maneira mais prática dentro de nosso IPA. Para podermos adicionar a política de fato, precisamos criar anteriormente os comandos dentro de nosso console.

Para isso, iremos clicar em “Policy -> Sudo -> Sudo Commands -> ADD

Nesta tela que irá aparecer, precisaremos colocar o caminho absoluto para o binário, segue exemplo abaixo.

Obs.: Nós podemos utilizar o apelido “ALL” para especificar todos comandos disponíveis nos servidores.

Agora temos mapeado os comandos que poderão ser utilizados no servidores, podemos criar as regras de fato. Então iremos em “Policy -> Sudo -> Sudo Rules -> ADD” para poder adicionar as regras.

Irá aparecer uma tela solicitando um nome para a regra. Neste caso, iremos clicar em “Add and Edit

Iremos cair na tela de edição da regra. Nesta tela podemos colocar uma descrição para a regra que acabamos de criar, podemos definir opções do sudo, à que a regra se aplicará, aos servidores que serão aplicados e por fim os comandos que serão liberados ou bloqueados. Então, mãos à obra!

Dentro do sub-tópico “Who” há o tópico “User Groups” e no canto direito há o botão “Add

Após ter clicado nessa opção, será apresentada uma tela semelhante à que vimos nos passos anteriores, então, iremos selecionar o grupo que criamos anteriormente na checkbox, clicaremos na seta para a direita e então em ADD.

Iremos agora adicionar o grupo de hosts à nossa regra.

Iremos realizar o mesmo processo, mas dessa vez, selecionando nosso grupo de servidores.

Agora que temos definido onde e por quem os comandos serão executados, precisamos definir quais comandos de fato serão bloqueados ou permitidos. Essas definições são passadas dentro do subtópico “Run Commands” em nosso painel.

Dentro da chave “Allow“, iremos adicionar os comandos que poderão ser rodados dentro dos servidores definidos. Já dentro da chave “Deny“, iremos bloquear determinados comandos

Através das regras definidas acima, nossos usuários poderão executar os comandos:

  • ls
  • mkdir
  • rm
  • systemctl
  • vim

Todos os comandos não definidos na regra acima estarão bloqueados para serem utilizados através do SUDO.

Vamos testar!

Criamos nosso grupo de usuário, nosso grupo de hosts e também nossas regras de SUDO! Então agora é só testar em nossos clientes se as regras estão sendo replicadas.

Vamos acessar remotamente nosso servidor cliente:

 ssh linus.torvalds@172.16.10.21 -i ~/.ssh/id_rsa

E então realizar alguns testes dentro do servidor.

Através do comando sudo -l conseguimos enxergar como está definida a política de comandos para nosso usuário. No retorno que temos, é listado os comando que podemos executar e no fim é negado os demais comando (!ALL).

É isso ai pessoal, paramos por aqui neste post!

Até a próxima!

 

Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:

CURSOSCONSULTORIA

Anterior Aprenda a criar módulos com Terraform na prática
Próxima 4Linux: Continuidade de serviços e cursos durante a pandemia de COVID-19

About author

Vinicius Felix
Vinicius Felix 5 posts

Vinicius Felix da Silva, atua como Analista de Infraestrutura, é entusiasta em tecnologias de software livre e é formado em Redes de Computadores pelo SENAC. Possui a certificação LPI 1.

View all posts by this author →

Você pode gostar também

DevOps

Guia completo: Implantação de MongoDB resiliente no Google Kubernetes Engine

Este guia aborda a implantação de um MongoDB resiliente no GKE, incluindo etapas para configurar um StatefulSet, serviço headless e inicializar o conjunto réplica. Aprenda a utilizar recursos do GKE

Infraestrutura TI

Descubra como otimizar sua experiência de jogos no Linux

Jogar é um excelente passatempo. Pessoas de todos os cantos do mundo se reúnem em grupos, seja para atirar, pilotar, construir, ou simplesmente socializar enquanto salvamos alguns reféns em perigo

DevOps

Curso de Infraestrutura Ágil: Aprenda Automação de Software e Infraestrutura

Olá pessoal, faz um tempinho que criamos um novo curso de infraestrutura ágil! Eu particularmente gosto bastante desta versão porque ela atende várias necessidades dos nossos alunos. Para quem é