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

DevOps

Terraform: A ferramenta definitiva para Infraestrutura como Código

Primeiramente, uma breve descrição sobre o que é “Infraestrutura como Código” ? Infraestrutura como Código, Infra as Code, ou simplesmente IaC, é tratar a infra como um software, desenvolvendo, versionando, testando, depurando

DevOps

Entenda o Git: O que é, como funciona e como começar a usar

GIT? O que é? Git é um sistema de controle de versões distribuído, ou seja, ele não precisa de um servidor central para funcionar. É uma ferramenta open source, criada

Infraestrutura TI

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