Está en la página 1de 9

Tema 204: Autenticacin de Usuarios.

Ante las perspectivas de crecimiento de la empresa y los miles de puestos de trabajo posibles, se va dando cuenta de la necesidad de una autentificacin centralizada y a gran escala. Por tanto, decide instalar un servidor LDAP.

1. Creacin y alimentacin de un directorio LDAP en el servidor beta


a. Instalacin de los paquetes de software
En el servidor linux, instale el servicio LDAP as como las utilidades cliente mediante el comando siguiente: # # # # # yum install openldap-servers yum install openldap-clients yum install openldap yum install nss-pam-ldapd yum install authconfig authconfig-gtk migrationtools

En la estacin de trabajo, instale las utilidades cliente mediante el comando siguiente: # yum install ldap-utils

b. Configuracin de la seguridad TLS/SSL directorio


Comandos tiles /etc/openldap/slapd.conf slappasswd vi Operaciones 1. Creacin de la firma digital para el servidor LDAP 2. En el servidor linux, en el archivo slapd.conf, encontrar la declaracin del contexto por defecto y reemplazarla por "unsa.edu.pe" (dc=unsa,dc=edu,dc=pe). No olvidarse de modificar tambin el sufijo del rootdn. 3. En el archivo slapd.conf, cambiar la contrasea del administrador por "password". 4. Reiniciar el servicio. Resumen de los comandos y resultado por pantalla El conjunto de modificaciones se realiza en este ejemplo por lnea de comandos sin utilizar un editor de texto. Como es natural, la certificacin LPI no exige este tipo de enfoque que es ms bien de nivel 1. Creacin del certificado digital: # cd /etc/pki/tls/cert # rm -f slapd.pem # make slapd.pem # cd Lo anterior solicitar ingresar los datos para el certificado digital. Luego dar permisos como sigue: # chown root:ldap /etc/pki/tls/certs/slapd.pem # chmod 640 /etc/pki/tls/certs/slapd.pem Ceacin de directorios: # mkdir /var/lib/ldap/autenticar # chmod 700 /var/lib/ldap/autenticar Copiar el archivo de configuracin de la base al directorio creado y dar los permisos necesarios: # cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/autenticar/DB_CONFIG # chown -R ldap:ldap /var/lib/ldap/autenticar Asignacin de la contrasea de administrador para LDAP y guardar en un archivo: # slappasswd {SSHA}memjOJhezfk8x/LbicQSV6Z4X7GfXj6V # echo {SSHA}memjOJhezfk8x/LbicQSV6Z4X7GfXj6V > claveLDAP

Creacin del archivo de configuracin para LDAP /etc/openldap/slapd.conf # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE dc=example,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never include include include include include include include include include include include include /etc/openldap/schema/corba.schema /etc/openldap/schema/core.schema /etc/openldap/schema/cosine.schema /etc/openldap/schema/duaconf.schema /etc/openldap/schema/dyngroup.schema /etc/openldap/schema/inetorgperson.schema /etc/openldap/schema/java.schema /etc/openldap/schema/misc.schema /etc/openldap/schema/nis.schema /etc/openldap/schema/openldap.schema /etc/openldap/schema/ppolicy.schema /etc/openldap/schema/collective.schema

TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt TLSCertificateFile /etc/pki/tls/certs/slapd.pem TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem allow bind_v2 pidfile argsfile database suffix rootdn rootpw directory

/var/run/openldap/slapd.pid /var/run/openldap/slapd.args bdb "dc=unsa,dc=edu,dc=pe" "cn=Administrador,dc=unsa,dc=edu,dc=pe" {SSHA}memjOJhezfk8x/LbicQSV6Z4X7GfXj6V /var/lib/ldap/autenticar

# Indices a mantener para esta base de datos index objectClass eq,pres index ou,cn,mail,surname,givenname eq,pres,sub index uidNumber,gidNumber,loginShell eq,pres index uid,memberUid eq,pres,sub index nisMapName,nisMapEntry eq,pres,sub # Habilitar supervision database monitor # Permitir solo a rootdn ver la supervision access to * by dn.exact="cn=Administrador,dc=unsa,dc=edu,dc=pe" read by * none

Asignar los los permisos adecuados: # chown ldap:ldap slapd.conf # chmod 600 slapd.conf Eliminar # # # # # la configuracin por defecto y crear la nueva configuracin: rm -rf slapd.d/* slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d chown -R ldap:ldap /etc/openldap/slapd.d chown -R ldap:ldap /var/lib/ldap

Inicio del servicio: # service slapd start # service slapd status

Migracin de cuentas existentes en el sistema: # vim /usr/share/migrationtools/migrate_common.ph # Default DNS domain $DEFAULT_MAIL_DOMAIN = "unsa.edu.pe"; # Default base $DEFAULT_BASE = "dc=unsa,dc=edu,dc=pe"; Generar el archivo base.ldif para LDAP: # /usr/share/migrationtools/migrate_base.pl > base.ldif Insertar la informacin del servidor: # ldapadd -x -W -D 'cn=Administrador, dc=unsa, dc=edu, dc=pe' -h 127.0.0.1 -f base.ldif Importar grupos y usuarios del sistema a los archivos base de LDAP: # /usr/share/migrationtools/migrate_group.pl /etc/group group.ldif # /usr/share/migrationtools/migrate_passwd.pl /etc/passwd passwd.ldif Ahora insertar los datos al directorio LDAP: # ldapadd -x -W -D 'cn=Administrador, dc=unsa, dc=edu, dc=pe' -h 127.0.0.1 -f group.ldif # ldapadd -x -W -D 'cn=Administrador, dc=unsa, dc=edu, dc=pe' -h 127.0.0.1 -f passwd.ldif Comprobaciones: # ldapsearch -x -b 'dc=unsa, dc=edu, dc=pe' '(objectclass=*)'

c. Creacin de cuentas de usuario


ldappadd vi

Archivo usuarios.ldif: dn: uid=toto,dc=pas,dc=net objectClass: top objectClass: posixAccount objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson uid: toto cn: toto sn: toto uidNumber: 601 gidNumber: 1000 homeDirectory: /home/toto loginShell: /bin/bash userPassword: password dn: uid=titi,dc=pas,dc=net objectClass: top objectClass: posixAccount objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson uid: titi cn: titi sn: titi uidNumber: 602 gidNumber: 1000 homeDirectory: /home/titi loginShell: /bin/bash userPassword: password # ldapadd -x -D W cn=Administrador,dc=unsa,dc=edu,dc=pe -f usuarios.ldif

d. Consulta del directorio desde un cliente


Antes de pasar a temas ms serios, nos falta comprobar que el cliente de la estacin de trabajo recibe adecuadamente los datos del directorio. Peticin desde la estacin de trabajo: 1. Desde el servidor remoto, hacer una consulta con el objetivo de obtener la totalidad de los datos del directorio. Operaciones $ ldapsearch -x -D cn=Administrador,dc=unsa,dc=edu,dc=pe -W -h 10.0.0.7 -b 'dc=unsa, dc=edu, dc=pe' '(objectclass=*)' ldapsearch -x -D cn=Administrador,dc=unsa,dc=edu,dc=pe -W -h 10.0.0.7 -b 'dc=unsa, dc=edu, dc=pe' -s sub cn=Boris

Tema 205: Comparticin de Archivos.


1. Despliegue de comparticiones SAMBA en el servidor alfa
Hay una gran cantidad de estaciones de trabajo Windows en su red y desea proporcionarles un servidor de archivos. Por lo tanto, decide instalar el servicio Samba en el servidor Linux. Este servidor debe permitir a los usuarios acceder a los documentos de su directorio personal en el servidor y tambin publicar una comparticin comn de tipo "carpeta comn" para el intercambio libre de datos entre usuarios.

a. Instalacin de los servicios software


En el servidor linux, instale el software SAMBA mediante el comando siguiente: # yum install samba samba-client samba-common Acepte las opciones por defecto.

b. Visualizacin de la configuracin por defecto


Comandos tiles vi testparm Operaciones 1. Con el servicio recin instalado, mostrar los parmetros activos aplicados por el servidor provenientes del archivo smb.conf. Mostrar ahora los parmetros activos, pero esta vez incluyendo los parmetros por defecto no mencionados de forma explcita en el archivo smb.conf.

2.

Resumen de los comandos y resultado por pantalla Parmetros explcitos: /etc/samba# testparm Todos los parmetros: /etc/samba# testparm -v

c. Gestin de las contraseas


Comandos tiles smbpasswd Operaciones 1. Asignar una contrasea SAMBA a la cuenta del usuario usuario presente en el servidor linux.

Resumen de los comandos y resultado por pantalla /etc/samba# smbpasswd -a usuario New SMB password: Retype new SMB password:

d. Acceso de los usuarios a sus directorios personales desde la estacin de trabajo


Todos los usuarios que disponen de una mquina Windows estn ausentes. Usted decide realizar las primeras pruebas funcionales desde la estacin de trabajo linux. Para ello, utilizar el cliente grfico de la estacin de trabajo. Comandos tiles Utilizacin de la interfaz grfica #service nmb start #service smb start

Operaciones 1. Abra una sesin en la estacin de trabajo. 2. En el men Lugares, haga clic en Conectar con el servidor. 3. En el desplegable Tipo de servicio, elija Compartido por Windows. 4. Rellene el campo Servidor con la direccin IP del servidor linux 5. Rellene el campo Compartido con el nombre usuario. 6. Haga clic en el botn Conectar. 7. En la ventana de autentificacin, introduzca el password del usuario. 8. El directorio del usuario tiene que estar ahora accesible.

e. Creacin de una comparticin comn


Comandos y archivos tiles chmod mkdir smb.conf testparm vi Operaciones 1. En el servidor linux, crear el directorio /public. 2. Hacer que todos los usuarios puedan leer y escribir en este directorio. 3. Editar el archivo de configuracin SAMBA en alfa. 4. Aadir una seccin compartida accesible en modo lectura/escritura para el directorio public. 5. Hacer que esta comparticin sea visible cuando se navegue por la red (del tipo Entorno de Red de Windows). 6. Hacer que el contenido de los directorios se pueda borrar por todos (permisos rwx para los usuarios other en las carpetas creadas). 7. Comprobar la validez de la sintaxis sin reiniciar el servicio. 8. Reiniciar el servicio samba. Resumen de los comandos y resultado por pantalla Creacin del directorio: /home/usuario# mkdir /public /home/usuario# chmod 777 /public Seccin de la comparticin en smb.conf: [public] path = /public writeable = yes browseable = yes directory mask = 0777 Comprobacin de la sintaxis: /public# testparm Reinicio del servicio: #service nmb start #service smb start

f. Acceso de los usuarios a la nueva comparticin


Utilizacin de la interfaz grfica Operaciones 1. Abrir una sesin en la estacin de trabajo. 2. En el men Lugares, haga clic en Conectar con el servidor. 3. En el desplegable Tipo de servicio, elija Compartido por Windows. 4. Rellene el campo Servidor con la direccin IP del servidor. 5. No rellene el campo Compartido para visualizar todas las comparticiones configuradas como visibles. 6. Haga clic en el botn Conectar. 7. En la ventana de autentificacin, introduzca la contrasea del usuario. 8. El directorio public tiene que estar ahora visible. Observe que el directorio personal no aparece, ya que se ha configurado como no visible (Browseable = No).

2. Despliegue de comparticiones NFS en el servidor linux

La prxima instalacin de una solucin de virtualizacin necesita el despliegue de un servidor NFS en la red. El acceso se realizar con la cuenta root y se deber permitir la escritura en la comparticin. Usted decide configurar un servicio NFS en el servidor linux.

a. Instalacin de los servicios software


En la estacin de trabajo linux, instale el software NFS mediante el comando siguiente: # yum install nfs-utils portmap Los servicios NFS ya deberan estar disponibles en el servidor linux.

b. Configuracin de la comparticin
Comandos y archivos tiles /etc/exports exportfs mkdir vi Operaciones 1. Arrancar el servicio NFS del servidor linux. 2. Comprobar que actualmente no hay ninguna comparticin activa. 3. Crear el directorio /virtu. 4. Crear el archivo de configuracin /etc/exports que compartir este directorio en modo lectura/escritura con acceso normal en la cuenta de root. 5. Desplegar la comparticin sin reiniciar el servicio nfs. Comprobar. Resumen de los comandos y resultado por pantalla Inicio del servicio: # service rpcbind start # service nfs start Comprobacin de las comparticiones activas: # exportfs Creacin del directorio: # mkdir /virtu Archivo /etc/exports: /virtu *(rw,no_root_squash) Despliegue de la comparticin: # exportfs -a # exportfs

c. Conexin desde la estacin de trabajo cliente


Comandos tiles mkdir mount Operaciones 1. Crear el directorio virtu en /mnt que servir de punto de montaje. 2. Montar la comparticin NFS /virtu del servidor beta en el punto de montaje /mnt/virtu/. Resumen de los comandos y resultado por pantalla Creacin del punto de montaje: # mkdir /mnt/virtu Montaje de la comparticin: # showmount e 10.20.9.111 # mount -t nfs 10.20.9.111:/virtu /mnt/virtu Verificacin: # ls /mnt/virtu

3. Configuracin de un servidor FTP en el servidor linux

Se da un caso muy excepcional en el que algunos usuarios tienen que enviar archivos muy voluminosos por correo electrnico. Usted decide entonces desplegar un servidor FTP. Un poco inquieto en materia de seguridad, decide que el servicio se cargar bajo demanda y permitir a usuarios annimos enviar y descargar archivos, pero sin que puedan consultar el contenido del directorio de trabajo FTP.

a. Instalacin del servicio software


En el servidor linux, instale la aplicacin pure-ftpd mediante el comando siguiente: # yum install vsftpd

b. Configuracin e inicio del servicio


Comandos tiles adduser chmod passwd vsftpd Operaciones 1. Aadir una cuenta de usuario ftp. 2. Bloquear las cuentas de usuario y limitar los permisos en su directorio personal. Se debe poder escribir y crear documentos, pero no verlos. El grupo y otros usuarios no deben tener permisos en el directorio. 3. Iniciar el servicio funcionando slo en modo annimo. Resumen de los comandos y resultado por pantalla Creacin de la cuenta ftp: # adduser ftp Bloqueo de la cuenta: # passwd -l ftp Limitacin de permisos: # chmod u=wx,go= /home/ftp # ls -ld /var/ftp Editar el archivo de configuracin y realizar los cambios deseados: # vi /etc/vsftpd/vsftpd.conf Inicio del servicio: # service vsftpd start

c. Conexin desde la estacin de trabajo cliente


Comandos tiles ftp vi Operaciones 1. Crear un archivo de texto con el mtodo que se desee. 2. Iniciar el cliente FTP. 3. Abrir una sesin FTP annima con el servidor ftp-linux 4. Intentar ver el contenido del directorio. 5. Enviar su archivo al servidor.

Resumen de los comandos y resultado por pantalla Creacin del archivo: $ echo "bla bla" > archivo $ echo "bla" >> archivo

$ cat archivo bla bla bla Apertura de la sesin FTP: $ ftp ftp> open 10.20.9.111 Prueba de lectura del contenido del directorio: ftp> ls Envo del archivo al servidor: ftp> put archivo ftp> bye