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:
About author
Você pode gostar também
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 é
Como implementar a funcionalidade de autocompletar com Elasticsearch
A função de autocompletar presente na maioria das plataformas que utilizamos no dia a dia, como serviços de busca, plataformas de streaming e lojas online, já se provou uma excelente
Como monitorar seu ambiente MongoDB com Prometheus e Grafana
O MongoDB é uma das soluções de NoSQL mais utilizadas na atualidade. Ele é um tipo de banco baseado em documentos assim como o AWS DocumentDB, Couchbase Server e Apache