Inicio > *nix > Debian Etch + LDAP + SSL + GoSA

Debian Etch + LDAP + SSL + GoSA

martes, 16 de octubre de 2007 Dejar un comentario Ir a comentarios

Aquí les dejo una pequeña chuleta de como instalar LDAP + SSL + GoSA desde 0 en un Debian Etch recien instalado. Muchas veces me ha tocado hacerlo y siempre repito el mismo proceso, por lo que ahora puedo compartir mi experiencia.

Instalar paquetes:

Instalar estos paquetes y configurar.
slapd
ldap-utils
db4.2-util
openssl

(Puedes usar dpkg-reconfigure -plow slapd si deseas reconfigurar el slapd con otros valores)

Instalar estos paquetes y Configurar
apache2
php5
php5-imagick
php5-common
php5-gd
php5-ldap
php5-mhash
php5-cli
php5-recode
php5-imap*
php5-mysql*
php5-odbc
php5-pgsql*
php5-ps*
php5-sqlite
php5-tidy*
php5-xmlrpc*
php5-xls*

* = Opcionales (Los instalo por que los necesito para otras cosas).

Instalar (Si no está bien instalado el PHP5 con sus módulos, GoSA tratará de instalar PHP4, esto no debería de pasar).
gosa
gosa-schema

Pasamos a Crear la CA (si se necesita) y a crear un certificado para luego firmarlo y darselo a nuestro servidor OpenLDAP para de esta forma se use cifrado de datos SSL (Para los servicios).

Creamos la CA,

servidor:/usr/lib/ssl/misc# ./CA.sh -newca

Movemos a un directorio mas conveniente,

servidor:/usr/lib/ssl/misc# mv demoCA/ /etc/servidorCA

Ahora modificamos el fichero /usr/lib/ssl/openssl.cnf de manera que todo se haga con nuestra CA
[ CA_default ]

#dir = ./demoCA # Where everything is kept
dir = /etc/servidorCA

Creamos los certificados,

servidor:/etc/servidorCA# openssl req -newkey rsa:1024 -nodes -keyout newreq.pem -out newreq.pem

Firmamos el certificado,

/usr/lib/ssl/misc/CA.sh -sign

(FIRMAR EL CERTIFICADO CON LA CLAVE QUE SE USO)

Con esto las claves ya estarán firmadas, ahora debemos crear un directorio donde se guardarán para su posterior uso por slapd:

servidor:#mkdir /etc/ldap/slapd-certs

servidor:#cp cacert.pem /etc/ldap/slapd-certs/

servidor:#mv newcert.pem /etc/ldap/slapd-certs/servercrt.pem

servidor:#mv newreq.pem /etc/ldap/slapd-certs/serverkey.pem

servidor:#chmod 400 /etc/ldap/slapd-certs/serverkey.pem

servidor:#cd /etc/ldap/slapd-certs/

servidor:#chown openldap.openldap *

A continuación debemos editar el fichero /etc/ldap/slapd.conf para que contenga las siguientes líneas:

TLSCipherSuite HIGH:MEDIUM:+SSLv2:RSA

TLSCACertificateFile /etc/ldap/slapd-certs/cacert.pem

TLSCertificateFile /etc/ldap/slapd-certs/servercrt.pem

TLSCertificateKeyFile /etc/ldap/slapd-certs/serverkey.pem

Para que el servidor arranque tanto en modo no seguro como en modo seguro, hay que modificar el fichero /etc/default/slapd de la siguiente manera:

SLAPD_SERVICES=”ldap:/ ldaps:/”

Si todo ha ido bien, al arrancar el servidor ldap, no debería dar ningún error:

servidor:#/etc/init.d/slapd restart

Starting OpenLDAP: slapd.

Para comprobar que el servidor está corriendo podemos ejecutar:

servidor:# netstat -alnp | grep slapd

tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 7716/slapd

tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 7716/slapd

tcp 0 0 127.0.0.1:389 127.0.0.1:49456 ESTABLISHED7716/slapd

tcp6 0 0 :::389 :::* LISTEN 7716/slapd

tcp6 0 0 :::636 :::* LISTEN 7716/slapd‘’

Podemos ver cómo el servidor está corriendo en los puertos 389 (no seguro) y 636(seguro).

Configurar PHP5
servidor:#vi /etc/php5/apache2/php.ini

Cambiar memory_limit (está en 16) por:
memory_limit = 64M #(Podría ser 32, depende de lo que se quiera).

Configurar GoSA
Traerse unos esquemas extras:
servidor:/etc/ldap/schema# cp /usr/share/doc/gosa/contrib/openldap/samba3.schema.gz .
servidor:/etc/ldap/schema# gunzip samba3.schema.gz
servidor:/etc/ldap/schema# cp /usr/share/doc/gosa/contrib/openldap/trust.schema .

Poner los SCHEMAS así:
servidor:/etc/ldap# vi slapd.conf

#Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema

#Esquemas de GoSA
include /etc/ldap/schema/samba3.schema
include /etc/ldap/schema/trust.schema
include /etc/ldap/schema/gosystem.schema
include /etc/ldap/schema/gofon.schema
include /etc/ldap/schema/goto.schema
include /etc/ldap/schema/gosa+samba3.schema
include /etc/ldap/schema/gofax.schema
include /etc/ldap/schema/goserver.schema
include /etc/ldap/schema/goto-mime.schema

Agregamos unos OU que va a usar GoSA con este ldiff:
# people, servidor.red
dn: ou=people,dc=servidor,dc=red
objectClass: organizationalUnit
ou: people

# groups, servidor.red
dn: ou=groups,dc=servidor,dc=red
objectClass: organizationalUnit
ou: groups

(Lo Agregamos con ldapadd o algo similar.)

Entramos en: http://servidor-web/gosa/setup.php
(Configuramos y obviamos el mensaje de error con el GoSA, el usuario se puede crear desde el Setup).

Esto crea un archivo gosa.conf, bajarlo y guardarlo en:
/etc/gosa

Cambiar los permisos
servidor:# chown root.www-data /etc/gosa/gosa.conf
servidor:# chmod 640 /etc/gosa/gosa.conf

LISTO! ahora entrar en http://servidor-web/gosa/ y empezar a usar.

NOTA: En este caso GoSA no está usando SSL por que está instalado en el mismo servidor y lo va a hacer por socket por lo que no es necesario, en caso de que tengamos el GoSA u otros servicios fuera del mismo servidor entonces se tendría que copiar los respectivos certificados y decirle al servicio que use SSL para comunicarse con LDAP.

Cualquier comentario lo pueden dejar en este blog o mandarme un correo a koshrf at gmail dot com

Categories: *nix Tags: ,
  1. Pedrito
    jueves, 25 de octubre de 2007 a las 07:13 | #1

    Y que pasó en Apure?
    No tenias la chuleta ó Ernesto no respondio? jejejejeje

  2. domingo, 18 de noviembre de 2007 a las 00:58 | #2

    En Apure no tenía la experiencia que tengo ahora 😛 además de que allá no nos tocaba hacer nada con GoSA… y por si fuera poco, bolsa yo que me metí en ese problema sin conocerlo a fondo hahaha.

  3. Xavi
    miércoles, 28 de noviembre de 2007 a las 10:55 | #3

    Hola gente,

    Estoy barajando la posibilidad de usar LDAP para un Proyecto Final de Carrera. Me gustaría Conocer más sobre como interactuan lenguajes de programación como PHP5 o J2EE con Open Ldap. También conocer, que ventajas me ofrece LDAP sobre usar una BBDD propia mysql solo para usuarios.

    GRacias de antemano por la atención.

  4. martes, 7 de abril de 2009 a las 14:12 | #4

    En la búsqueda de sitios relacionados con web hosting y específicamente comparación plan de web hosting linux, llegó hasta su sitio.

  5. jueves, 9 de abril de 2009 a las 12:15 | #5

    Hola, he encontrado tu blog a través de Google, mientras que la búsqueda de primeros auxilios para un ataque al corazón y su puesto se ve muy interesante para mí.

  1. Sin trackbacks aún.