Guia passo a passo para configurar o FreeIPA em CentOS e Ubuntu

Guia passo a passo para configurar o FreeIPA em CentOS e Ubuntu

Este post é o Segundo de uma série de posts sobre o FreeIPA.

Se ainda não leu a Parte #1, onde instalamos e configuramos o servidor do FreeIPA , é só clicar aqui.

Preparando nosso Lab

Utilizaremos o mesmo Vagrantfile da [Parte #1] e faremos algumas modificações para subir mais dois servidores, um CentOS/7 e um Ubuntu/Bionic64

Nossa estrutura de diretórios será:

.
└── freeipa
    └── Vagrantfile

Vamos editar nosso vagrant file para que possamos provisionar mais dois servers

Vagrant.configure("2") do |config|
  config.vm.define "ipaserver" do |server|
    server.vm.box = "centos/7"
    server.vm.network "private_network", ip: "172.16.10.10"
  end
  config.vm.define "ipaclient1" do |server| 
   server.vm.box = "centos/7" 
   server.vm.network "private_network", ip: "172.16.10.20" 
  end 
  config.vm.define "ipaclient2" do |server| 
   server.vm.box = "ubuntu/bionic64" 
   server.vm.network "private_network", ip: "172.16.10.21" 
  end 
  config.vm.provider :virtualbox do |vb|
    vb.memory = "1024"
  end
end

Executaremos o seguinte comando para que as máquinas sejam criadas

$ vagrant up

Agora iremos separar a instalação e configuração para as distribuições CentOS e Ubuntu,

CentOS 7

Primeiramente vamos conectar a máquina CentOS,  alterar o hostname e configurar o arquivo hosts através dos comandos:

$ vagrant ssh ipaclient1
[vagrant@localhost ~]$ sudo hostnamectl set-hostname ipaclient1.example.local
[vagrant@localhost ~]$ sudo su -
[root@ipaclient1 ~]# echo -e "172.16.10.10\tipa.example.local\t ipa\n172.16.10.20\tipaclient1.example.local\t ipaclient1" >> /etc/hosts

Agora vamos instalar o repositório epel-release , atualizar os pacotes e fazer o download do client do freeipa através dos comandos:

 
[root@ipaclient1 ~]# yum install epel-release -y
[root@ipaclient1 ~]# yum update -y
[root@ipaclient1 ~]# yum install ipa-client -y

Após os procedimentos anteriores, agora estamos prontos para configurar a autenticação do client

 
[root@ipaclient1 ~]# ipa-client-install --server=ipa.example.local --domain=example.local --mkhomedir --force-ntpd

Serão feitas algumas perguntas na seguinte ordem, utilizaremos as respostas em negrito.

  1. Proceed with fixed values and no DNS discovery? [no]: yes
  2. Continue to configure the system with these values? [no]: yes
  3. User authorized to enroll computers: admin
  4. Password for admin@EXAMPLE.LOCAL:  ipa4linux

Agora iremos prosseguir para a instalação do client no ubuntu.

Ubuntu 18.04

Voltando a máquina local vamos conectar na máquina ubuntu,  alterar o hostname e configurar o arquivo hosts através dos comandos:

$ vagrant ssh ipaclient2
vagrant@ubuntu-bionic:~$ sudo hostnamectl set-hostname ipaclient2.example.local
vagrant@ubuntu-bionic:~$ sudo su -
root@ipaclient2:~# echo -e "172.16.10.10\tipa.example.local\t ipa\n172.16.10.21\tipaclient2.example.local\t ipaclient2" >> /etc/hosts

Agora vamos atualizar o repositório, atualizar os pacotes e fazer o download do client do freeipa através dos comandos:

root@ipaclient2:~# apt update
root@ipaclient2:~# apt upgrade -y
root@ipaclient2:~# apt install freeipa-client -y

Serão feitas algumas perguntas, utilizaremos as respostas em negrito.

Default Kerberos version 5 realm: EXAMPLE.LOCAL
Kerberos servers for your realm: ipa.example.local
Administrative server for your Kerberos realm: ipa.example.local

Após os procedimentos anteriores, agora estamos prontos para configurar a autenticação do client

 
root@ipaclient2:~# ipa-client-install --server=ipa.example.local --domain=example.local --mkhomedir --force-ntpd

Serão feitas algumas perguntas na seguinte ordem, utilizaremos as respostas em negrito.

  1. Proceed with fixed values and no DNS discovery? [no]: yes
  2. Continue to configure the system with these values? [no]: yes
  3. User authorized to enroll computers: admin
  4. Password for admin@EXAMPLE.LOCAL:  ipa4linux

 

IPA Server

Agora podemos acessar o painel de administração através da pagina http://ipa.example.local com usuário admin e senha ipa4linux

Podemos verificar agora em Identity > Hosts que as máquinas ipaclient1.example.local e ipaclient2.example.local estão configuradas no freeipa.

Com isto, podemos efetuar o login nas máquinas utilizando usuário e senha/chave, seja ela servidor ou desktop com servidor X(Interface Desktop), a home do usuário será criada automaticamente.

Para cadastrar uma chave ssh para o usuário linus.torvalds vamos em Identity >  Users > Active Users > linus.torvalds

Na tela que abrirá, clicaremos  em ADD no campo SSH Public Keys, vamos adicionar a chave SSH, clicar em Set e em seguida no topo da página em Save.

Também é possível alterar uma série de parâmetros como por exemplo qual será a home do usuário, qual o shell, aliases, OTP (OneTimePassword)

Agora podemos testar a conexão SSH utilizando a chave:

 
$ ssh linus.torvalds@172.16.10.20 -i id_rsa
-sh-4.2$ pwd
/home/linus.torvalds

 

De momento é isso, até a próxima!

Fiquem ligados, na [Parte #3] veremos como criar grupos de usuários e hosts, configurar OTP (OneTimePassword) e  gerenciar politicas de SUDO.

CURSOSCONSULTORIA    CONTATO

Anterior Guia Completo: Como Configurar o FreeIPA para Gerenciamento de Identidade
Próxima Novos cursos de PHP 7.2: aprenda desenvolvimento web e orientação a objetos

About author

Caio Delgado
Caio Delgado 4 posts

Caio Delgado atua como Analista de Infraestrutura Linux e soluções FOSS (Free and Open Source Software) com foco em DevOps, formado em Engenharia da Computação no Centro Universitário UBM e pós graduado em Engenharia de Redes no Instituto INFNET, possui as Certificações Docker DCA, LPIC-1, ITCerts Cloud Security Foundation, DevOps Lead, DevOps Security, Lean IT Essentials, Scrum Essentials, EXIN Information Security Foundation e EXIN Green IT Citizen.

View all posts by this author →

Você pode gostar também

Cloud

Como versionar sua infraestrutura com Terraform e GitLab

Deixando um pouco o assunto sobre Corona Vírus de lado, chegamos ao penúltimo post da nossa série de postagens sobre Terraform. Aqui iremos falar sobre como versionar sua infraestrutura utilizando

DevOps

Conexão com Cluster Kafka Hospedado em Kubernetes: Guia Completo

Nesse artigo vamos discutir questões relacionadas a como disponibilizar um cluster kafka hospedado em um k8s para aplicações que estejam hospedadas fora do cluster kubernetes. Não vamos tratar da instalação

Desenvolvimento

Descubra as vantagens do MongoDB para o desenvolvimento Web

Bancos de dados são a base dos projetos de desenvolvimento Web. Muitos desenvolvedores estão voltando sua atenção para o MongoDB, um banco de dados sem esquema que é popular para uma