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

01Vagrant.configure("2") do |config|
02  config.vm.define "ipaserver" do |server|
03    server.vm.box = "centos/7"
04    server.vm.network "private_network", ip: "172.16.10.10"
05  end
06  config.vm.define "ipaclient1" do |server|
07   server.vm.box = "centos/7"
08   server.vm.network "private_network", ip: "172.16.10.20"
09  end
10  config.vm.define "ipaclient2" do |server|
11   server.vm.box = "ubuntu/bionic64"
12   server.vm.network "private_network", ip: "172.16.10.21"
13  end
14  config.vm.provider :virtualbox do |vb|
15    vb.memory = "1024"
16  end
17end

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

1$ 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:

1$ vagrant ssh ipaclient1
2[vagrant@localhost ~]$ sudo hostnamectl set-hostname ipaclient1.example.local
3[vagrant@localhost ~]$ sudo su -
4[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:

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

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

1[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:

1$ vagrant ssh ipaclient2
2vagrant@ubuntu-bionic:~$ sudo hostnamectl set-hostname ipaclient2.example.local
3vagrant@ubuntu-bionic:~$ sudo su -
4root@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:

1root@ipaclient2:~# apt update
2root@ipaclient2:~# apt upgrade -y
3root@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

1root@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:

1$ ssh linus.torvalds@172.16.10.20 -i id_rsa
2-sh-4.2$ pwd
3/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

DevOps

Criando imagens personalizadas com Packer para Google Cloud Platform

Olá pessoal, hoje no blog da 4Linux, vamos falar dessa ferramenta sensacional que é o Packer da HashiCorp. Bora lá. O que é o Packer O Packer é uma ferramenta

Infraestrutura TI

Engenheiro de Dados: a profissão essencial na era da informação

Profissões tendem a desaparecer e surgir com outras roupagens em um mundo onde a quantidade de conhecimento cresce exponencialmente. Embora esse fenômeno cause crises em algumas áreas, ele pode ser

Treinamentos

Guia completo: Instalação e configuração do SQL Server no Linux

O SQL server é um sistema gerenciador de banco de dados relacional, mantido pela Microsoft. Originalmente estava disponível apenas para distribuições Windows, como o Windows Server. Desde a versão do