Tema:
Pues bien muchos son los problemas que nos ocacionan avese los usuariuos a la hora del cambio de contraseñas y la gestion de los servicios en nustra red. pues aqui traigo una integracion perfecta del directorio ldap con los servicios necesarios. Partiendo de que ya tenemos instalado un server DNS que nos resuelve las consulta al 100% pues empezamos con la faena.
Para instalar es servidor ldap:
apt-get install slapd ldap-utils
Nos pedirá el dominio
prueba.miisp.cu
Aquí quedaría definida la base
dc=prueba,dc=miispdc=com
Luegos nos pedira la contraseña del root para el server Ldap.
Bien pero queremos que nustras contraseñas en los usuarios del server ldap sean cifrada; para ellos utilizaremos el modulo 5
slappasswd -h {md5}
Ponemos nuestro passwd y lo reafirmamos. Bueno esta baina comienza a tomar forma.
Ahora debemos detener nuestro servidor para la configuracion que deseamos.
/etc/init.d/slapd stop
Eliminamos las bases antiguas
rm /var/lib/ldap/*
Ahora reconfiguramos a nuestro estilo el Ldap
dpkg-reconfigure slapd
bien aca nos volverá a pedir el dominio primero, la base después, sería así:
prueba.miisp.com
dc=prueba,dc=miisp,dc=com
luego pediría la contraseña para el root, tambien pedira borrar las bases de datos antiguas, pero ojo ya las hemos borrado, y por que version van a bindiar los servicios, pues bien escogeremos por la version 2. Ya con esto tendremos nuestro servidor ldap, ahora debemos tener los schema para el samba, dhcp y los servicios. Pues debemos bajarlos de internet.
Modificamos el fichero /etc/ldap/slapd.conf
nano /etc/ldap/slapd.conf
y debería quedar de esta forma:
allow bind_v2
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/services.schema
include /etc/ldap/schema/dhcp.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
moduleload back_hdb
sizelimit 10000
tool-threads 1
backend hdb
database hdb
suffix "dc=prueba,dc=miisp,dc=com"
rootdn "cn=admin,dc=prueba,dc=miisp,dc=com"
rootpw "{MD5}GWrMXsn1hDAWJboeHjEF6g==" # aquí es donde se pone el passwd cifrado que anterior obtubimos con la instruccion slappasswd -h {md5}
moduleload syncprov
overlay syncprov
syncprov-checkpoint 50 10
syncprov-sessionlog 100
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index default sub
index objectClass eq
index entryCSN eq
index entryUUID eq
index uidNumber eq
index gidNumber eq
index mail eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index givenName pres,sub,eq
index sn pres,sub,eq
index cn pres,sub,eq
index uid pres,sub,eq
lastmod on
checkpoint 512 30
access to dn.subtree="cn=equipos,dc=prueba,dc=miisp,dc=com"
by dn="cn=admin,dc=prueba,dc=miisp,dc=com" write
by dn="cn=samba,dc=prueba,dc=miisp,dc=com" write
by * read
access to attrs=userPasswkey,userPassword,sambaLMPassword,sambaNTPassword
by dn="cn=admin,dc=prueba,dc=miisp,dc=com" write
by dn="cn=chpass,dc=prueba,dc=miisp,dc=com" write
by dn="cn=mailauth,dc=prueba,dc=miisp,dc=com" read
by dn="cn=syncrepl,dc=prueba,dc=miisp,dc=com" read
by dn="cn=samba,dc=prueba,dc=miisp,dc=com" write
by anonymous auth
by * none
access to attrs=userPasswdac,userPasswdch,userPasswdip,sambaAcctFlags,sambaPwdLastSet,title
by dn="cn=admin,dc=prueba,dc=miisp,dc=com" write
by dn="cn=chpass,dc=prueba,dc=miisp,dc=com" write
by dn="cn=mailauth,dc=prueba,dc=miisp,dc=com" read
by * read
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=prueba,dc=miisp,dc=com" write
by * read
bien este es el fichero del server ldap pero en /etc/ldap/schema debemos poner los schema que anteriormente mencione.
Ahora le damos permiso de al usuario y grupo ldap de poder leer el fichero modificado.
chown openldap.openldap /etc/ldap/slapd.conf
reiniciamos nuestro servidor y listo
/etc/init.d/slapd restart
Aora comenzaremos la baina del apache que es nuestro server web.
apt-get install apache2 php5-ldap
Ahora instalamos nuestro phpldapadmin que seria el cliente para ver grafico nuestro directorio ldap.
apt-get install phpldapadmin
Abrimos nuetro navegador de preferencias y http://localhost/phpldapadmin
Bueno la baina comiensa realmente ahora, en nuestro phpldapadmin que es donde debemos configurar algunas cosillas.
- Vamos a eliminar la base creada automatica por nuestro ldap, OJO, en este periodo no devemos serrar el phpldapadmin abirto. Vamos a crear en un directorio X un fichero llamado base.ldif, el contenido de este fichero sera el siguiente:
version: 1
# LDIF Export for: dc=prueba,dc=miisp,dc=com
# Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on May 30, 2010 12:17 pm
# Server: PDC-SERVER (ldap://127.0.0.1)
# Search Scope: sub
# Search Filter: (objectClass=*)
# Total Entries: 103
dn: dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: prueba.miisp.com
dc: fra
dn: cn=chpass,dc=prueba,dc=miisp,dc=com
cn: chpass
description: LDAP administrator
objectClass: simpleSecurityObject
objectClass: organizationalRole
userPassword: {MD5}4YHoxGaWMDMi+9Z9U14+mA==
dn: cn=equipos,dc=prueba,dc=miisp,dc=com
cn: equipos
objectClass: top
objectClass: dhcpService
objectClass: dhcpOptions
dhcpPrimaryDN: cn=dhcp.prueba.miisp.com,cn=equipos,dc=fra,dc=hlg,dc=rimed,dc =cu
dhcpSubnetDN: cn=10.0.0.0,cn=dhcp.prueba.miisp.com,cn=equipos,dc=prueba,dc=miisp,dc=com
dhcpStatements: server-name DHCP
dhcpStatements: server-identifier dhcp.prueba.miisp.com
dhcpStatements: ddns-update-style none
dhcpStatements: ddns-domainname "prueba.miisp.com"
dhcpStatements: log-facility local7
dhcpStatements: authoritative
dhcpStatements: max-lease-time 84600
dhcpStatements: default-lease-time 180000
dhcpStatements: filename "pxelinux.0"
dhcpStatements: next-server 10.0.0.1
dhcpOption: domain-name "prueba.miisp.com"
dhcpOption: domain-name-servers 10.0.0.1
dhcpOption: netbios-name-servers 10.0.0.1
dhcpOption: netbios-dd-server 10.0.0.1
dhcpOption: netbios-node-type 8
dhcpOption: ip-forwarding off
dhcpOption: ntp-servers 10.0.0.1
dhcpOption: wpad-url code 252 = text
dhcpOption: wpad-url "http://wpad.prueba.miisp.com/wpad.dat\n"
dn: cn=dhcp.prueba.miisp.com,cn=equipos,dc=prueba,dc=miisp,dc=com
cn: dhcp.prueba.miisp.com
dhcpVersion: V3.1.1
objectClass: top
objectClass: dhcpServer
dhcpServiceDN: cn=equipos,dc=prueba,dc=miisp,dc=com
dn: cn=10.0.0.0,cn=dhcp.prueba.miisp.com,cn=equipos,dc=prueba,dc=miisp,dc=com
cn: 10.0.0.0
dhcpNetMask: 24
objectClass: top
objectClass: dhcpSubnet
objectClass: dhcpOptions
dhcpOption: broadcast-address 10.255.255.254
dhcpRange: 10.0.0.1 10.0.0.254
dn: uid=mined-95e633bcd$,cn=equipos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: dhcpHost
objectClass: sambaSamAccount
objectClass: posixAccount
description: --
gidNumber: 515
homeDirectory: /dev/null
loginShell: /bin/false
sambaAcctFlags: [W ]
uid: mined-95e633bcd$
sambaSID: S-1-5-21-2426537050-1888680479-2241998807-1001
uidNumber: 1001
cn: mined-95e633bcd
dhcpHWAddress: ethernet 00:1c:25:e4:99:29
dhcpStatements: fixed-address 10.0.0.200
dhcpStatements: host-name mined-95e633bcd.prueba.miisp.com
sambaNTPassword: 71F3AAAAED86E563CACEEF88980783AB
dn: cn=mailauth,dc=prueba,dc=miisp,dc=com
cn: mailauth
description: LDAP administrator
objectClass: simpleSecurityObject
objectClass: organizationalRole
userPassword: {MD5}rZ/4pwwijBTLvCEUvRfXIw==
dn: cn=samba,dc=prueba,dc=miisp,dc=com
cn: samba
description: LDAP administrator
objectClass: simpleSecurityObject
objectClass: organizationalRole
userPassword: {MD5}hKS5bSpYlur/cNsNFYwyEA==
dn: cn=syncrepl,dc=prueba,dc=miisp,dc=com
cn: syncrepl
description: LDAP administrator
objectClass: simpleSecurityObject
objectClass: organizationalRole
userPassword: {MD5}mmNLC59GOlldJ9LzLZLFkQ==
dn: ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: organizationalUnit
ou: grupos
dn: cn=Account Operators,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 548
cn: Account Operators
description: Netbios Domain Users to manipulate users accounts
sambaSID: S-1-5-32-548
sambaGroupType: 5
displayName: Account Operators
dn: cn=Administrators,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 544
cn: Administrators
description: Netbios Domain Members can fully administer the computer/sambaD
omainName
sambaSID: S-1-5-32-544
sambaGroupType: 5
displayName: Administrators
memberUid: admin
dn: cn=Backup Operators,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 551
cn: Backup Operators
description: Netbios Domain Members can bypass file security to back up file
s
sambaSID: S-1-5-32-551
sambaGroupType: 5
displayName: Backup Operators
dn: cn=Domain Admins,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 512
cn: Domain Admins
description: Netbios Domain Administrators
sambaGroupType: 2
displayName: Domain Admins
sambaSID: S-1-5-21-2426537050-1888680479-2241998807-512
memberUid: admin
dn: cn=Domain Computers,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 515
cn: Domain Computers
description: Netbios Domain Computers accounts
sambaGroupType: 2
displayName: Domain Computers
sambaSID: S-1-5-21-2426537050-1888680479-2241998807-515
dn: cn=Domain Guests,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 514
cn: Domain Guests
description: Netbios Domain Guests Users
sambaGroupType: 2
displayName: Domain Guests
sambaSID: S-1-5-21-2426537050-1888680479-2241998807-514
dn: cn=Domain Users,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 513
cn: Domain Users
description: Netbios Domain Users
sambaGroupType: 2
displayName: Domain Users
sambaSID: S-1-5-21-2426537050-1888680479-2241998807-513
memberUid: admin
dn: cn=Print Operators,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 550
cn: Print Operators
description: Netbios Domain Print Operators
sambaSID: S-1-5-32-550
sambaGroupType: 5
displayName: Print Operators
dn: cn=Replicators,ou=grupos,dc=prueba,dc=miisp,dc=com
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 552
cn: Replicators
description: Netbios Domain Supports file replication in a sambaDomainName
sambaSID: S-1-5-32-552
sambaGroupType: 5
displayName: Replicators
dn: ou=Usuarios,dc=prueba,dc=miisp,dc=com
objectClass: organizationalUnit
objectClass: top
ou: Usuarios
Ahora este arhivo se lo vamos a importar a al ldap por el phpldapadmin.
Co esto quedaría realizada nuestra estructura para el servidor.