Proyecto Integrado Antonio Jesus Duenas

download Proyecto Integrado Antonio Jesus Duenas

If you can't read please download the document

description

Integrar Samba LDAP

Transcript of Proyecto Integrado Antonio Jesus Duenas

PROYECTO INTEGRADO

TUTORIAL AUTENTIFICACIN LDAP CONTRA SAMBA

A

ANTONIO JESS DUEAS QUESADA

Pg. - 2 -

CURSO 2006/07INDICE DE CONTENIDOS 1. INTRODUCCIN... 1.1. Qu es OpenLDAP y SAMBA?........................................................................ 1.2. Motivos de eleccin de proyecto 1.3. Para qu nos sirve y uso que le podemos dar?.................................................. 2. HARDWARE. 2.1. Tipos de Hardware 3. SOFTWARE 3.1. TIPOS DE SOFTWARE. 3.2. SISTEMA OPERATIVO 3.2.1. Windows 2003 Server 3.2.2. Linux Ubuntu 7.04 3.2.3. En qu Sistema Operativo nos basaremos y por qu?.............................. 4. 5. COSTES DE PROYECTO TUTORIAL 5.1. LDAP. 5.1.1. Conceptos tericos. 5.1.2. Instalacin...................... 5.1.3. Configuracin. 5.2. PHPLDAPADMIN. 5.2.1. Conceptos tericos. 5.2.2. Instalacin.. 5.2.3. Configuracin. 5.3. AUTENTIFICACIN DE USUARIOS A TRAVS DE OpenLDAP.. 5.3.1. Instalacin del software necesario. 5.3.1.1. Instalacin pam_ldap 5.3.1.2. Instalacin de nss_ldap. 5.3.2. Configuracin de los archivos necesarios.. 5.3.2.1. /etc/nsswitch.conf. 5.3.2.2. Configuracin PAM. 5.3.2.3. /etc/pam.d/common-account 5.3.2.4. /etc/pam.d/common-auth.. 5.3.2.5. /etc/pam.d/common-session. 4 4 4 4 4 5 6 6 7 8 10 12 13 17 17 17 18 26 26 26 26 27 31 31 31 36 42 42 43 43 43 43

Pg. - 3 5.3.2.6. /etc/pam.d/common-passwd. 5.3.2.7. Comprobando que todo funciona. 5.4. SAMBA.. 5.4.1. Conceptos tericos. 5.4.2. Instalacin.. 5.4.3. Configuracin SAMBA. 5.4.4. Configuracin de un cliente SAMBA 5.5. Agregando usuarios a PHPLDAPADMIN. 5.5.1. Asignando privilegios y automatizando 5.5.2. Scripts de inicio de sesin.. 5.5.3. Habilitar Profiles 5.5.4. Creacin de home por defecto 5.5.5. Permitir cambio de contrasea... 6. 7. AUTENTIFICANDO EN WINDOWS XP. CONCEPTOS FINALES 7.1. Concepto de recursos utilizados.. 7.2. Conclusin.. 8. 9. ANEXOS. RESULTADOS... 44 44 45 45 49 51 52 52 53 54 55 55 55 56 59 59 60 60 60

Pg. - 4 1. INTRODUCCIN.

Es un proyecto basado en la integracin de las tecnologas LDAP y SAMBA bajo un sistema operativo libre de la distribucin Ubuntu 7.04 Server (distribucin especial para servidores), para poder tener como servidor un Software libre, para poder dar soporte a los Sistemas operativos basado en Linux y de la plataforma Microsoft. Autentificando los usuarios con LDAP, bajo el gestor de dominios que se agrupa a los usuarios y utilizando Samba para poder permitir acceso de lectura y escritura a una carpeta alojada en el propio servidor, donde se guardan todos los datos que se efecten en la maquina remota. 1.1. QU ES LDAP, SAMBA? OpenLDAP, es una implementacin open source del protocolo LDAP (lighweight Directory Access Protocol). Samba, es una suite que permite la interconexin, a travs de la red, de sistemas Windows, Unix y otros sistemas operativos, haciendo uso de los protocolos nativos de Windows. 1.2. MOTIVOS DE ELECCIN DE PROYECTO Si alguna vez ha tenido que realizar labores de administracin en redes heterogneas, en las cuales existan mltiples clientes, y cada uno de ellos pueda tener un sistema operativo distinto, sobre el cual puedan operar una infinidad de usuarios; se habr dado cuenta de la complejidad que esto conlleva. Por poner un simple ejemplo, si no posee una base de datos de usuarios comn a todos los clientes, tendra que dar de alta a cada nuevo cliente en cada una de las mquinas que quisiese utilizar. Piense ahora que ocurrira si, por un cambio de poltica de su empresa, se tenga que modificar cierto aspecto en todas las cuentas de los usuarios existentes... Si entramos en el aspecto de la comparticin de archivos entre los distintos usuarios, o el almacn de los documentos de un determinado usuario, que puede utilizar mltiples clientes, la cosa se complica. Y si a todo esto se le aade la gestin de las cuotas de impresin de todos y cada uno de los usuarios, se hace necesario buscar un mtodo que facilite, en la medida de lo posible, la labor de administracin. 1.3. PARA QU NOS SIVER Y USO QUE LE PODEMOS DAR? Este proyecto intenta presentar un mtodo para facilitar la integracin de este tipo de redes. La idea es utilizar un directorio LDAP como base de datos comn para almacenar la informacin relativa a los usuarios (bien sea la informacin personal, la relativa a las cuentas Unix, la relativa a las cuentas Samba/Windows o bien las cuotas de impresin asociadas a un usuario o grupo de usuarios). Samba proveer la integracin de redes Unix/Windows, de forma que se simplifique sobremanera el intercambio y almacenamiento de informacin de los usuarios. Samba permitir, por ejemplo, tener un nico HOME por usuario, independientemente del cliente que se utilice. Tambin actuar como PDC (Servidor Primario de Dominio) de la red donde se encuentre, entre otras cosas. 2. HARDWARE

El hardware se refiere a todos los componentes fsicos (que se pueden tocar) de la computadora: discos, unidades de disco, monitor, teclado, ratn (mouse), impresora, placas, chips y dems perifricos. En cambio, el software es intangible, existe como ideas, conceptos, smbolos, pero no tiene sustancia. Una buena metfora sera un libro: las pginas y la tinta son el hardware, mientras que las palabras, oraciones, prrafos y el significado del texto son el software. Una computadora sin software sera tan intil como un libro con pginas en blanco.

Pg. - 5 -

Ejemplo de parte Hardware (CPU)

Para montar estos servicios, necesitamos una maquina mnima citada en el apartado 1.4., estas caractersticas son las mnimas recomendadas por el Sistema Operativo que vamos a utilizar Ubuntu 7.04 Server. La parte hardware es muy importante a tener en cuenta, debido que segn sus caractersticas pueden ir bien o ralentizar nuestros servicios.

2.1. TIPOS DE HARDWARE Se clasifica generalmente en bsico y complementario, entendiendo por bsico todo aquel dispositivo necesario para iniciar el funcionamiento de la computadora, y el complementario como su nombre lo dice sirve para realizar funciones especficas o ms all de las bsicas. Perifricos de entrada (E) Son los que permiten al usuario que ingrese informacin desde el exterior. Entre ellos podemos encontrar: teclado, ratn (mouse), escner, SAI (Sistema de Alimentacin Ininterrumpida), micrfono, etc. Perifricos de salida (S) Son los que muestran al usuario el resultado de las operaciones realizadas por el PC. En este grupo podemos encontrar: monitor, impresora, altavoces, etc. Perifricos de entrada/salida (E/S) Son los dispositivos que pueden aportar simultneamente informacin exterior al PC y al usuario. Aqu se encuentran: mdem (Modulador/Demodulador), unidades de almacenamiento (Discos duros, disquetes o floppy), ZIP, Memorias USB, flash, etc)... Hardware, Computadora: aparato electrnico capaz de interpretar y ejecutar comandos programados para operaciones de entrada, salida, clculo y lgica. Las computadoras: 1. 2. 3. 4. Reciben entradas. La entrada son los datos que se capturan en un sistema de computacin para su procesamiento. Producen salidas. La salida es la presentacin de los resultados del procesamiento. Procesan informacin Almacenan informacin

Todo sistema de cmputo tiene componentes de hardware dedicados a estas funciones: 1. 2. Dispositivos de entrada Dispositivos de salida

Pg. - 6 3. 4. Unidad central de procesamiento. Es la computadora real, la "inteligencia" de un sistema de computacin. Memoria y dispositivos de almacenamiento.

Cada dispositivo de entrada es slo otra fuente de seales elctricas; cada dispositivo de salida no es ms que otro lugar al cual enviar seales; cada dispositivo de almacenamiento es lo uno o lo otro, dependiendo de lo que requiera el programa; no importa cules sean los dispositivos de entrada y salida si son compatibles. Los elementos fundamentales que justifican el uso de las computadoras, radican en que las computadoras son: tiles. Baratas: tanto con respecto a s mismas como con respecto al costo de la mano de obra. Fciles de utilizar. Tecnologas y avances 1 generacin: Con tubos de vaco, tubos de vidrio del tamao de una bombilla que albergaban circuitos elctricos. Estas mquinas eran muy grandes caras y de difcil operacin. 2 generacin: con transistores. Mquinas ms pequeas, confiables y econmicas. 3 generacin: Con la tecnologa que permiti empaquetar cientos de transistores en un circuito integrado de un chip de silicio. 4 generacin: con el microprocesador, que es una computadora completa empaquetada en un solo chip de silicio.

3.

SOFTWARE

Se denomina software, programtica, equipamiento lgico o soporte lgico a todos los componentes intangibles de una computadora, es decir, al conjunto de programas y procedimientos necesarios para hacer posible la realizacin de una tarea especfica, en contraposicin a los componentes fsicos del sistema (hardware). Esto incluye aplicaciones informticas tales como un procesador de textos, que permite al usuario realizar una tarea, y software de sistema como un sistema operativo, que permite al resto de programas funcionar adecuadamente, facilitando la interaccin con los componentes fsicos y el resto de aplicaciones. El trmino software fue usado por primera vez en este sentido por John W. Tukey en 1957. En las ciencias de la computacin y la ingeniera de software, el software es toda la informacin procesada por los sistemas informticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones de la memoria de un dispositivo para controlar clculos fue inventado por Charles Babbage como parte de su mquina diferencial. La teora que forma la base de la mayor parte del software moderno fue propuesta por vez primera por Alan Turing en su ensayo de 1936, Los nmeros computables, con una aplicacin al problema de decisin.

3.1. TIPOS DE SOFTWARE Existen varios tipos de software, que se pueden resumir y dividir en los siguientes grupos: Software de sistema, es la parte que permite funcionar al hardware. Su objetivo es aislar tanto como sea posible al programador de aplicaciones de los detalles del computador particular que se use, especialmente de las caractersticas fsicas de la memoria, dispositivos de comunicaciones, impresoras, pantallas, teclados, etctera. Incluye entre otros: o Sistemas operativos o Controladores de dispositivo o Herramientas de diagnstico o Servidores

Pg. - 7 o o Sistemas de ventanas Utilidades

Software de programacin, que proporciona herramientas para ayudar al programador a escribir programas informticos y a usar diferentes lenguajes de programacin de forma prctica. Incluye entre otros: o Editores de texto o Compiladores o Intrpretes o Enlazadores o Depuradores o Los entornos integrados de desarrollo (IDE) agrupan estas herramientas de forma que el programador no necesite introducir mltiples comandos para compilar, interpretar, depurar, etctera, gracias a que habitualmente cuentan con una interfaz grfica de usuario (GUI) avanzada. Software de aplicacin, que permite a los usuarios llevar a cabo una o varias tareas ms especficas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios. Incluye entre otros: o Aplicaciones de automatizacin industrial o Aplicaciones ofimticas o Software educativo o Software mdico o Bases de datos o Videojuegos

3.2. SISTEMA OPERATIVO Un sistema operativo (cuyo acrnimo es S.O.) es un conjunto de programas destinados a permitir la comunicacin del usuario con un computador y gestionar sus recursos de una forma eficaz. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la mquina desde los niveles ms bsicos. Un sistema operativo se puede encontrar normalmente en la mayora de los aparatos electrnicos que podamos utilizar sin necesidad de estar conectados a una computadora y que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la mquina y que sta cumpla con sus funciones (telfonos mviles, reproductores de DVD, autoradios... y computadoras) Las funciones bsicas que tiene un S.O., es la de Gestionar los recursos del equipo ejecutando servicios para los procesos (programas), y brindar una interfaz al usuario, ejecutando una serie de instrucciones o comandos. Tambin un S.O. es el encargado de gestionar todos los recursos de un Sistema Operativo administrando, La CPU Los memoria Los dispositivos de E/S Las colas de procesos Administrar los recursos

Un S.O. est considerado como un programa, que ha alcanzado un tamao muy grande, debido a que tiene que ser capaz de realizar muchas tareas. Por esta razn el construir un S.O. es debido dividirlo en componentes mas pequeos para que sea de capaz de organizarse para poder realizar todas estas tareas, y podemos dividir estos componentes en,

Pg. - 8 Gestin de procesos Gestin de memoria Gestin de archivos y directorios Gestin de la E/S Seguridad y proteccin Comunicacin y sincronizacin entre procesos Intrprete de ordenes

Aparte de gestionar sus recursos y tener unos componentes, debe de tener unas caractersticas que se pueden agrupar de las siguientes, Administracin de tareas: o Monotarea: Si solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuar hacindolo hasta su finalizacin o interrupcin. o Multitarea: Si es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, perifricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente. Administracin de usuarios: o Monousuario: Si slo permite ejecutar los programas de un usuario al mismo tiempo. o Multiusuario: Si permite que varios usuarios ejecuten simultneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos SS.OO. utilizan mtodos de proteccin de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario. Manejo de recursos: o Centralizado: Si permite utilizar los recursos de una sola computadora. o Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, perifricos... ) de ms de una computadora al mismo tiempo. 3.2.1. Windows 2003 Server

Sus caractersticas ms importantes son: Sistema de archivos NTFS: 1. 2. 3. cuotas cifrado y compresin de archivos, carpetas y no unidades completas. permite montar dispositivos de almacenamiento sobre sistemas de archivos de otros dispositivos al estilo unix Gestin de almacenamiento, backups... incluye gestin jerrquica del almacenamiento, consiste en utilizar un algoritmo de cache para pasar los datos menos usados de discos duros a medios pticos o similares ms lentos, y volverlos a leer a disco duro cuando se necesitan. Windows Driver Model: Implementacin bsica de los dispositivos ms utilizados, de esa manera los fabricantes de dispositivos slo han de programar ciertas especificaciones de su hardware. ActiveDirectory Directorio de organizacin basado en LDAP, permite gestionar de forma centralizada la seguridad de una red corporativa a nivel local. Autentificacin Kerberos5 DNS con registro de IP's dinmicamente Polticas de seguridad

Pg. - 9 Actualmente existen cuatro versiones de Windows 2003, aunque todas ellas cuentan a su vez con versiones de 32 y 64 bits (excepto Web Edition). Las versiones son: Web Edition Diseado para los servicios y el hospedaje Web. Standard Edition El ms verstil de todos, ofrece un gran nmero de servicios tiles para empresas de cualquier tamao. Enterprise Edition Para empresas de mayor tamao que la Standard Edition. Datacenter Edition Para empresas que requieran bases de datos ms escalables y un procesamiento de transacciones de gran volumen. Las diferencias entre las versiones, explicadas en mayor detalle, pueden encontrarse en la Web de Microsoft http://www.microsoft.com/spain/windowsserver2003/evaluation/choosing/default.aspx Requisitos Mnimos para instalar Windows 2003 Estndar Edition Requisitos del sistema Requisito Velocidad mnima de la CPU Velocidad recomendada de la CPU Memoria RAM mnima Memoria RAM mnima recomendada Memoria RAM mxima Soporte para multiprocesadores Espacio en disco para la instalacin Standard Edition 133 MHz 550 MHz 128 MB 256 MB 4 GB Hasta 4 1,5 GB

Para este proyecto necesitaramos la versin del 2003 Server la Standard Edition, y al ser un software de pago tiene un coste que expongo en el presupuesto desde la web de Dynos (www.dynos.es).

Pg. - 10 -

3.2.2. Historia

Linux Ubuntu 7.04

El 8 de julio de 2004, Mark Shuttleworth y la empresa Canonical Ltd. anunciaron la creacin de la distribucin Ubuntu. sta tuvo una financiacin inicial de 10 millones de dlares (US$). El proyecto naci por iniciativa de algunos programadores de los proyectos Debian, Gnome porque se encontraban decepcionados con la manera de operar del proyecto Debian, la distribucin Linux sin nimo de lucro ms popular del mundo. De acuerdo con sus fundadores, Debian era un proyecto demasiado burocrtico donde no existan responsabilidades definidas y donde cualquier propuesta interesante se ahogaba en un mar de discusiones. Asimismo, Debian no pona nfasis en estabilizar el desarrollo de sus versiones de prueba y slo proporcionaba auditoras de seguridad a su versin estable, la cual era utilizada slo por una minora debido a la poca o nula vigencia que posea en trminos de la tecnologa Linux actual. Tras formar un grupo multidisciplinario, los programadores decidieron buscar el apoyo econmico de Mark Shuttleworth, un emprendedor sudafricano que vendi la empresa Thawte a VeriSign, cuatro aos despus de fundarla en el garaje de su domicilio, por 575 millones de dlares estadounidenses. Shuttleworth vio con simpata el proyecto y decidi convertirlo en una iniciativa autosostenible, combinando su experiencia en la creacin de nuevas empresas con el talento y la experiencia de los programadores de la plataforma Linux. De esta forma naci la empresa Canonical, la cual se encarga de sostener econmicamente el proyecto mediante la comercializacin de servicios y soporte tcnico a otras empresas. Mientras los programadores armaban el sistema, Shuttleworth aprovech la ocasin para aplicar una pequea campaa de mercadotecnia para despertar inters en "la distribucin-sin-nombre" (en ingls: the no-namedistro). Tras varios meses de trabajo y un breve perodo de pruebas, la primera versin de Ubuntu (Warty Warthog) fue lanzada el 20 de octubre de 2004. Caractersticas

Pg. - 11 Basada en la distribucin Debian. Disponible en 4 arquitecturas: Intel x86, AMD64, PowerPC, SPARC (para esta ltima slo existe la versin servidor). Los desarrolladores de Ubuntu se basan en gran medida en el trabajo de las comunidades de Debian y GNOME. Las versiones estables se liberan cada 6 meses y se mantienen actualizadas en materia de seguridad hasta 18 meses despus de su lanzamiento. La nomenclatura de las versiones no obedece principalmente a un orden de desarrollo, se compone del dgito del ao de emisin y del mes en que esto ocurre. La versin 4.10 es de octubre de 2004, la 5.04 es de abril de 2005, la 5.10 de octubre de 2005, la 6.06 es de junio de 2006, la 6.10 es de octubre de 2006 y la 7.04 es de abril de 2007. El entorno de escritorio oficial es Gnome y se sincronizan con sus liberaciones. Para centrarse en solucionar rpidamente los bugs, conflictos de paquetes, etc. se decidi eliminar ciertos paquetes del componente main, ya que no son populares o simplemente se escogieron de forma arbitraria por gusto o sus bases de apoyo al software libre. Por tales motivos inicialmente KDE no se encontraba con ms soporte de lo que entregaban los mantenedores de Debian en sus repositorios, razn por la que se sum la comunidad de KDE distribuyendo la distro llamada Kubuntu. De forma sincronizada a la versin 6.06 de Ubuntu, apareci por primera vez la distribucin Xubuntu, basada en el entorno de escritorio XFce. El navegador web oficial es Mozilla Firefox. El sistema incluye funciones avanzadas de seguridad y entre sus polticas se encuentra el no activar, de forma predeterminada, procesos latentes al momento de instalarse. Por eso mismo, no hay un firewall predeterminado, ya que no existen servicios que puedan atentar a la seguridad del sistema. Para labores/tareas administrativas en terminal incluye una herramienta llamada sudo (similar al Mac OS X), con la que se evita el uso del usuario root (administrador). Mejorar la accesibilidad y la internacionalizacin, de modo que el software est disponible para tanta gente como sea posible. En la versin 5.04, el UTF-8 es la codificacin de caracteres en forma predeterminada.

CDs de Ubuntu 5.04 No slo tiene como lazo a Debian el uso del mismo formato de paquetes deb, Ubuntu tiene uniones muy fuertes con esa comunidad, contribuyendo cualquier cambio directamente e inmediatamente, ms que anuncindolos. Esto sucede en los tiempos de lanzamiento. Muchos de los desarrolladores de Ubuntu son tambin responsables de los paquetes importantes dentro de la distribucin de Debian. Todos los lanzamientos de Ubuntu se proporcionan sin costo alguno. Los CDs de la distribucin se envan de forma gratuita a cualquier persona que los solicite mediante el servicio ShipIt (la versin 6.10 no se lleg a distribuir de forma gratuita en CD's, pero la versin 7.04 si se distribuye). Tambin es posible descargar las imgenes ISO de los discos por transferencia directa o bajo la tecnologa Bittorrent. Ubuntu no cobra honorarios por la suscripcin de las mejoras de la "Edicin Enterprise". Ubuntu al ser un Software Libre es gratuito, y como antes he mencionado se puede descargar desde distintos sitios de la red, e incluso pedir los CDs y que los traigan a casa. Requisitos del sistema

Pg. - 12 Requisito Memoria RAM mnima Memoria RAM mnima recomendada Espacio en disco para la instalacin Ubuntu 7.04 Server 128 MB 256 MB 1,5 GB

3.2.3.

En qu Sistema Operativo nos basaremos?

Nuestra base es un sistema operativo libre basado en el proyecto GNU, dicho proyecto fue iniciado por Richard Stallman, cuyo objetivo era crear un sistema operativo completamente libre, que en el ao 1985 Stallman cre la Free Software Foundation (FSF o Fundacin para el Software Libre) para proveer soportes logsticos, legales y financieros al proyecto GNU. La FSF tambin contrat programadores para contribuir a GNU, aunque una porcin sustancial del desarrollo fue (y contina siendo) producida por voluntarios. A medida que GNU ganaba renombre, negocios interesados comenzaron a contribuir al desarrollo o comercializacin de productos GNU y el correspondiente soporte tcnico. El ms prominente y exitoso de ellos fue Cygnus Solutions, ahora parte de Red Hat. En 1991, Linus Torvalds empez a escribir el ncleo Linux y decidi distribuirlo bajo la GPL. Rpidamente, mltiples programadores se unieron a Linus en el desarrollo, colaborando a travs de Internet y consiguiendo paulatinamente que Linux llegase a ser un ncleo compatible con UNIX. En 1992, el ncleo Linux fue combinado con el sistema GNU, resultando en un sistema operativo libre y completamente funcional. El sistema operativo formado por esta combinacin es usualmente conocido como "GNU/Linux" o como una "distribucin Linux" y existen diversas variantes. A raz de este hecho empez a desarrollarse las primeras distribuciones Linux. Y una vez comentado la base, tenemos que especificar que la distribucin de Linux que vamos a usar es la Ubuntu 7.04 Server. Por qu Ubuntu 7.04? Nos basaremos en esta distribucin por varias razones, que son: Ningn tipo de coste de Software Basada en Debian (cuya distribucin es la mejor desde mi punto de vista para servidores) Rpido Estable Reconoce todo tipo de Hardware estndar

Estas son algunas de las razones que he elegido este S.O., pero sobre todo porque es gratuito y estoy a favor del Software Libre, creo que debera de ser todo el software as para poder crecer y mejorar los programas. Adems Ubuntu 7.04 necesita menos requisitos que Windows 2003 Server, y al necesitar menos requisitos implica que la maquina no debe de ser tan potente y tan cara para montar el S.O. y sus recursos. De esta manera ahorramos costes en nuestro proyecto.

Pg. - 13 4. COSTES DE PROYECTO

Anlisis de los medios fsicos En nuestro proyecto debemos de tener mnimo 2 ordenadores, uno para que acte de Servidor y otro de Cliente. A continuacin presento 2 Presupuestos de una maquina servidor y otra maquina genrica.

PRESUPUESTO SERVIDOR Poweredge SC440 (SC064401) 299,00 Precio sin IVA, gastos de envo excluidos (99 sin IVA) (salvo disposicin contraria)

Poweredge SC440 (SC064401) Date Nmero de catlogo Nmero de catlogo / Descripcin Base: Dual Core Intel Xeon 3040 Processor at 1.86GHz, 2MB L2 cache, 1066MHz FSB Enhanced Service Packs: Sin ampliacin de garanta Memory: 512MB DDR2 SDRAM 667MHz Memory (1x512MB single ranked DIMMs) Raid Connectivity: C1 - SATA de placa base con cable, 1 disco duro conectado a un controlador SATA integrado, sin RAID 1st Hard Drive: 160GB, SATA, 3.5-inch, 7.200 rpm Hard Drive Shipping Documents: Spanish Documentation, Euro Power Cord 03/06/2007 19:07:16 Romance Standard Time 1919 Retail esbsdt1 Cdigo del producto SKU 73347 [210-16898] Id. 1

9812

[680-11460]

30

73362

[370-12593]

3

73373

[780-10796]

35

73370

[400-12937]

668

73351

[340-14001]

21

Elija su chasis: Chasis de torre del servidor PE SC440 (Nivel 73365 5) Monitor:No se necesita monitor Mouse: Sin ratn instalado de fbrica Keyboard: No se necesita teclado 6040 71303 7328

[350-10188] [480-11024] [570-10291] [580-11029]

116 5 12 4

Pg. - 14 -

Administracin de sistemas: CD de Open Manage con drivers Standard Warranty: Garanta base Order Information: Peticin de PowerEdge - Espaa Optical Devices: Unidad combo de DVD/CDRW 48X Floppy Drives and Additional Storage Devices: No se necesita disquetera Factory Installed Operating System: SC - Sin sistema operativo Installation Services: Ha optado por no elegir el servicio de instalacin de PowerEdge de Dell

73378

[631-10117] [68810587][68810588] [800-11310] [429-12298]

49

75269

29

97485 71267

111 16

38498

[385-10321]

10

8014

[611-10037]

285

75313

[683-11870]

32

Este es el presupuesto de la maquina que har de servidor su precio es de 299 sin IVA, incluyendo el IVA que sera de un 16 % con un coste total de 346.84 Y a continuacin expongo el presupuesto del ordenador Genrico DELL:

Componentes PROCESADOR SISTEMA OPERATIVO SERVICIO DE ASISTENCIA MONITOR MEMORIA UNIDAD DE DISCO DURO TARJETA GRFICA UNIDAD(ES) PTICA(S) TECLADO RATN

Intel Core 2 Duo E6320 Processor (1.86GHz, 1066MHz, 4MB) Windows Vista Ultimate original (32 bits) - Espaol Paquete bsico, 3 aos de servicio a domicilio Pantalla plana panormica de Dell de 20" en negro (E207WFP) - Europeo Memoria de 2048 MB de canal dual con DDR2 de 533 MHz (2x1024) Unidad de disco duro no RAID de 500 GB (2x250 GB- 7200 rpm) Tarjeta grfica PCI Express Pro X1300; ATI Radeon de 256 MB Unidad de DVD+/-RW 16 X Teclado Quietkey USB bsico de Dell - Espaol (QWERTY) Ratn ptico USB de Dell con 2 botones de desplazamiento - negro

Pg. - 15 -

Accesorios TARJETAS DE SONIDO ALTAVOCES DISQUETERA/UNIDADES EXTERNAS MDEMS SOFTWARE DE SEGURIDAD SOFTWARE DE MICROSOFT

Audio integrado con funcin Dolby Digital 7.1 Sin altavoces Lector interno de tarjetas de medios 13 en 1 Sin mdem Sin proteccin de seguridad/Anti-Virus - Espaol Microsoft Works 8.0 - Espaol

Incluido tambin con su sistema D065203 Gedis Bundle Reference E520 Spanish Documentation with EUR Power Cord Shipping Documents Dimension Order - Spain Order Information Recogida y entrega, slo un ao de servicio Standard Warranty Dell Internet Order. Dell Internet Order DVD de recursos de Dimension para Vista (herramientas de diagnstico y drivers) UNIDADES DE SISTEMA

Este Ordenador tiene un coste de 783.99 Sin IVA, sumndole el IVA del 16 % hace un total de 909,43 Estas 2 maquinas suman en NETO 1082.99 + el IVA 16% es un TOTAL: 1256.27 Aparte de los ordenadores es necesario poseer de un switch y 2 cables de red, a continuacin detallo los elementos necesarios: SWITCH 8 PUERTOS DE 1 GIGA 10 / 100 / 1000 MBPS CONCEPTRONIC

69,90 Foto orientativa Descripcin Especificaciones Generales: Compatible con redes IEEE 802.3 10BASET/802.3u 100BASE-TX/802.3ab Gigabit de cobre Ref: C07-100

Pg. - 16 Los 8 puertos se pueden utilizar como puerto de transmisin ascendente para realizar la conexin con otro conmutador Funcionamiento en modo bidireccional y direccional Va de enlace MDI / MDIX automtica para todos los puertos Requisitos mnimos de sistema: Red a 10 / 100 / 1000 Mbps

Switch que soporta hasta 1Gb de transferencia de datos, y a continuacin los latiguillos de categora 5e y UTP para que pueda soportar dicha transferencia de datos.

LATIGUILLO RJ45 UTP CAT 5E GRIS 0.25M

STEY 1,00 Ref: D45498G Descripcin MOLDEADO NO APANTALLADO.IEE 802.3.AWG 26 / 7

Como necesitamos 2 latiguillos 1 para el servidor y otro para el ordenador, hace un total de 2 IVA incluido, este pedido de Switch + 2 Latiguillos lo pediramos en Dynos.es, haciendo un total con IVA INCLUIDO de 71.90 . Ambos pedidos de las maquinas como de Dynos tienen un plazo de entrega de 5 das, a partir de la fecha de pedido. El coste inicial ser de 1256.27 + 71.90 = 1328.17 Aparte necesitamos una conexin a Internet para poder descargar de los repositorios de Ubuntu los paquetes que vamos a necesitar, estudiando las ofertas del mercado: ONO Lnea de 4 Mbs Bajada Solo Internet Sin cuota de Alta hasta fin de mes de Junio Precio: 40.6 /Mes Telefnica Lnea de 3 Mbs de Bajada Lnea de telfono + Gratis Llamadas nacionales + Internet 3 Mbs Sin cuota de Alta Hasta el 30 de Junio solo pagas 3 /mes Alquiler de Lnea Precio: 56.60 /Mes

Pg. - 17 TELE2 Lnea de Hasta 20 Mbs de Bajada Lnea de Telfono + Gratis Llamadas nacionales y locales + Internet 20 Mbs Sin cuota de alta Alquiler de lnea Precio: 39.90 /Mes Estudiando la oferta, escogeremos TELE2 que tiene ms Mbs de Bajada y su cuota es la mas barata al mes. 5. TUTORIAL 5.1. LDAP 5.1.1. Conceptos tericos Qu es LDAP? LDAP son las siglas de Lightweight Directory Access Protocol. Como su propio nombre indica, es un protocolo ligero para acceder al servicio de directorio, especialmente al basado en X.500. LDAP se ejecuta sobre TCP/IP o sobre otros servicios de transferencia orientado a conexin. La definicin detallada de LDAP est disponible en el RFC2251 The Lightweight Directory Access Protocol (v3) y en otro documento que comprende las especificaciones tcnicas, RFC3377

Qu tipo de informacin se puede almacenar en un directorio? El modelo de informacin de LDAP est basado en entradas. Una entrada es una coleccin de atributos que tienen un nico y global Nombre Distinguido (DN). El DN se utiliza para referirse a una entrada sin ambigedades. Cada atributo de una entrada posee un tipo y uno o ms valores. Los tipos son normalmente palabras nemotcnicas, como cn para common name, o mail para una direccin de correo. La sintaxis de los atributos depende del tipo de atributo. Por ejemplo, un atributo cn puede contener el valor Antonio J. Dueas. Un atributo email puede contener un valor [email protected].

Cmo se almacena la informacin? En LDAP, las entradas estn organizadas en una estructura jerrquica en rbol. Tradicionalmente, esta estructura reflejaba los lmites geogrficos y organizacionales. Las entradas que representan pases aparecen en la parte superior del rbol. Debajo de ellos, estn las entradas que representan los estados y las organizaciones nacionales. Debajo de ests, pueden estar las entradas que representan las unidades organizacionales, empleados, impresoras, documentos o todo aquello que pueda imaginarse. El ejemplo rbol del directorio LDAP muestra un ejemplo de un rbol de directorio LDAP haciendo uso del nombramiento tradicional.

ARBOL DE DIRECTORIO

Cmo se accede a la informacin? DAP define operaciones para interrogar y actualizar el directorio. Provee operaciones para aadir y borrar entradas del directorio, modificar una entrada existente y cambiar el nombre de una

Pg. - 18 entrada. La mayor parte del tiempo, sin embargo, LDAP se utiliza para buscar informacin almacenada en el directorio. Las operaciones de bsqueda de LDAP permiten buscar entradas que concuerdan con algn criterio especificado por un filtro de bsqueda. La informacin puede ser solicitada desde cada entrada que concuerda con dicho criterio. Ejemplo: Nosotros queremos acceder a la informacin de una persona, pongamos Antonio, pues bien, debemos de introducir, dn=iesvirgendelcarmen,dc=com,ou=alumnos,cn=antonio Cmo trabaja LDAP? El servicio de directorio de LDAP est basado en el modelo cliente/servidor. Uno o ms servidores LDAP contienen los datos que conforman la informacin del rbol del directorio [5] (DIT). El cliente se conecta a los servidores y les formula preguntas. Los servidores responden con una respuesta o con un puntero donde el cliente puede obtener informacin adicional (normalmente otro servidor LDAP). No importa a que servidor LDAP se conecte un cliente, este siempre obtendr la misma visin del directorio; un nombre presentado por un servidor LDAP referencia la misma entrada que cualquier otro servidor LDAP. Esta es una caracterstica muy importante del servicio global de directorio, como LDAP.

Cul es la diferencia entre LDAPv2 y LDAPv3? LDAPv3 fue desarrollado en los aos 90 para reemplazar a LDAPv2. LDAPv3 incorpora las siguientes caractersticas a LDAP: o o o o o o Autentificacin fuerte haciendo uso de SASL Proteccin de integridad y confidencialidad haciendo uso de TLS (SSL) Internacionalizacin gracias al uso de Unicode Remisiones y continuaciones Descubrimiento de esquemas Extensibilidad (controles, operaciones extendidas y ms)

LDAPv2 es histrico (RFC3494). Muchas implementaciones de LDAPv2 (incluyendo slapd (8) no se adaptan a las especificaciones tcnicas de LDAPv2, la interoperabilidad entre las distintas implementaciones de LDAPv2 es muy limitada. Como LDAPv2 difiere significativamente de LDAPv3, la interactuacin entre ambas versiones puede ser un poco problemtica. LDAPv2 ha de evitarse, por lo que en la implementacin de OpenLDAP viene deshabilitado por defecto.

5.1.2.

Instalacin LDAP

El primer paso para instalar OpenLDAP, es instalar los paquetes slapd y ldap-utils. Veamos el procedimiento, 1. 2. 3. Abrimos la consola Nos identificamos como root, e introducimos la contrasea. # sudo su Procedemos a la instalacin,

# apt-get install slapd ldap-utils Leyendo lista de paquetes... Hecho Creando rbol de dependencias... Hecho Se instalarn los siguientes paquetes NUEVOS: ldap-utils slapd 0 actualizados, 2 se instalarn, 0 para eliminar y 1 no actualizados.

Pg. - 19 Se necesita descargar 0B/1042kB de archivos. Se utilizarn 2884kB de espacio de disco adicional despus de desempaquetar. Preconfiguring packages ...

Configuracin de slapd mediante debconf

Si se quiere configurar algunos aspectos de slapd a travs de debconf, responda No, en esta pantalla.

Configuracin de slapd, eleccin del dominio

Pg. - 20 -

Esta pantalla se pide el dominio sobre el cual se va a ejecutar el servidor slapd, en este caso ser el dominio iesvirgendelcarmen.com. Configuracin de slapd, nombre de la organizacin

Solicitud del nombre de la organizacin que est instalando el servidor OpenLDAP. En este ejemplo se dejar el nombre del dominio anteriormente tecleado: iesvirgendelcarmen.com. Configuracin de slapd, clave de administrador

Pg. - 21 -

Pantalla de solicitud de la clave para el administrador del servicio LDAP. Este usuario es el superusuario (root) de OpenLDAP, por lo que se debera elegir una buena clave. Configuracin de slapd, repetir clave de administrador

Pg. - 22 Verificacin de la clave del administrador, se ha de teclear la misma que en la pantalla anterior. Recomendacin

Configuracin de slapd, eleccin del backed de la BBDD

Pg. - 23 Eleccin del backend de la base de datos que utilizar OpenLDAP. En este ejemplo se elegir BDB. Configuracin de slapd, conservar los datos al desinstalarlo?

Tenga cuidado con la eleccin de esta pantalla, puede perder los datos almacenados en la base de datos de OpenLDAP si "accidentalmente" se desinstala slapd. Seleccionamos que No queremos que se borre la base de datos de OpenLDAP al desinstalarse el servidor slapd. Configuracin de slapd, mover los datos antiguos?

Pg. - 24 Esta pantalla de configuracin puede no aparecer cuando instale OpenLDAP en su sistema, no se preocupe por ello. El motivo para que no aparezca es que no existen datos en el directorio /var/lib/ldap, esto se puede deber a que esta sea su primera instalacin de OpenLDAP o se hayan borrado los datos de dicho directorio, entre otros. Dependiendo de sus necesidades debera contestar o S o No en esta pantalla. En este ejemplo se contestar que S, de esta forma los datos existentes en /var/lib/ldap se empaquetarn y se movern movern a un directorio similar a /var/backups/var_lib_ldap-*FECHA*/ donde *FECHA* se sustituir por la fecha que posea el ordenador en ese momento. Configuracin de slapd, protocolo LDAPv2

-

Despus de la finalizacin del paquete LDAP, necesitamos la instalacin de los paquetes ldap-utils #apt-get install ldap-utils Seleccionando el paquete ldap-utils previamente no seleccionado. (Leyendo la base de datos ... 252690 ficheros y directorios instalados actualmente.) Desempaquetando ldap-utils (de .../ldap-utils_2.1.30-1_i386.deb) ... Seleccionando el paquete slapd previamente no seleccionado. Desempaquetando slapd (de .../slapd_2.1.30-1_i386.deb) ... Configurando ldap-utils (2.1.30-1) ... Configurando slapd (2.1.30-1) ... Creating initial slapd configuration... done Creating initial LDAP directory... done Starting OpenLDAP: slapd. localepurge: checking system for new locale ... localepurge: processing locale files ... localepurge: processing man pages ... o Adems de ldap-utils necesitamos instalar el siguiente paquete, que sirve para la base de datos de LDAP. # apt-get install db4.2-util

o

Pg. - 25 -

Observaciones a la instalacin Una vez ms, dependiendo de cmo se encuentre su sistema y los paquetes que tenga instalados en el mismo, se instalarn y sugerirn ms o menos dependencias a la hora de instalar OpenLDAP. La siguiente captura muestra la informacin relativa a los paquetes que se acaban de instalar (dependencias, sugerencias de instalacin, etc). # apt-cache show slapd ldap-utils - Package: slapd - Priority: optional - Section: net - Installed-Size: 2516 - Maintainer: Torsten Landschoff - Architecture: i386 - Source: openldap2 - Version: 2.1.30-1 - Provides: ldap-server - Depends: libc6 (>= 2.3.2.ds1-4), libdb4.2, libgcrypt7, - libgnutls10 (>= 1.0.0-0), libgpg-error0 (>= 0.7), - libiodbc2 (>= 3.51.2-2), libldap2 (>= 2.1.17-1), - libltdl3 (>= 1.5.2-2), libsasl2 (>= 2.1.18), libslp1, - libtasn1-2 (>= 0.2.7), libwrap0, zlib1g (>= 1:1.2.1), - debconf (>= 0.5), coreutils (>= 4.5.1-1) | fileutils (>= 4.0i-1), - psmisc, libldap2 (= 2.1.30-1), perl (>> 5.8.0) | libmime-base64-perl - Recommends: db4.2-util, libsasl2-modules - Suggests: ldap-utils - Conflicts: umich-ldapd, ldap-server, libbind-dev, bind-dev, - libltdl3 (= 1.5.4-1) - Filename: pool/main/o/openldap2/slapd_2.1.30-1_i386.deb - Size: 940506 - MD5sum: 3cc284bf5c0bc8da52a5aabc61c56ca7 - Description: OpenLDAP server (slapd) - This is the OpenLDAP (Lightweight Directory Access Protocol) standalone - server (slapd). The server can be used to provide a standalone directory - service and also includes the slurpd replication server. - Package: ldap-utils - Priority: optional - Section: net - Installed-Size: 328 - Maintainer: Torsten Landschoff - Architecture: i386 - Source: openldap2 - Version: 2.1.30-1 - Replaces: openldap-utils, slapd (= 2.3.2.ds1-4), libdb4.2, libgcrypt7, - libgnutls10 (>= 1.0.0-0), libgpg-error0 (>= 0.7), - libiodbc2 (>= 3.51.2-2), libldap2 (>= 2.1.17-1), - libltdl3 (>= 1.5.2-2), libsasl2 (>= 2.1.18), libslp1, - libtasn1-2 (>= 0.2.7), zlib1g (>= 1:1.2.1), libldap2 (= 2.1.30-1) - Recommends: libsasl2-modules - Conflicts: umich-ldap-utils, openldap-utils, ldap-client - Filename: pool/main/o/openldap2/ldap-utils_2.1.30-1_i386.deb - Size: 113996 - MD5sum: 2842fec02d967bbf70943def051d9f58 - Description: OpenLDAP utilities - Utilities from the OpenLDAP (Lightweight Directory Access Protocol)

Pg. - 26 - package. These utilities can access a local or remote LDAP server - and contain all the client programs required to access LDAP servers. 5.1.3. Configuracin LDAP Como LDAP necesita el esquema de samba para trabajar, haremos lo siguiente en consola. # cd /usr/share/doc/samba-doc/examples/LDAP # gunzip samba.schema.gz # cp samba.schema /etc/ldap/schema/ Ahora aadimos la siguiente lnea a /etc/ldap/slapd.conf include /etc/ldap/schema/samba.schema

Y relanzamos el LDAP # /etc/init.d/slapd restart 5.2. PHPLDAPADMIN 5.2.1. Conceptos tericos PHPLDAPADMIN no es ms que un interfaz de configuracin del LDAP, del que controla el acceso de los usuarios y directivas. Esta interfaz est realizada con PHP, para poder ser ejecutada en el navegador de internet. (Internet Explorer, Mozilla, Firefox). 5.2.2. Instalacin de PHPLDAPADMIN Antes de instalar el PHPLDAPADMIN, es necesario disponer del servidor APACHE y soporte de PHP5, y tambin instalaremos MySQL, esto es debido a que PHPLDAPADMIN es un administrador de LDAP va Web en un el lenguaje PHP. Instalamos APACHE, en consola como root. # apt-get install apache2 Instalamos MySQL # apt-get install mysql-server-5.0 mysql-common mysql-client-5.0 Nota: Debemos de cambiar la contrasea de MySQL una vez instalado, de la siguiente manera. Con la herramienta MySQLAdmin cambiamos la contrasea, cambiando el valor NUEVA_CONTRASEA por la contrasea elegida. # mysqladmin u root password NUEVA_CONTRASEA Ahora procedemos a instalar, el PHP5 # apt-get install libapache2-mod-php5 php5 php5-cgi Una vez instalados los paquetes del PHP5, debemos de descomentar estas lneas en el siguiente archivo. /etc/apache2/apache.conf AddType application/x-httpd-php .php .php3 .php4 AddType application/x-httpd-php-source .phps Bien, ya tenemos instalados los paquetes y ahora procedemos a la instalacin de PHPLDAPADMIN. En consola, procedemos como root y ponemos, o # apt-get install phpldapadmin Leyendo lista de paquetes... Hecho Creando rbol de dependencias... Hecho Se instalarn los siguientes paquetes NUEVOS: phpldapadmin 0 actualizados, 1 se instalarn, 0 para eliminar y 0 no actualizados. Se necesita descargar 0B/376kB de archivos.

Pg. - 27 Se utilizarn 1774kB de espacio de disco adicional despus de desempaquetar. Preconfiguring packages ... --------------------- Sourcerer Apt Watcher ------------------Configure: phpldapadmin --------------------------------------------------------------Seleccionando el paquete phpldapadmin previamente no seleccionado. (Leyendo la base de datos ... 275016 ficheros y directorios instalados actualmente.) Desempaquetando phpldapadmin (de .../phpldapadmin_0.9.4- 6_all.deb) ... Configurando phpldapadmin (0.9.4-6) ...

Ya est instalado nuestro Controlador de LDAP en PHP, para acceder a l debemos de entrar en el navegador y ponemos la direccin del equipo servidor, en nuestro cas el servidor est bajo la IP 192.168.1.20, as accederemos en nuestro navegador de la siguiente manera. - Introducimos en la barra de direcciones o http://192.168.1.20/phpldapadmin/

Pantalla principal PHPLDAPADMIN

5.2.3.

Configuracin PHPLDAPADMIN Editamos el fichero /usr/share/phpldapadmin/templates/template_config.php y buscamos donde estn estas lneas: // uncomment to set the base dn of posix groups // default is set to the base dn of the server //#base_posix_groups="ou=People,dc=example,dc=com"; #samba3_domains[] = array( 'name' => 'IESvirgendelcarmen.com', 'sid' => 'S-1-5-21-4147564533-719371898-3834029857' ); // The base dn of samba group. (CUSTOMIZE) //#samba_base_groups = "ou=Groups,ou=samba,dc=example,dc=org"; Y las cambiamos por estas: // uncomment to set the base dn of posix groups

Pg. - 28 // default is set to the base dn of the server #base_posix_groups="ou=grupos,dc=iesvirgendelcarmen,dc=com"; #samba3_domains[] = array( 'name' => 'iesvirgendelcarmen', 'sid' => 'S-1-5-21-2620819820-906013693-4274777306' ); // The base dn of samba group. (CUSTOMIZE) #samba_base_groups = "ou=grupos,dc=iesvirgendelcarmen,dc=com"; Phpldapadmin requiere una utilidad llamada mkntpwd para crear las contraseas Samba hashes. esta incluida en smbldap-tools pero esta no parece estar incluida para Debian as que se requiere descargarla. # cd /opt/ # wget http://www.iesvirgendelcarmen.com.pe/soft/mkntpwd.tar.gz # tar -zxf mkntpwd.tar.gz # cd mkntpwd # make # cp mkntpwd /usr/local/bin Chequeamos que esta corriendo: # mkntpwd ENTORNO GRFICO A continuacin, veremos los pasos para configurar el PHPLDAPADMIN. 1 Nos identificamos pinchando en Autentificacin a la izquierda.

Despus de esto, debemos de ingresar grupos por defecto, una vez dentro de http://192.168.1.20/phpldapadmin/ (en nuestro caso) nos identificamos y creamos algunos grupo por defecto, para crearlos debemos usar Samba 3 Grpup Mapping sobre ou=grupos o Unix name Samba Name gid Samba gid

Pg. - 29 o o o Admins Domain Admin 20000 Built-In -> Domain Admins users Domain Users 20001 Built-In -> Domain Users guests Domain Guests 20002 Built-In -> Domain Guests

Unas capturas para que veamos cmo se realiza:

Sealamos Create next entry here, sealamos Samba Group Mapping y le damos a Proceed.

Una vez creado el objeto, introducimos en Group el nombre del grupo, en este caso GROUPS, y en users, los usuarios que queramos crear en dicho grupo, yo he creado Antonio y manolo.

Pg. - 30 -

Esta pgina nos indica el resumen de lo que vamos a crear, si estamos conformes pulsamos en Create Object y ya estar creado nuestro primer grupo SAMBA.

Como vemos a la izquierda viene ya creado el grupo como, cn=groups y a la derecha vemos la informacin de dicho grupo. Una vez explicado como se crea los grupos ahora debemos de crear, el grupo machines, users, pudindolos cambiar por grupos, profesores, usuarios. A continuacin veremos una captura de cmo quedara estructurado. Tambin decir que esta captura no corresponde a nuestro datos, porque estos datos estn alterados bajo otro dominio, en este caso silcom.com.pe pero en este tutorial nos basamos en iesvirgendelcarmen.com

Pg. - 31 -

5.3. AUTENTIFICACIN DE USUARIOS A TRAVS DE OPENLDAP Introduccin En este apartado se ver como configurar una mquina para que sus usuarios se autentifiquen a travs de un servidor LDAP. Para ello se han de modificar dos aspectos del comportamiento del sistema: El mapeado entre los nmeros de identificacin de los usuarios y sus nombres (utilizados, por ejemplo, por /bin/ls -l) o la localizacin del directorio home. La bsqueda de este tipo de informacin es responsabilidad del servicio de nombres, cuyo archivo de configuracin es: /etc/nsswitch.conf. La autentificacin (comprobacin de claves), que es responsabilidad del subsistema PAM, cuya configuracin se hace a travs del directorio /etc/pam.d/ Ambos subsistemas se han de configurar separadamente, pero en este caso, ambos se van a configurar de tal forma que hagan uso de LDAP. En este apartado slo se trata la instalacin y configuracin de los dos aspectos arriba expuestos, de todas formas, hay un tercer punto que, en sistemas en produccin, sera interesante abordar: la cach del servicio de nombres. 5.3.1. Instalacin del software necesario

Antes de poder autentificar a los usuarios a travs de un servidor LDAP, es necesario instalar algunas utilidades en el cliente, como pam_ldap y nss_ldap. Esta seccin mostrar la forma de instalacin de estas utilidades.

5.3.1.1. Instalacin de pam_ldap pam_ldap permite hacer uso de un servidor LDAP para la autentificacin de usuarios (comprobacin de claves) a aquellas aplicaciones que utilicen PAM.

Pg. - 32 En Debian GNU/Linux el paquete libpam-ldap provee esta funcionalidad, por lo que ser instalado en la mquina, como muestra el Ejemplo 5-2 Instalacin de libpam-ldap # apt-get install libpam-ldap Leyendo lista de paquetes... Hecho Creando rbol de dependencias... Hecho Paquetes sugeridos: libnss-ldap Se instalarn los siguientes paquetes NUEVOS: libpam-ldap 0 actualizados, 1 se instalarn, 0 para eliminar y 1 no actualizados. Se necesita descargar 0B/49,7kB de archivos. Se utilizarn 291kB de espacio de disco adicional despus de desempaquetar. Preconfiguring packages ... Seleccionando el paquete libpam-ldap previamente no seleccionado. (Leyendo la base de datos ... 252791 ficheros y directorios instalados actualmente.) Desempaquetando libpam-ldap (de .../libpam-ldap_164-2_i386.deb) ... Configurando libpam-ldap (164-2) ... localepurge: checking system for new locale ... localepurge: processing locale files ... localepurge: processing man pages ... Antes de continuar se van a configurar algunos aspectos del paquete libpam-ldap. Para ello es necesario ejecutar el siguiente comando: Configuracin del paquete libpam-ldap # dpkg-reconfigure --priority=low libpam-ldap URL del servidor LDAP

Pg. - 33 Direccin del servidor LDAP que se va a utilizar para la autentificacin de usuarios. Nombre distintivo de la base de bsquedas

Nombre distintivo de la base de bsquedas. Versin del protocolo LDAP

Pg. - 34 Versin del protocolo LDAP a utilizar. Comportamiento a la hora del cambio de claves

Contestamos afirmativamente a esta pregunta, de esta forma, aquellas aplicaciones que cambien claves por medio de PAM, se comportarn como si lo hiciesen de forma local. Necesita autentificacin la conexin con la base de datos?

Pg. - 35 En este ejemplo no se necesita autentificarse para acceder a la base de datos LDAP, por lo que se responde que NO. Administrador de LDAP

Cuenta del administrador de LDAP, en este caso "admin". Clave del administrador de LDAP

Pg. - 36 Se introduce la clave del administrador de LDAP. Eleccin el mtodo de encriptacin para las claves

El mtodo de encriptacin elegido para almacenar las claves ha sido "exop", de esta forma pam-ldap utilizar el algoritmo de hash especificado en el archivo /etc/ldap/slapd.conf, en lugar de realizar la operacin hash localmente y escribir el resultado en la base de datos directamente. La configuracin del mdulo pam_ldap.so se almacena en el archivo /etc/pam_ldap.conf, cuyo contenido se encuentra en el Apndice T. El archivo /etc/pam_ldap.conf se ha de poder leer por todos los usuarios del sistema, para asegurarse de que es legible por todo el mundo, puede ejecutar: /bin/chmod 644 /etc/pam_ldap.conf. En estos momentos el sistema ya est listo para la configuracin de los distintos servicios que utilizan PAM, de forma que estos utilicen LDAP para la comprobacin de la clave. Cada servicio que hace uso de PAM para la autentificacin, posee su propio archivo bajo el directorio /etc/pam.d/. Para que dicho servicio utilice LDAP en la comprobacin de claves, se ha de modificar su archivo de configuracin. Esto se ver en la Seccin 5.3.2.

5.3.1.2. Instalacin de nss-ldap nss-ldap permite a un servidor LDAP actuar como un servidor de nombres. Esto significa que provee la informacin de las cuentas de usuario, los IDs de los grupos, la informacin de la mquina, los alias, los grupos de red y bsicamente cualquier cosa que normalmente se obtiene desde los archivos almacenados bajo /etc o desde un servidor NIS.

Pg. - 37 En Debian GNU/Linux el paquete libnss-ldap provee esta funcionalidad, por lo que ser instalado en la mquina, como muestra el Ejemplo 5-5 Antes de proceder a su instalacin, echamos un vistazo a la descripcin del paquete: Instalacin de libnss-ldap # apt-cache show libnss-ldap Package: libnss-ldap Priority: extra Section: net Installed-Size: 208 Maintainer: Stephen Frost Architecture: i386 Version: 211-4 Depends: libc6 (>= 2.3.2-1), libdb4.1, libldap2 (>= 2.1.17-1), debconf Recommends: nscd, libpam-ldap Filename: pool/main/libn/libnss-ldap/libnss-ldap_211-4_i386.deb Size: 68052 MD5sum: c7fbc3504f8429655742e6a8cc7ec54c Description: NSS module for using LDAP as a naming service This package provides a Name Service Switch that allows your LDAP server act as a name service. This means providing user account information, group id's, host information, aliases, netgroups, and basically anything else that you would normally get from /etc flat files or NIS. . If used with glibc 2.1's nscd (Name Service Cache Daemon) it will help reduce your network traffic and speed up lookups for entries. Instalacin de libnss-ldap (primera parte) # apt-get install libnss-ldap Leyendo lista de paquetes... Hecho Creando rbol de dependencias... Hecho Paquetes recomendados nscd Se instalarn los siguientes paquetes NUEVOS: libnss-ldap 0 actualizados, 1 se instalarn, 0 para eliminar y 1 no actualizados. Se necesita descargar 0B/68,1kB de archivos. Se utilizarn 213kB de espacio de disco adicional despus de desempaquetar. Preconfiguring packages ...

Direccin del servidor LDAP

Pg. - 38 -

Direccin del servidor LDAP que se va a utilizar para la autentificacin de usuarios. Nombre distintivo de la base de bsquedas

Pg. - 39 Nombre distintivo de la base de bsquedas. Versin del protocolo LDAP

Versin del protocolo LDAP a utilizar, es recomendable hacer uso de la versin 3. Mtodo de acceso a la base de datos

Pg. - 40 En este ejemplo no se necesita autentificarse para acceder a la base de datos LDAP, por lo que se responde: NO. Permisos del archivo de configuracin

Es buena idea que slo el propietario del archivo pueda leer su informacin, mxime cuando este puede tener claves. Por este motivo se responde que S a esta pregunta.

Pg. - 41 Cuenta para hacer consultas con privilegios de root y e introducimos la clave para la cuenta admin

Informacin sobre libnss-ldap

Pg. - 42 La configuracin del paquete nos muestra informacin adicional sobre el mismo. Si se quiere ver el ejemplo del archivo /etc/nsswitch.conf que provee libnss-ldap, acceda a: /usr/share/doc/libnss-ldap/examples/nsswitch.ldap. De todas formas, en el Apndice S se dispone de un ejemplo. Instalacin de libnss-ldap (segunda parte) Seleccionando el paquete libnss-ldap previamente no seleccionado. (Leyendo la base de datos ... 252836 ficheros y directorios instalados actualmente.) Desempaquetando libnss-ldap (de .../libnss-ldap_211-4_i386.deb) ... Configurando libnss-ldap (211-4) ... localepurge: checking system for new locale ... localepurge: processing locale files ... localepurge: processing man pages ... La configuracin de nss-ldap se almacena en el archivo /etc/libnss-ldap.conf, El archivo /etc/libnss-ldap.conf se ha de poder leer por todos los usuarios del sistema, para asegurarse de que es legible por todo el mundo, puede ejecutar: chmod 644 /etc/libnss-ldap.conf.

5.3.2.

Configuracin de los archivos necesarios

Tenga en cuenta que va a modificar archivos de configuracin utilizados para el ingreso al sistema. Sera recomendable que tuviese en todo momento una consola de root abierta, por si deja de funcionar la autentificacin.

5.3.2.1. /etc/nsswitch.conf nsswitch.conf es el fichero de configuracin de las Bases de Datos del Sistema y del sistema de Conmutacin de los Servicios de Nombres (Name Service Switch). En otras palabras, es un archivo que indica el orden y el procedimiento a seguir para la bsqueda de la informacin requerida, por ejemplo, para hacer bsquedas de hosts o usuarios. La forma de configurar este archivo es muy simple: primero se especifica la base de datos sujeta a la bsqueda (primera columna) seguida del procedimiento que se va a emplear para realizar una bsqueda sobre la misma (columnas siguientes). De esta forma, basta con configurar el procedimiento de bsqueda para que haga uso de LDAP en algn momento. Modificaciones en el de configuracin /etc/nsswitch.conf passwd: group: shadow: hosts: files ldap files ldap files ldap files ldap dns

Una vez realizada la configuracin, se puede comprobar que todo funciona bien con el comando getent seguido de la base de datos de bsqueda deseada (por ejemplo: #getent hosts). Como resultado se mostrar la base de datos consultada por pantalla.

Pg. - 43 -

5.3.2.2. Configuracin de PAM PAM permite configurar el mtodo de autentificacin que van a utilizar las aplicaciones que hagan uso de l. Gracias a esto, se pueden aadir fcilmente distintas opciones de autentificacin, como el uso de una base de datos LDAP. En las siguientes secciones se mostrarn los archivos que se han de modificar para lograr la autentificacin a travs de LDAP. Hace relativamente poco tiempo que la versin en desarrollo de Debian (Sid) ha cambiado la forma de configuracin de PAM. Actualmente posee secciones comunes a todos los archivos, estas secciones comunes son aquellos archivos localizados en el directorio /etc/pam.d/ que comiencen por "common-". Se ha de tener en cuenta la forma en la que se ha ido actualizando Debian Sid en la ltima temporada, para determinar si su sistema est utilizando o no dichos archivos comunes para la configuracin de PAM. Un buen punto de partida, sera ojear los archivos almacenados bajo /etc/pam.d/ y comprobar las diferencias entre los archivos con extensin .dpkg-dist y los que no la tienen. pam-ldap asume que las cuentas del sistema son objetos con los siguientes atributos: uid y userPassword. Los atributos estn permitidos por la clase objeto (objectClass) posixAccount.

5.3.2.3. /etc/pam.d/common-account Este archivo ha de tener nicamente estas entradas: Opciones de configuracin para /etc/pam.d/common-account account required account sufficient pam_unix.so pam_ldap.so

5.3.2.4. /etc/pam.d/common-auth Este archivo ha de tener nicamente estas entradas: Opciones de configuracin para /etc/pam.d/common-auth auth auth auth auth auth auth auth sufficient sufficient required required required required required pam_unix.so pam_ldap.so try_first_pass pam_env.so pam_securetty.so pam_unix_auth.so pam_warn.so pam_deny.so

5.3.2.5. /etc/pam.d/common-session Este archivo ha de tener nicamente estas entradas:

Pg. - 44 Opciones de configuracin para /etc/pam.d/common-session session required session required session optional pam_limits.so pam_unix.so pam_ldap.so

Si desea que el sistema sea capaz de crear directorios home "al vuelo" (piense en el siguiente caso: acaba de aadir un usuario en la base de datos LDAP, pero no ha creado un directorio home para este usuario en el sistema), puede utilizar el mdulo pam_mkhomedir para este propsito. Para ello aada la siguiente lnea al principio del archivo common-session: Opcin para crear directorios home al vuelo session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 El mdulo pam_mkhomedir slo crea directorios de un nivel. Es importante tener esto en cuenta para planificar la estructura del home de los usuarios.

5.3.2.6. /etc/pam.d/common-passwd Este archivo ha de tener nicamente estas entradas: Opciones de configuracin para /etc/pam.d/common-password

password required password sufficient password sufficient password required password required

pam_cracklib.so retry=3 minlen=8 difok=4 pam_unix.so use_authtok md5 shadow pam_ldap.so use_authtok pam_warn.so pam_deny.so

Se supone que tiene instalado en su sistema la librera libpam-cracklib, si no es as, instlela o comente esta lnea.

5.3.2.7. Comprobando que todo funciona Ahora que ya est el sistema preparado para hacer uso de LDAP en la autentificacin de los usuarios, sera recomendable hacer algunas pruebas con la nueva configuracin para ver si todo funciona correctamente. El comando pamtest puede ayudar a realizar estas pruebas. pamtest acepta dos parmetros: el primero es el nombre del servicio al cual se va a conectar para realizar la autentificacin, el segundo es el nombre del usuario que se va a autentificar sobre dicho servicio. Veamos unos ejemplos: El comando pamtest se encuentra en el paquete libpam-dotfile, por lo que si no est disponible en su sistema, ha de ejecutar: # apt-get install libpam-dotfile Comprobando la configuracin del sistema con pamtest # pamtest passwd ajduenas

Pg. - 45 Trying to authenticate for service . Password:[Clave del usuario] Authentication successful. # /usr/bin/pamtest ssh ajduenas Trying to authenticate for service . Password:[Clave fallida del usuario] Failed to authenticate: Authentication service cannot retrieve authentication info. # /usr/bin/pamtest ssh ajduenas Trying to authenticate < ajduenas > for service . Password:[Clave del usuario] Authentication successful. Una vez se ha llegado a este punto, el sistema ya est preparado para autentificar a los usuarios a travs de LDAP.

5.4. SAMBA 5.4.1. Conceptos Tericos Introduccin Samba es una herramienta de red extremadamente til para cualquier persona que posea en su red sistemas Unix y Windows. Samba se ejecuta en un sistema Unix, permitiendo a los sistemas Windows compartir archivos e impresoras en la mquina Unix, a la vez que los usuarios de Unix tienen acceso a los recursos compartidos en los sistemas Windows. Aunque parece natural hacer uso de servidores Windows para servir archivos e impresoras en una red donde haya clientes Windows, hay buenas razones para elegir un servidor Samba para estos servicios. Samba es un software confiable que corre en un sistema operativo confiable como Unix, dando como resultado la obtencin de menos problemas y bajo coste de mantenimiento. A parte de esto, Samba ofrece mejor rendimiento ante cargas de trabajo extremadamente duras, sobrepasando a un servidor Windows 2000 en un factor de 2 a 1 en un PC con la misma configuracin de hardware, de acuerdo con unos benchmarks publicados por terceros. Cuando un PC ya no pueda acometer las peticiones de los clientes, debido a la alta carga, el servidor Samba se puede trasladar fcilmente a un mainframe Unix propietario, el cual puede sobrepasar en mucho a un PC corriendo Windows. Si todo esto no fuese suficiente, Samba posee una ventaja muy buena en relacin al coste: es libre. No slo el software est a su disposicin libremente, sino que no necesita ningn tipo de licencia para los clientes, ejecutndose en sistemas operativos de gran calidad y libres, como GNU/Linux y FreeBSD. Qu es SAMBA? Samba es una suite de aplicaciones Unix que habla el protocolo SMB (Server Message Block). Los sistemas operativos Microsoft Windows y OS/2 utilizan SMB para compartir por red archivos e impresoras y para realizar tareas asociadas. Gracias al soporte de este protocolo, Samba permite a las mquinas Unix entrar en el juego, comunicndose con el mismo protocolo de red que Microsoft Windows y aparecer como otro sistema Windows en la red (desde la perspectiva de un cliente Windows). El servidor Samba ofrece los siguientes servicios: Compartir uno o varios sistemas de archivos Compartir uno o varios sistemas de archivos distribuidos Compartir impresoras instaladas en el servidor entre los clientes Windows de la red Ayudar a los clientes permitindoles navegar por la red Autentificar a los clientes que ingresan en un dominio Windows Proveer o ayudar con un servidor de resolucin de nombres Windows (WINS) La suite Samba tambin incluye herramientas para los clientes, que permiten a los usuarios de un sistema Unix acceder a los directorios e impresoras que los sistemas Windows y servidores Samba comparten en la red.

Pg. - 46 Samba es la idea de Andrew Tridgell, quien actualmente lidera el equipo de desarrollo de Samba. El proyecto naci en 1991 mientras Andrew trabajaba con la suite de Digital Equipment Corporation (DEC) llamada Pathworks, creada para conectar ordenadores VAX DEC con los de otras compaas. Sin conocer la transcendencia de lo que estaba haciendo, Andrew cre un programa servidor de archivos para un extrao protocolo que formaba parte de la suite Pathworks. Este protocolo pas a llamarse ms tarde SMB. Unos aos ms tarde, lo liber como su servidor SMB particular y lo comenz a distribuir por Internet bajo el nombre de SMB Server. Sin embargo, Andrew no pudo mantener ese nombre -este perteneca a un producto de otra compaa-, as que intent lo siguiente para buscarle un nuevo nombre desde Unix: # grep -i '^s.*m.*b' /usr/dict/words Obteniendo como respuesta: salmonberry samba sawtimber scramble De sta manera naci el nombre de Samba. Hoy en da, la suite Samba gira alrededor de un par de demonios Unix que permiten la comparticin de recursos entre los clientes SMB de una red. Estos demonios son: smbd Demonio que permite la comparticin de archivos e impresoras sobre una red SMB y proporciona autentificacin y autorizacin de acceso para clientes SMB. nmbd Demonio que soporta el servicio de nombres NetBIOS y WINS, que es una implementacin de Microsoft del servicio de nombres NetBIOS (NBNS). Este demonio tambin ayuda aadiendo la posibilidad de navegar por la red. Samba actualmente est mantenido y es ampliado por un grupo de voluntarios bajo la supervisin activa de Andrew Tridgell. Al igual que el ncleo Linux, los autores de Samba lo distribuyen como software open source, bajo los trminos de la licencia GPL (GNU General Public License). Desde su concepcin, el desarrollo de Samba ha sido patrocinado en parte por la Australian National University, donde Andrew Tridgell hizo su doctorado. A partir de entonces, muchas otras organizaciones han patrocinado a los desarrolladores de Samba, incluyendo LinuxCare, VA Linux Systems, Hewlett-Packard e IBM. Es algo verdaderamente testimonial el que entidades tanto comerciales como no comerciales estn dispuestas a gastar dinero para dar soporte a un esfuerzo Open Source. Microsoft tambin ha contribuido ofreciendo la definicin de su protocolo SBM al grupo IETF (Internet Engineering Task Force) en 1996, cuyo nombre es Common Internet File System (CIFS). Qu puede hacer samba? Una de las cosas ms importantes de samba es poder compartir un disco, que a travs de Windows se vera por el entorno de red, de echo en nuestro proyecto vamos a establecer un recurso para poder entrar a Windows con un gestor de dominios con samba. Samba tambin comparte impresoras e componentes que se puedan compartir. Pero bsicamente hace los siguientes ROL:

Pg. - 47 -

Ahora vamos a mostrar lo que Samba puede hacer con sus demonios y sus responsabilidades. nmbd El demonio nmbd es un simple servidor de nombres que suministra la funcionalidad de WINS. Este demonio espera peticiones del servidor de nombres y proporciona la direccin IP apropiada cuando se le requiere. Tambin provee una lista de bsqueda para el entorno de red y participa en la eleccin de bsqueda. smbd El demonio smbd maneja los recursos compartidos entre el servidor Samba y sus clientes. Provee los servicios de servidor de archivos, impresin y bsqueda a los clientes SMB a travs de una o ms redes y maneja todas las notificaciones entre el servidor Samba y la red de clientes. A parte de esto, es el responsable de la autentificacin de usuarios, bloqueo de recursos y comparticin de datos a travs del protocolo SMB. winbind Este demonio se utiliza junto con el servicio de nombres para obtener la informacin de los usuarios y grupos desde un servidor Windows NT y permitir a Samba autorizar a los usuarios dentro de un servidor Windows NT/2000. La distribucin de samba tambin viene con un conjunto de pequeas herramientas para consola: findsmb

Pg. - 48 Un programa que realiza bsquedas de ordenadores en la red local que respondan al protocolo SMB e imprime informacin sobre los mismos. make_smbcodepage Un programa utilizado cuando se trabaja con la caracterstica de internacionalizacin de Samba para informarle sobre como convertir entre maysculas y minsculas en los distintos conjuntos de caracteres. make_unicodemap Otro programa de internacionalizacin utilizado con Samba para compilar un mapa Unicode que utilizar Samba para traducir los cdigos de pginas de DOS o los conjuntos de caracteres de Unix en formato Unicode de 16 bits. net Un nuevo programa distribuido con Samba 3.0 que puede ser utilizado para realizar una administracin remota de los servidores. nmblookup Un programa que realiza bsquedas de nombres sobre NBT para encontrar direcciones IP de ordenadores cuando se da su nombre de mquina. pdbedit Nuevo programa distribuido con la versin 3.0 de Samba que ayuda en el manejo de las cuentas de usuario almacenadas en las bases de datos SAM. rpcclient Un programa que se puede utilizar para ejecutar las funciones MS-RPC en los clientes Windows. smbcacls Un programa que se utiliza para establecer o mostrar ACLs en un sistema de archivos Windows NT smbclient Un cliente Unix similar a un cliente ftp, que se puede utilizar para conectarse a los recursos compartidos SMB y operar con ellos. smbcontrol Una simple utilidad de administracin que enva mensajes a nmbd o smbd. smbgroupedit Un comando que se puede utilizar para definir mapeos entre los grupos de Windows NT y los de Unix. Esta es una funcionalidad nueva en Samba 3.0. smbmnt

Pg. - 49 Una utilidad utilizada junto con smbmount. smbmount Un programa que monta un sistema de archivos smbfs, permitiendo que recursos remotos SMB sean montados en el sistema de archivos local de la mquina Samba. smbpasswd Un programa que permite a un administrador cambiar la clave utilizada por Samba. smbsh Una herramienta que funciona de manera similar a una shell, permitiendo el acceso a sistemas de archivos SMB remotos, y permite a las herramientas de Unix operar con ellos. smbspool Un programa de cola de impresin que se utiliza para enviar archivos a impresoras remotas que estn compartidas en la red SMB. smbstatus Un programa que reporta las conexiones de red realizadas a los recursos compartidos en el servidor Samba actualmente. smbtar Un programa similar al comando tar de Unix, que permite archivar datos en los recursos compartidos de SMB. smbumount Un programa que trabaja junto con smbmount para desmontar los sistemas de archivos smbfs. testparm Un programa que comprueba el archivo de configuracin de Samba. testprns Un programa que comprueba si las impresoras en la mquina Samba estn reconocidas por el demonio smbd wbinfo Una utilidad utilizada para realizar peticiones al demonio winbind.

5.4.2.

Instalacin SAMBA Para instalar samba recurrimos a los repositorios de nuestro S.O. Linux, (Ubuntu 7.10 Server), y como siempre en consola ponemos: # apt-get install samba

Pg. - 50 -

Y a continuacin nos saldr estas pantallas: Cmo ejecutar SAMBA (demonios/inetd)?

Momento para la eleccin sobre como se quiere ejecutar Samba, ya sea utilizando el superservidor inetd o mediante demonios. La eleccin realizada para esta documentacin ha sido la ejecucin mediante demonios, ya que en un entorno donde el uso de Samba sea frecuente, es mucho ms eficiente ejecutarlo desde los demonios que desde un superservidor inetd.

Pg. - 51 -

Se responde que s a esta pregunta, de esta forma se crear un archivo destinado al almacn de las contraseas para los usuarios de Samba. Con esto ya tenemos instalado nuestro paquete SAMBA y ahora procederemos a instalarlos esquemas samba para poder trabajar con samba y hacemos lo siguiente: # cd /usr/share/doc/samba-doc/examples/LDAP/ # gunzip samba.schema.gz # cp samba.schema /etc/ldap/schema/ Ahora incluimos las siguiente linea en /etc/ldap/slapd.conf : include /etc/ldap/schema/samba.schema Y reiniciamos slapd: # /etc/init.d/slapd restart 5.4.3. Configuracin SAMBA

1.- Ahora se configurara samba. Abrimos el archivo /etc/samba/smb.conf y buscamos la lnea: passdb backend = tdbsam guest Esta linea necesita ser reemplazada por lo siguiente : passdb backend = ldapsam:ldap://127.0.0.1 ldap suffix = dc=iesvirgendelcarmen,dc=com ldap profesores suffix = ou=profesores ldap usuarios suffix = ou=usuarios ldap grupos suffix = ou=grupos ldap admin dn = cn=admin,dc=iesvirngedelcarmen,dc=com ldap delete dn = no # para PDC domain logons = yes # permitir privilegios a usuarios enable privileges = yes 2.- ejecutar testparm para verificar que la configuracin no tiene errores. # testparm 3.- le enviamos a samba la contrasea del admin de LDAP del siguiente modo: # smbpasswd -w password 4.- Reiniciar samba: # /etc/init.d/samba restart 5.- Ahora mire en phpldapadmin, y cercirese que se ha creado una nueva entrada como esta : sambaDomainName=IESVIRGENDELCARMEN copiar el valor de sambaSID (eg S-1-5-21-2620819820-906013693-4274777306 ), ya que sera necesaria mas adelante.

Pg. - 52 5.4.4. Configuracin de un cliente SAMBA o # apt-get install smbclient smbfs Leyendo lista de paquetes... Hecho Creando rbol de dependencias Leyendo informacin de estado... Hecho smbclient ya est en su versin ms reciente. Se instalarn los siguientes paquetes NUEVOS: smbfs 0 actualizados, 1 se instalarn, 0 para eliminar y 9 no actualizados. Necesito descargar 427kB de archivos. Se utilizarn 995kB de espacio de disco adicional despus de desempaquetar. Des:1 http://security.ubuntu.com feisty-security/main smbfs 3.0.24-2ubuntu1.2 [427kB] Descargados 427kB en 7s (59,9kB/s) Seleccionando el paquete smbfs previamente no seleccionado. (Leyendo la base de datos ... 128680 ficheros y directorios instalados actualmente.) Desempaquetando smbfs (de .../smbfs_3.0.24-2ubuntu1.2_i386.deb) ... Configurando smbfs (3.0.24-2ubuntu1.2) ... Una vez se ha completado el proceso de instalacin, el sistema tendr disponibles las siguientes herramientas dpkg -L smbclient |grep bin

/usr/bin /usr/bin/smbclient /usr/bin/smbtar /usr/bin/rpcclient /usr/bin/smbspool /usr/bin/smbtree /usr/bin/smbcacls /usr/bin/smbcquotas dpkg -L smbfs |grep bin

/sbin /usr/bin /usr/bin/smbmount /usr/bin/smbumount /usr/bin/smbmnt /sbin/mount.smbfs /sbin/mount.smb

5.5. AGREGANDO USUARIOS A PHPLDAPADMIN 1.- Ahora se podr agregar algunos usuario. Se necesita un Administrator (uid=0) y otro usuario para realizar las pruebas. crear un nuevo : Samba 3 User(s) sobre ou=users de la siguiente forma: Uid First Name User Name User Password Encryption Windows Group 0 Admin Administrator password MD5 Domain Admins 10000 Antonio antonio ******** MD5 Domain Admins 2.- Verificamos con getent que nss est funcionando correctamente sobre el servidor linux. # getent passwd ajduenas:x:10000:20000:Antonio Newton:/home/ajduenas:/bin/bash Administrator:x:0:20000:admin :/home/administrator:/bin/bash

Pg. - 53 3.- Creamos los directorios home para los usuarios: # mkdir /home/ajduenas # cp /etc/skel/.* /home/ajduenas/ # chown -R ajduenas /home/ajduenas # chgrp -R users /home/ajduenas 5.5.1. Asignando privilegios y automatizando

Ingresar computadoras al dominio automaticamente 1.- Instalar los siguientes modulos de Perl : # apt-get install libnet-ldap-perl libcrypt-smbhash-perl 2.- copiar el script smbldap-useradd (y archivos de configuracin) del paquete Samba-doc . en la ubicacion /usr/local/smbldaptools # mkdir /usr/local/smbldaptools # cd /usr/share/doc/samba-doc/examples/LDAP/smbldap-tools-0.8.7 # cp smbldap_bind.conf smbldap_tools.pm.gz smbldap.conf.gz smbldap-useradd.gz /usr/local/smbldaptools/ # gunzip /usr/local/smbldaptools/*.gz # cd /usr/local/smbldaptools # chmod go-r * # chmod u+x smbldap-useradd Editar el archivo /usr/local/smbldaptools/smbldap.conf para que queden de esta manera: SID=S-1-5-21-3131077580-1338128831-1697195685 suffix=dc=iesvirgendelcarmen,dc=com usersdn=ou=alumnos,#{suffix} computersdn=ou=profesores,#{suffix} groupsdn=ou=grupos,#{suffix} sambaUnixIdPooldn=sambaDomainName=IESvirgendelcarmen,#{suffix} hash_encrypt=MD5 Editar el archivo /usr/local/smbldaptools/smbldap_bind.conf: slaveDN=cn=admin,dc=iesvirgendelcarmen,dc=com slavePw=password masterDN=cn=admin,dc=iesvirgendelcarmen,dc=com masterPw=password Editar /usr/local/smbldaptools/smbldap_tools.pm para enlazar los archivos correctos para la configuracion: my #smbldap_conf=/usr/local/smbldaptools/smbldap.conf; my #smbldap_bind_conf=/usr/local/smbldaptools/smbldap_bind.conf; 3.- Ubicar el objeto sambaDomainName=IESvirgendelcarmen en phpldapadmin. Hacer click y Agregar un nuevo valor sobre el object class y escoger sambaUnixIdPool luego hacer click en siguiente e ingresar un numero de uid y gid de inicio para este caso sera el 30000. 4.- Probar la configuracin ingresando una maquina de la siguiente manera: #./smbldap-useradd -w manolo

Pg. - 54 si no emiti algn error todo esta correcto, se creara un nuevo objeto uid=manolo# en el ou machines. Nos daremos cuenta que el uidNumber en el objeto sambaDomainName=IESvirgendelcarmen se habr actualizado a 30001 ahora. Este objeto solo sirve para verificar que todo esta trabajando bien, procederemos a eliminarlo del arbol 5.- Finalmente agregar la siguiente lnea en el archivo smb.conf : add machine script = /usr/local/smbldaptools/smbldap-useradd -w %u 6.- Si deseamos que un usuario normal agregue las maquinas al dominio. podemos conceder al usuario derechos para agregar las maquinas al dominio usando lo siguiente: net rpc -UAdministrator rights grant antonio SeMachineAccountPrivilege 5.5.2. Scripts de inicio de sesin Vamos a usar KiXtart para escribir los archivos de inicio. # cd /opt/ # wget http://www.kixtart.org/binary/distrib/KiX2010_453.zip # apt-get install unzip # unzip /opt/KiX2010_453.zip 1.- crear el netlogon, y hacer que el grupo administrador tenga a acceso a escribir # mkdir -p /data/samba/netlogon # chgrp admins /data/samba/netlogon Y agregar las siguientes lines en /etc/samba/smb.conf: # put this in the main section logon script = logon.bat # share for the logon scripts [netlogon] comment = Network logon service path = /data/samba/netlogon write list = @admins guest ok = Yes 2.- Para el inicio de sesion de una maquina Windows a un usuario en el grupos Domain Admins.Se tiene que tener aceso a escritura sobre la capeta netlogon Download KiXstart, extract, and put the following files into the netlogon share: KIX32.EXE KX32.dll # cp /opt/KiX2010.453/KIX32.EXE /data/samba/netlogon/ # cp /opt/KiX2010.453/KX32.dll /data/samba/netlogon/ 3.- crear un archivo logon.bat en la carpeta netlogon e ingresar lo siguiente en el archivo:

Pg. - 55 \\pdc\netlogon\kix32 \\debian\netlogon\logon.kix /f 4.- crear un archivo logon.kix. eset se ejecutara cuando el usuario se loguee. se puede montar unidades compartidas, sincronizar la hora etc. como este ejemplo: ; logon script setconsole(hide) ; delete all mapped drives USE * /delete ; sync time #timeserver = \\pdc Settime #timeserver IF INGROUP(SILCOM\Domain Admins) use n: \\pdc\netlogon ENDIF ; add more drive mappings here ; map homedirectory use u: @HOMEDIR Hasta aqu se deba poder configurar una estacin de trabajo que se autentifique contra el dominio 5.5.3. Habilitar profiles

mkdir /data/samba/profiles [profiles] path = /data/samba/profiles comment = Profiles writeable = yes browseable = no create mask = 0600 directory mask = 0700 5.5.4. Creacin de home por defecto

Por defecto cuando se registra un usuario en ldap no crea el home respectivo para corregir esto utilizamos lo siguiente: editar /etc/pam.d/common-session y agregar en la primera lnea session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 5.5.5. Permitir cambio de contrasea

Es bueno permitirle a los usuarios de Windows cambiar su contrasea en el servidor ldap para esto se har lo siguiente: cd /usr/share/doc/samba-doc/examples/LDAP/smbldap-tools-0.8.7 cp smbldap-passwd.gz /usr/local/smbldaptools/ cd /usr/local/smbldaptools/

Pg. - 56 gunzip smbldap-passwd.gz chmod u+x smbldap-passwd en el archivo /etc/samba/smb.conf modificar las siguientes lneas : unix password sync = no passwd program = /usr/bin/passwd %u por estas : unix password sync = yes passwd program = /usr/local/smbldaptools/smbldap-passwd -o %u 6. AUTENTIFICACIN EN WINDOWS XP Acceda a la opcin Conexiones de Red e Internet del Panel de Control (Inicio -> Configuracin -> Panel de Control -> Conexiones de Red e Internet).

Conexin de red

Pg. - 57 -

Pulsamos sobre Conexiones de Red. Identificacin de Red

Pulse sobre el men Avanzado, opcin Identificacin de Red... PROPIEDADES DEL SISTEMA

Pg. - 58 -

Pulsamos sobre el botn cambiar Seleccin del dominio

Pg. - 59 Sealamos Dominio, y a continuacin insertamos el dominio AULAS como ya habamos configurado antes. Identificacin ante dominio

Tecleamos Usuario y contrasea, en nuestro caso como root.

Bienvenida al dominio

Si todo ha ido bien, nos dar la bienvenida al dominio. 7. CONCEPTOS FINALES 7.1. Concepto de recursos El recurso NETLOGON El recurso NETLOGON, como ya hemos visto en la descripcin de los parmetros de configuracin del PDC. Juega un papel central en las sesiones de dominio y en el soporte de la pertenencia al dominio. Este recurso est presente en todos los controladores de dominio Microsof. Se usa para proporcionar guiones o scripts de conexin, almacenar ficheros de polticas de grupo (NTConfig.POL) y otras herramientas que pueden ser necesarias para procesar las sesiones. Es un recuros esencial en un controlador de dominio. Recurso PROFILES Este recurso se usa para guardar los perfiles del escritorio. Cada usuario tiene que tener un directorio en la raz de este recurso. Este directorio tiene que tener permiso de escritura para el usuario y tiene que tener permiso de lectura global.

Pg. - 60 7.2. Conclusin El proyecto LDAP es muy complejo, pero a la vez muy potente junto a SAMBA, una vez realizado este proyecto podremos autentificar todos los servicios que deseemos contra LDAP. Adems de ser un proyecto barato, porque te ahorras costes de Sistemas Operativos es adems un recurso muy til para aquellas empresas que deseen centralizar toda la informacin en un solo sistema. Para montar estos servicios hemos puesto de base el Sistema Ubuntu 7.04 que es el mas actual de esta distribucin, adems de tener un potente control y unos buenos repositorios es una de las mejores distribuciones Linux y es ms, es de las mas punteras. 8. ANEXOS Voy a adjuntar el Sistema Base, Ubuntu 7.04 Server, como ANEXO I, y el tutorial en formato digital como ANEXO II, como PDF, ya que todo lo que se ha necesitado ha sido expuesto en el documento. 9. RESULTADOS

Todo este proyecto he tardado el total de 30 Horas para buscar informacin, 25 Horas en montar los servicios mencionados en el proyecto y 15 Horas en redactar la parte terica. He tenido complicaciones al autentificar el PHPLDAPADMIN contra Samba, pero mirando por foros logr encontrar una solucin. Y tambin he tenido unos problemas al autentificar el dominio en Windows, me entraba en el dominio pero no me reconoca al usuario root, ni cualquier otro del sistema.