O que é o FreeIPA
O
FreeIPA (Free Identity, Policy and Audit) é um sistema
FOSS (Free and Open Source Software) para gerenciamento de identidade e políticas. É também o projeto open-source para o núcleo do sistema de gerenciamento de identidade da Red Hat (IdM).
O objetivo do FreeIPA é fornecer um ambiente centralizado de Gerenciamento de Identidade, Políticas e Auditoria, ele usa uma combinação de vários componentes FOSS como por exemplo:
- Linux - (RHEL Based Linux)
- 389 Directory Server - implementação LDAP
- MIT Kerberos 5 - Autenticação e Single Sign-On (SSO)
- Apache HTTP Server - para interface do usuário da Web para FreeIPA
- DogTag - autoridade de certificação PKI
- BIND - servidor DNS
- Chrony - servidor NTP
Para esse artigo estou usando uma máquina virtual mínima do CentOS 8 com as seguintes especificações.
- CPU - 3,4 Ghz (2 núcleos)
- Memória - 2 GB
- Armazenamento - 50 GB
- Sistema operacional - CentOS 8.1
- Nome do host - srv.home.office
- Endereço IP - 192.168.122.2 / 24
Vamos à instalação!
No CentOS 8, o FreeIPA está disponível no repositório AppStream, empacotado no módulo IDM com perfis diferentes para instalar de acordo com os requisitos dos SysAdmin:
# dnf module install -y idm:DL1/{server,client,dns,adtrust}
Agora vamos configurar o FreeIPA:
# ipa-server-install --setup-dns
Só seguir e preencher sem erros.
E ao final a mensagem do Setup completo:
Obtenha o Ticket Kerberos:
# kinit admin
e depois verifique:
# klist
Ajuste o firewall:
# firewall-cmd --add-service={freeipa-ldap, freeipa-ldaps, dns, ntp} --permanent
# firewall-cmd --reload
Agora pode acessar e usar o painel do FreeIPA via browser, o acesso não é por endereço IP e sim por FQDN (Fully Qualified Domain Name), o nome do host com domínio completo.
Usuário admin e a senha que foi definido na configuração do FreeIPA:
https://srv.home.office
Para adicionar um usuário é só clicar em ADD:
Agora vamos adicionar uma máquina, no caso estou usando um Fedora como desktop.
Instale o ipa-client:
sudo dnf install ipa-client -y
Ajuste o seu
/etc/resolv.conf e adicione como dns primário o endereço do servidor do freeipa. No caso ficou assim:
cat /etc/resolv.conf
domain home.office
nameserver 192.168.122.2
nameserver 208.67.222.222
e execute o comando:
sudo ipa-client-install --force-ntpd
Execute o comando para criar o diretório home:
sudo authselect enable-feature with-mkhomedir
E ative na inicialização do sistema:
sudo systemctl enable --now oddjobd
e reinicie a máquina.
Efetuar o login, no caso do exemplo eu fiz login com usuário "admin":
Caso queira ver como fica o arquivo
krb5.conf:
Freeipa é uma boa ferramenta, caso seu ambiente seja totalmente em Linux é uma boa utilizar.
Guia de referência:
https://www.freeipa.org/