Como instalar o servidor OpenLDAP no AlmaLinux 9
OpenLDAP é uma implementação de software do Lightweight Directory Access Protocol (LDAP). OpenLDAP é um software gratuito e de código aberto com sua licença estilo BSD chamada OpenLDAP Public License. Seu software LDAP de unidade de linha de comando está disponível na maioria das distribuições Linux, como CentOS, Ubuntu, Debian, SUSE e muito mais.
OpenLDAP é um conjunto completo de software para servidores LDAP, que inclui SLAPD (daemon LDAP autônomo), SLURPD (daemon de replicação de atualização LDAP autônomo) e alguns utilitários e ferramentas para gerenciar servidores LDAP. OpenLDAP é um servidor LDAP altamente personalizável e oferece suporte a todas as principais plataformas de computação.
Neste tutorial mostraremos como instalar o servidor OpenLDAP em um AlmaLinux 9, para que você possa começar com facilidade.
Pré-requisitos
Para finalizar este tutorial, certifique-se de ter o seguinte:
- Uma máquina AlmaLinux 9 - Esta demonstração usa um servidor com nome de host ldap e endereço IP 192.168.10.50.
- Um usuário não root com privilégios de administrador.
Configurando FQDN
Antes de instalar o servidor OpenLDAP, você deve garantir que o fqdn esteja configurado e apontado para o endereço IP adequado. Conclua as etapas a seguir para configurar o fqdn em sua máquina AlmaLinux.
Execute o seguinte comando para configurar o fqdn da sua máquina AlmaLinux. Neste caso, o servidor terá fqdn ldap.hwdomain.local.
sudo hostnamectl set-hostname ldap.hwdomain.local
Agora abra o arquivo /etc/hosts usando o seguinte comando do editor nano.
sudo nano /etc/hosts
Insira a seguinte configuração e certifique-se de alterar o endereço IP, fqdn e nome do host.
192.168.10.50 ldap.hwdomain.local ldap
Salve o arquivo e saia do editor quando terminar.
Por último, execute o seguinte comando para verificar o fqdn do seu sistema e garantir que ele esteja apontado para o endereço IP local adequado.
sudo hostname -f
ping -c3 ldap.hwdomain.local
Neste caso, o fqdn ldap.hwdomain.local é apontado para o endereço IP 192.168.10.50.
Instalando o servidor OpenLDAP
O pacote do servidor OpenLDAP está disponível no repositório EPEL. Portanto, antes de instalar o servidor OpenLDAP, você deve instalar o repositório EPEL em seu servidor AlmaLinux.
A seção a seguir mostrará como adicionar o repositório EPEL, instalar o servidor OpenLDAP e gerenciar o serviço OpenLDAP.
Primeiro, adicione o repositório EPEL ao seu servidor AlmaLinux através do comando dnf abaixo.
sudo dnf install epel-release -y
Depois disso, execute o comando dnf abaixo para instalar o servidor OpenLDAP e os pacotes do cliente.
sudo dnf install openldap-servers openldap-clients
Quando solicitado, insira y para confirmar e pressione ENTER.
Além disso, quando solicitado a adicionar a chave GPG do repositório EPEL, insira y novamente e pressione ENTER.
Agora execute o comando systemctl abaixo para iniciar e habilitar o serviço OpenLDAP slapd.
sudo systemctl start slapd
sudo systemctl enable slapd
Verifique o serviço slapd usando o comando a seguir para garantir que o serviço esteja em execução.
sudo systemctl status slapd
Se estiver em execução, você deverá obter uma saída como ativa (em execução).
Por último, você precisará abrir os serviços LDAP e LDAPS no firewalld para permitir conexões de clientes.
Execute os comandos firewall-cmd abaixo para adicionar serviços LDAP e LDAPS ao firewalld. Em seguida, recarregue o firewalld para aplicar as alterações.
sudo firewall-cmd --add-service={ldap,ldaps} --permanent
sudo firewall-cmd --reload
Agora você pode verificar a lista de regras do firewalld usando o comando abaixo.
sudo firewall-cmd --list-all
Se for bem-sucedido, você deverá ver os serviços LDAP e LDAPS disponíveis na lista de serviços firewalld.
Configuração básica do servidor OpenLDAP
Depois de instalar o servidor OpenLDAP, você configurará agora a instalação do OpenLDAP. E o primeiro passo que você deve fazer é configurar um usuário administrador e importar alguns esquemas básicos para a instalação do seu servidor OpenLDAP.
Execute o seguinte comando para gerar a senha com hash para seu servidor OpenLDAP. Insira sua senha e repita, depois copie a senha hash gerada.
slappasswd
Crie um novo arquivo chrootpw.ldif usando o comando do editor nano abaixo.
nano chrootpw.ldif
Adicione a seguinte configuração e certifique-se de substituir o valor no parâmetro olcRootPW pela sua senha com hash. Isso alterará a senha do seu servidor OpenLDAP.
# chrootpw.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}yK9Dk+Kz9S9CLu3Y+ZtJVAYF+MPIRl1X
Salve e saia do arquivo quando terminar.
Agora execute o comando ldapadd abaixo para aplicar a configuração ao servidor OpenLDAP.
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
Se for bem-sucedido, você deverá obter a saída como esta:
Por último, execute o seguinte comando para adicionar alguns esquemas básicos ao seu servidor OpenLDAP.
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
Isso adicionará novas entradas como nis, cosseno e inetorgperson ao seu servidor OpenLDAP.
Configurando Domínio e Domínio Base
Agora que a senha do administrador do servidor OpenLDAP está configurada, a próxima etapa é configurar o nome de domínio do seu servidor OpenLDAP e criar alguns nomes de domínio básicos para os usuários.
Conclua as etapas a seguir para configurar o nome de domínio e o domínio base por meio do arquivo LDIF.
Configurando Nome de Domínio
Crie um novo arquivo LDIF chdomain.ldif usando o seguinte comando do editor nano.
nano chdomain.ldif
Adicione a seguinte configuração e certifique-se de alterar o nome de domínio dc=hwdomain,dc=local pelo nome de domínio do seu servidor OpenLDAP. Além disso, dentro do parâmetro olcRootPW, altere-o com sua senha com hash.
Isso mudará o nome de domínio padrão do seu servidor OpenLDAP com o novo domínio.
# chdomain.ldif
# replace to your own domain name for [dc=***,dc=***] section
# specify the password generated above for [olcRootPW] section
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
read by dn.base="cn=Manager,dc=hwdomain,dc=local" read by * none
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=hwdomain,dc=local
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=hwdomain,dc=local
dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}yK9Dk+Kz9S9CLu3Y+ZtJVAYF+MPIRl1X
dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=hwdomain,dc=local" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=hwdomain,dc=local" write by * read
Salve o arquivo e saia do editor quando terminar.
Em seguida, execute o comando ldapmodify abaixo para aplicar novas configurações ao servidor OpenLDAP.
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif
Assim que as alterações forem aplicadas, execute o comando ldapsearch abaixo para verificar sua configuração. Se for bem-sucedido, você verá que namingContexts contém o nome de domínio do seu servidor OpenLDAP. Neste caso, o nome de domínio é ldap.hwdomain.local.
sudo ldapsearch -H ldap:// -x -s base -b "" -LLL "namingContexts"
Configurando o Domínio Base
Crie um novo arquivo LDIF basedomain.ldif usando o editor nano.
nano basedomain.ldif
Insira a seguinte configuração no arquivo. Com isso, você criará três objetos diferentes: Unidade de organização Gerente, Pessoas e Grupo.
# basedomain.ldif
# replace to your own domain name for [dc=***,dc=***] section
dn: dc=hwdomain,dc=local
objectClass: top
objectClass: dcObject
objectclass: organization
o: Hwdomain Local
dc: hwdomain
dn: cn=Manager,dc=hwdomain,dc=local
objectClass: organizationalRole
cn: Manager
description: Directory Manager
dn: ou=People,dc=hwdomain,dc=local
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=hwdomain,dc=local
objectClass: organizationalUnit
ou: Group
Salve o arquivo e saia do editor após terminar.
Agora execute o comando ldapadd abaixo para adicionar o novo domínio base ao seu servidor OpenLDAP.
sudo ldapadd -x -D cn=Manager,dc=hwdomain,dc=local -W -f basedomain.ldif
Insira a senha do OpenLDAP quando solicitado. Se for bem-sucedido, você deverá obter uma saída como esta:
Por último, você pode verificar a lista de ou em seu servidor OpenLDAP usando o seguinte comando.
sudo ldapsearch -x -b "dc=hwdomain,dc=local" ou
Se a configuração for bem-sucedida, você deverá ver três ou Gerente, Pessoas e Grupo diferentes.
Neste ponto, você concluiu a instalação do servidor OpenLDAP em sua máquina AlmaLinux. Na próxima etapa, você aprenderá como criar um usuário OpenLDAP por meio de um arquivo LDIF.
Adicionando novo usuário no servidor OpenLDAP
Para criar novos usuários manualmente no servidor OpenLDAP, você pode usar o comando slappasswd para gerar uma senha com hash e criar um novo arquivo LDIF para seu novo usuário. Nesta etapa, você aprenderá como fazer isso.
Para criar um novo usuário, você deve primeiro gerar o hash da senha por meio do comando slappasswd abaixo.
slappasswd
Insira sua senha e copie o hash gerado.
Agora crie um novo arquivo newuser.ldif usando o comando do editor nano abaixo.
nano newuser.ldif
Insira a seguinte configuração para criar um novo usuário e grupo OpenLDAP. Além disso, certifique-se de alterar os detalhes do nome de domínio, novo usuário, grupo gid e uid, e também o hash da senha.
# newuser.ldif
# Change detail username and path home directory and default domain name
dn: uid=alma,ou=People,dc=hwdomain,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: alma
sn: temp
userPassword: {SSHA}l/lZ6zZSGgGP1s7pezz6faYX86Tx3Fv/
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/alma
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0
dn: cn=alma,ou=Group,dc=hwdomain,dc=local
objectClass: posixGroup
cn: alma
gidNumber: 2000
memberUid: alma
Salve o arquivo e saia do editor após terminar.
Em seguida, execute o comando ldapadd abaixo para adicionar um novo usuário e grupo OpenLDAP. Insira sua senha OpenLDAP quando solicitado e pressione ENTER para confirmar.
sudo ldapadd -x -D cn=Manager,dc=hwdomain,dc=local -W -f newuser.ldif
Depois que o novo usuário e grupo forem adicionados, execute o comando ldapsearch abaixo para obter uma lista de usuários e grupos disponíveis em seu servidor OpenLDAP.
sudo ldapsearch -x -b "ou=People,dc=hwdomain,dc=local"
sudo ldapsearch -x -b "ou=Group,dc=hwdomain,dc=local"
Se sua configuração for bem-sucedida, você deverá ver o usuário e grupo alma disponíveis no servidor OpenLDAP.
Abaixo está o usuário alma disponível no servidor OpenLDAP.
Abaixo está o grupo alma disponível no servidor OpenLDAP.
Conclusão
Bom trabalho! Você seguiu todos os passos e instalou o servidor OpenLDAP em sua máquina AlmaLinux 9. Agora você está pronto para usá-lo e integrá-lo aos seus aplicativos. Além disso, é recomendado configurar um servidor OpenLDAP seguro com SSL/TLS e instalar um frontend web para o seu servidor OpenLDAP via phpOpenLDAP ou similar.