Post on 30-Sep-2020
UNIVERSIDAD DEL AZUAY
FACULTAD DE CIENCIAS DE LA ADMINISTRACION
ESCUELA DE INGENIERIA DE SISTEMAS
Tesis previa a la obtención delTítulo de Ingeniero de Sistemas
TEMA:
“SISTEMA DE AUTENTICACION UNIFICADO PARA LA UTILIZACION DE LOSSERVICIOS WEB DE LOS ESTUDIANTES DE LA
UNIVERSIDAD DEL AZUAY”
AUTOR: Diego Rojas Pacurucu
DIRECTOR: Ing. Pablo Esquivel León
Índice General
Capitulo I 11 Análisis de la situación actual de los servicios Web para los estudiantesde la Universidad del Azuay
2
1.1Consulta de calificaciones: 21.2 Prematriculas: 41.3 Evaluación docente 61.4 Correo electrónico 81.5 Internet inalámbrico 101.6Conclusiones 12
Capitulo II 132 Implementación del servidor Radius (Remote Authentication DialInUser Service) para el manejo de las cuentas del servidor de correoelectrónico de la Universidad del Azuay
14
2.1 Servidor Radius (Remote Authentication DialIn User Service) 142.1.1 Authentication 152.1.2 Authorization 152.1.3 Accounting 152.2 Radius simplifica la dificultad 152.3 Instalación y configuración del servidor Radius 162.4 Implementación del servidor Radius en la Universidad del Azuay 242.4.1 Modelo entidad relación de la base de datos para el servidor Radius 252.4.2 Diccionario de Datos: 252.5 Manejo del servidor de Correo Electrónico con el servidor Radius 272.6 Conclusiones 32
Capitulo III 333 Creación de un sistema de autenticación automático para los serviciosWeb para los estudiantes de la Universidad del Azuay
34
3.1 Usuarios nuevos 353.2 Usuarios registrados: 463.2.1 Cambio de clave 473.2.2 Agregar servicios Web: 503.3 Sistema para el administrador 543.3.1 Ingreso de usuarios 543.3.2 Eliminación de usuarios 563.3.3 Cambio de clave de usuario 583.3.4 Reporte de usuarios 60
3.4 Conclusiones 62
Capitulo IV 634 Reprogramación de las aplicaciones existentes de los servicios Web paralos estudiantes de la Universidad del Azuay.
64
4.1 Conclusiones 66
Capitulo V 675 Pruebas, instalación e implementación 685.1 Pruebas 685.2 Instalación 705.2.1 Migración de usuarios existentes a la base de datos 705.3 Implementación del Sistema 725.3.1 Implementación del Sistema en el servidor del Internet inalámbrico 725.3.1.1 Creación cuenta: 735.3.1.2 Actualizar Clave: 745.4 Conclusiones 75
Capitulo VI 766 Conclusiones y Recomendaciones 776.1 Conclusiones 776.2 Recomendaciones 78
Anexos 79Anexo 1: Herramientas utilizadas para la creación del sistema deautenticación automático para los servicios Web para los estudiantes de laUniversidad del Azuay
80
1.1 MySql 801.2 PHP 811.3 Funciones MySql en PHP 831.4 Perl 851.5 El Módulo DBI 861.6 Zend Core para Oracle 881.7 Funciones de Oracle 901.8 Instalación de Zend Core para Oracle en Linux 921.9 Configuración del Zend Core para Oracle 104
Anexo 2: Authen Radius 1092.1 Instalación del Módulo de Perl Authen::Radius 1092.2 Métodos del Authen Radius 113
Anexo 3: Diagramas de flujo de datos del sistema de autenticaciónautomático para los servicios Web para los estudiantes de la Universidaddel Azuay
115
3.1 Ingreso de Nueva Cuenta 1153.2 Cambio de Clave de una Cuenta 1163.3 Agregar Servicios Web a una Cuenta 117
Bibliografía 118Paginas de Internet Consultadas 119
Glosario de Terminos 121
Índice de Ilustraciones
Figura 1.1 Ingreso de datos para consulta de calificaciones 3Figura 1.2 Calificaciones de un estudiante 3Figura 1.3 Ingreso de datos para prematricula 4Figura 1.4 Horarios y selección de materias en prematriculas 5Figura 1.5 Ingreso de datos para evaluación docente 6Figura 1.6 Selección de materia para evaluación docente 7Figura 1.7 Evaluación docente 8Figura 1.8 Ingreso de usuario y clave para el correo electrónico 9Figura 1.9 Ingreso de usuario y clave para el Internet inalámbrico 11Figura 1.10 Pagina Web de bienvenida para un usuario valido del Internetinalámbrico
11
Figura 2.1 Activación del servidor Radius en Linux 17Figura 3.1 Pagina principal del sistema 35Figura 3.2 Ingreso de datos personales del estudiante de pregrado en el sistema 37Figura 3.3 Ingreso de datos personales del estudiante de postgrado en el sistema 37Figura 3.4 Datos personales del estudiantes incorrectos 41
Figura 3.5 Ingreso de clave y selección de servicios Web deseados para lanueva cuenta
42
Figura 3.6 Ingreso de usuario, clave y selección de servicios Web deseados parala nueva cuenta
42
Figura 3.7 Confirmación de cuenta creada 43Figura 3.8 Error en creación de cuenta 43Figura 3.9 Ingreso de datos para modificación de clave de una cuenta 47Figura 3.10 Clave de usuario incorrecta 48Figura 3.11 Nuevas claves ingresadas no coinciden 48Figura 3.12 Confirmación de cambio de clave de una cuenta 49Figura 3.13 Ingreso de datos para modificación de servicios Web de una cuenta 51Figura 3.14 Selección de servicios Web para una cuenta 52Figura 3.15 Confirmación de cambio de servicios Web de una cuenta 53Figura 3.16 Pantalla principal del sistema para el administrador 54Figura 3.17 Ingreso de usuario, clave y selección de servicios Web para unanueva cuenta
55
Figura 3.18 Confirmación de creación de nueva cuenta 56Figura 3.19 Ingreso de usuario a eliminar 57Figura 3.20 Datos del usuario a eliminar 57Figura 3.21 Confirmación de usuario eliminado 58Figura 3.22 Ingreso de usuario con nueva clave para modificación de clave 59Figura 3.23 Confirmación de cambio de clave 59Figura 3.24 Ingreso del nombre o parte del nombre del usuario a consultar 60Figura 3.25 Ingreso del usuario o parte del usuario a consultar 61Figura 3.26 Resultado de la consulta de usuarios 61Figura 5.1 Sistema implementado en el servidor del Internet inalámbrico 73Figura 5.2 Ingreso de nueva cuenta del sistema implementado en el servidor delInternet inalámbrico
74
Figura 5.3 Actualización de clave de una cuenta para el uso del Internetinalámbrico
75
Figura A 1.1 Pagina inicial del instalador del Zend Core para Oracle 93Figura A 1.2 Primera pagina del acuerdo de licencia del Zend Core para Oracle 93Figura A 1.3 Segunda pagina del acuerdo de licencia del Zend Core para Oracle 94Figura A 1.4 Modificación del archivo /etc/php.ini 95Figura A 1.5 Locación para la instalación del Zend Core para Oracle 95Figura A 1.6 Proceso de instalación 96Figura A 1.7 Ingreso de una clave para el administrador del Zend Core paraOradle
96
Figura A 1.8 Ingreso de la confirmación de la clave para el administrador delZend Core para Oradle
97
Figura A 1.9 Suscripción para soporte de Zend Core 98
Figura A 1.10 Instalación y configuración de un nuevo servidor Apache 99Figura A 1.11 Selección del servidor Apache para la configuración del ZendCore para Oradle
99
Figura A 1.12 Confirmación del servidor Apache seleccionado 100Figura A 1.13 Selección del método de instalación para el servidor Apache 101Figura A 1.14 Selección de un servidor virtual para el Zend Core para Oracle 101Figura A 1.15 Reinicio del servidor Apache 102Figura A 1.16 Información de la actualización del servidor Apache 103Figura A 1.17 Lista de archivos modificados 103Figura A 1.18 Confirmación de instalación del Zend Core para Oracle 104Figura A 1.19 Ingreso de clave del administrador para consola del Zend Corepara Oradle
105
Figura A 1.20 Icono de login 105Figura A 1.21 Panel de configuraciones del Zend Core para Oracle 105Figura A 1.22 Configuración para manejar los errores de las aplicaciones dePHP
106
Figura A 1.23 Configuración para mostrar los errores en pantalla de lasaplicaciones de PHP
107
Figura A 1.24 Guardar los cambios de configuración 107Figura A 1.25 Reiniciar servidor Apache 108Figura A 2.1 Búsqueda del módulo Data::HexDump 110Figura A 2.2 Instalación del módulo Data::HexDump 110Figura A 2.3 Confirmación de la instalación del módulo Data::HexDump 111Figura A 2.4 Instalación del módulo Authen::Radius 111Figura A 2.5 Configuración de instalación del módulo Authen::Radius 112Figura A 2.6 Confirmación de instalación del módulo Authen::Radius 112
Índice de Código
R 2.1 Comando para descomprimir el paquete del servidor Radius 17R 2.2 Comando para configurar la instalación del servidor Radius 17R 2.3 Locaciones de los archivos del servidor Radius 18R 2.4 Comando para compilar la instalación del servidor Radius 18R 2.5 Comando para Instalar el servidor Radius 18R 2.6 Lista de archivos del directorio /etc/raddb 18R 2.7 Archivo /etc/raddb/clients 20R 2.8 Usuario de prueba en el archivo /etc/raddb/users 20R 2.9 Comando para reiniciar el servidor Radius 20R 2.10 Comando para probar el usuario de prueba 21R 2.11 Respuesta enviada por el servidor Radius por el usuario de prueba 21R 2.12 Sección Authorize del archivo /etc/raddb/Radiusd.conf 22R 2.13 Sección Accounting del archivo /etc/raddb/Radiusd.conf 22R 2.14 Archivo /etc/raddb/sql.conf 23R 2.15 Lista de módulos de autenticación del servidor Openwebmail 27R 2.16 Archivo /openwebmail/etc/auth_unix.conf 29R 2.17 Conexión a la base de datos de MySql desde el módulo del servidorOpenwebmail
30
R 2.18 Consulta a la base de datos para verificar si tiene el usuario activado elservicio de mail
30
R 2.19 Consulta a la base de datos para obtener el nombre del usuario 31R 2.20 Conexión con el servidor Radius con el módulo Authen:Radius 31R 2.21 Agregar el usuario y clave al objeto de la conexión con el servidorRadius
31
R 2.22 Envió de petición de acceso al servidor Radius 32R 3.1 Archivo de configuración, conf.php, para las aplicaciones desarrolladasen PHP
38
R 3.2 Conexión a las bases de datos del sistema académico de la Universidaddel Azuay
39
R 3.3 Consulta a las bases de datos del sistema académico de la Universidad delAzuay para listar las carreras
40
R 3.4 Conexión a la base de datos de MySql, desde perl con el módulo DBI 45R 3.5 Comando para ingreso de un nuevo usuario en el sistema operativo Linux 45R 3.6 Sección del archivo /etc/sudores para el usuario Apache 45R 3.7 Inserción de un nuevo usuario en la base de datos 46R 3.8 Modificación de la clave de una cuenta en la base de datos 50R 3.9 Comando para la modificación de la clave de una cuenta en el sistemaoperativo Linux
50
R 3.10 Consulta de los servicios Web activados para una cuenta 53R 3.11 Modificación de los servicios Web de una cuenta 54R 4.1 Consulta a la base de datos para verificar si tiene el usuario activado elservicio de mail
65
R 4.2 Consulta a la base de datos para verificar si tiene el usuario activado elservicio de Internet inalámbrico
66
R 5.1 Cabecera de las aplicaciones en PHP que generan el código verificador 69R 5.2 Aplicación para la migración de los usuarios existentes a la base de datos 71R 5.3 Modificación de la conexión a la base de datos del servidor Nocat 72
Resumen
Este trabajo de investigación consiste en la creación de un sistema de autenticación
automática que les permitirá a los estudiantes de la Universidad del Azuay crearse su
propio usuario, desde el portal de Internet, necesario para tener acceso a todos los
Servicios Web implementados.
La segunda función importante de este trabajo es unificar el ingreso a todos los Servicios
Web para los estudiantes, es decir en la actualidad, existe un usuario y una clave diferente
para el acceso al correo electrónico y para el Internet Inalámbrico, para tener acceso a los
demás Servicios Web como consulta de calificaciones, evaluación docente, prematriculas
el estudiante debe ingresar su Cédula de Identidad con su código.
Abstract
This research work consists in creating an Automatic Authentication System that will
allow students of the University of Azuay to create their own user from the Internet
portal, which is necessary to have access to all the implemented web services.
The second important function of this research is to unify students entrance to all the web
services. Currently, there is a user and a different password for access to the email and
wireless internet. To have access to the other web services, such as grade consultations,
teacher evaluations, and prematriculation, the student must enter his/her identification
and code numbers.
Las opiniones y comentarios vertidos en esta tesis son de responsabilidad absoluta
del autor.
____________________
Diego Rojas Pacurucu
Introducción
La posibilidad de conectarnos a la red mundial de computadoras llamada Internet, nos
permite perdernos en un inmenso abanico de información y de posibilidades.
Internet tiene un impacto profundo en el trabajo y en el conocimiento. Gracias a la Web,
millones de personas tienen acceso fácil e inmediato a una cantidad extensa y diversa de
información en línea.
Comparado a las enciclopedias y a las bibliotecas tradicionales, la Web ha permitido una
descentralización repentina y extrema de la información y de los datos.
Desde una perspectiva cultural del conocimiento, Internet ha sido una ventaja y una
responsabilidad. Para la gente que está interesada en otras culturas proporciona una
cantidad significativa de información y de una interactividad que sería inasequible de otra
manera.
El crecimiento, o más bien, la incorporación de tantas personas a la red, hacen que las
calles de lo que en principio era una pequeña ciudad llamada Internet se conviertan en
todo un planeta extremadamente conectado entre sí, entre todos sus miembros.
Un aspecto importante de Internet, es que nadie puede poseerla ni es posible controlarla,
factor que influye mucho en el grado de apertura y valor de Internet pero también deja
muchos puntos a juicio del propio usuario, tanto por los emisores como para los
receptores de información.
i
Sin embargo, la seguridad en Internet no es sólo una preocupación empresarial. Toda
persona tiene derecho a la privacidad y cuando ésta accede a Internet su necesidad de
privacidad no desaparece. La privacidad no es sólo confidencialidad, sino que también
incluye anonimicidad.
El hecho de que Internet haya aumentado tanto implica una mayor cantidad de relaciones
entre personas, pero unas relaciones virtuales. Así, ahora sabemos que nos relacionamos
más virtualmente y menos personalmente por eso la Universidad del Azuay se ha visto en
la obligación de brindar a sus estudiantes los beneficios de esta tecnología, esta obligación
se ha convertido en una gran responsabilidad de siempre mejorar los servicios brindados,
gracias a esto se ha propuesto este trabajo de investigación, la creación de un sistema de
autenticación automático para los servicios Web para los estudiantes de la Universidad del
Azuay.
Este sistema permitirá a los estudiantes, luego del ingreso de sus datos personales que
certifiquen que es un estudiante activo, crearse una propia cuenta que les servirá para
poder tener acceso a todos los servicios Web existentes.
Para lograr que todos los servicios Web gestionen los usuarios de un mismo repositorio de
información se modificará el acceso de las aplicaciones existentes y se implementará el
servidor Radius para la autenticación de los usuarios del servidor de correo electrónico de
la Universidad del Azuay.
Luego de la creación e implementación del sistema planteado los estudiantes tendrán un
solo usuario y una sola clave para poder tener acceso a todos los servicios Web.
Internet produce la sensación que todos hemos sentido alguna vez, produce la esperanza
que necesitamos cuando queremos conseguir algo. Produce un despertar de intenciones
que jamás antes la tecnología había logrado en la población mundial. Genera una
ii
sensación de cercanía, de empatía, de comprensión, y a la vez, de confusión, de discusión,
de lucha, y de guerras, que no queda otra que afirmar que Internet es humana, Internet es
como la vida misma.
iii
Capítulo I
Análisis de la situación actual de los servicios Web
para los estudiantes de la Universidad del Azuay
1
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
1. Análisis de la situación actual de los servicios Web para los estudiantes de la
Universidad del Azuay.
La Universidad del Azuay por medio de su página Web, www.uazuay.edu.ec, brinda a sus
estudiantes los siguientes servicios Web:
• Consulta de calificaciones
• Prematriculas
• Evaluaciones a los docentes
• Correo electrónico
• Internet inalámbrico
• Valor colegiatura
• Ratificación de becas
1.1. Consulta de calificaciones.
Todos los estudiantes de la Universidad del Azuay pueden revisar sus calificaciones de las
materias en las que se encuentren matriculados en el periodo actual de estudios.
La información de las materias, en las que se encuentran matriculados los estudiantes de
la Universidad del Azuay, así como la información de sus calificaciones están
almacenadas en una base de datos de MySql.
Cada vez que un estudiante desea revisar sus calificaciones se realizará entonces una
consulta a esta base de datos.
2
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
El estudiante de la Universidad del Azuay que desea consultar sus notas puede hacerlo
ingresando al icono consulta de calificaciones desde la pagina Web de la Universidad.
Luego se les presentará una pantalla en la que el estudiante deberá ingresar su número de
cédula de identidad y también su código de estudiante de la Universidad del Azuay.
Figura 1.1. Ingreso de datos para consulta de calificaciones
A continuación se le presentará las calificaciones de todas las materias en las que este
matriculado el estudiante en el actual periodo.
Puede también el estudiante revisar su historial de calificaciones presionando el botón ver
historial.
3
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura1.2. Calificaciones de un estudiante
1.2. Prematriculas.
Todos los estudiantes de la Universidad del Azuay a inicios de cada periodo deben
realizar una prematricula en donde se seleccionan las materias que pueden estudiar
dependiendo de los horarios y de las materias aprobadas anteriormente, una vez que esta
prematricula sea aprobada, es decir que sean aceptadas las materias seleccionadas, se
podrá realizar el pago de la matricula.
La información necesaria para la prematricula como las materias, niveles, paralelos,
horarios etc. así también como la información de la propia prematricula realizada por el
estudiante será almacenada en una base de datos de MySql
Para poder realizar la Prematricula los estudiantes deben ingresar en la pagina Web de la
Universidad del Azuay y seleccionar el icono prematriculas.
4
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
En la siguiente pantalla el estudiante deberá ingresar el número de su cédula de identidad,
el código de estudiante de la Universidad del Azuay y también deben seleccionar su
carrera.
Figura1.3. Ingreso de datos para prematricula
Es importante que el estudiante realice su prematricula cuando conozca todas sus notas
del ciclo que concluyó para que pueda seleccionar correctamente sus materias.
Al estudiante a continuación se le presentará una pantalla con su nombre, en la parte
derecha aparecerán los niveles y el paralelo de las materias, mientras que en la parte
izquierda se encuentran las materias de la carrera.
5
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 1.4. Horarios y selección de materias en prematriculas
Para seleccionar una materia se debe dar un clic en un paralelo de la materia.
Cuando ya haya finalizado la selección de las materias debe presionar el botón grabar, a
continuación se les presentará una pantalla con todas las materias seleccionadas y el valor
de la colegiatura a cancelar, si desea hacer algún cambio en la prematricula se debe
presionar el botón retroceder, hacer los cambios necesarios y presionar nuevamente el
botón grabar, para finalizar la prematricula luego del resumen de materias seleccionadas y
del valor a pagar se debe presionar el botón aceptar prematricula.
1.3. Evaluación Docente.
6
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
La Universidad del Azuay con el propósito de mejorar la calidad de enseñanza y calidad
de su personal, permite que los estudiantes puedan realizar una evaluación a los docentes
durante cada periodo lectivo.
La información necesaria y los resultados de las evaluaciones a los docentes realizadas
por los estudiantes de la Universidad del Azuay son almacenadas en una base de datos de
MySql.
Para que los estudiantes puedan realizar esta evaluación deben ingresar en el icono
evaluación docente de la pagina Web de la Universidad del Azuay.
Los estudiantes luego deberán ingresar su número de cédula de identidad y a continuación
su código de estudiantes de la Universidad del Azuay.
Figura 1.5. Ingreso de datos para evaluación docente
7
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
En la siguiente pantalla aparecerá el nombre del estudiante con todas las materias en las
que el estudiante esta matriculado en el periodo lectivo actual, acompañado por el nombre
del profesor que dicta la materia, el estudiante simplemente debe seleccionar la materia
que desea y presionar el botón evaluar.
Figura 1.6. Selección de Materia para Evaluación Docente
A continuación deberá llenar todas las preguntas de la evaluación y presionar el botón
grabar evaluación que se encuentra al final del formulario.
8
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 1.7. Evaluación Docente
Si desea evaluar otra materia debe seleccionar nuevamente la materia y presionar el botón
evaluar, si el estudiante ya evaluó a los docentes de todas sus materias en las que esta
matriculado en el presente periodo recibirá un mensaje indicando que todas sus materias
ya han sido evaluadas.
1.4. Correo electrónico.
El correo electrónico de la Universidad del Azuay funciona con el servidor
Openwebmail, este servidor puede gestionar los usuarios con bases de datos, servidores
LDAP, archivos, etc.
Actualmente esta configurado para que gestione los usuarios mediante el archivo de
usuarios y el archivo de claves que mantiene el sistema operativo Linux de el servidor
donde se encuentra implementado el servidor de correo electrónico.
9
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Para poder crear una nueva cuenta de correo electrónico se debe crear un nuevo usuario en
el sistema operativo Linux.
Todos los estudiantes matriculados en la Universidad del Azuay tienen derecho a una
cuenta de correo electrónico.
Para poder abrir una cuenta de correo electrónico de la Universidad del Azuay, el
estudiante actualmente deberá acercarse al departamento de Redes Internas que se
encuentra ubicado en el segundo piso del edificio de investigaciones, para poder verificar
que el estudiante esta matriculado en el presente periodo lectivo debe presentar su
comprobante de pago de la matricula o también puede presentar su carnet de estudiante de
la Universidad del Azuay, la persona encargada deberá ingresar los datos personales del
estudiante en el sistema (nombres, apellidos, carrera, etc.…) a continuación deberá el
estudiante ingresar una contraseña para la cuenta del correo electrónico.
Todas las cuentas de los estudiantes están formadas por el sufijo ua0 seguida del código
del estudiante.
Para poder tener acceso a la cuenta de correo electrónico los estudiantes deben ingresar a
la página Web de la Universidad del Azuay e ingresar su nombre de usuario y su clave de
la siguiente manera:
10
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 1.8. Ingreso de usuario y clave para el correo electrónico
1.5. Internet Inalámbrico.
Para la gestión de los usuarios para el Internet inalámbrico de la Universidad del Azuay se
encuentra implementado un servidor Nocat.
El servidor Nocat fue configurado para que realice la autenticación de los usuarios
mediante una base de datos de MySql.
Las tablas de MySql utilizadas por el servidor Nocat son las siguientes:
• Tabla Network: es la entidad en la que se almacenarán el usuario y el grupo al
que pertenece el usuario.
• Tabla Member: es la entidad en la que se almacenarán los datos del usuario como
su contraseña, su descripción, etc.
11
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
La Universidad del Azuay permite que todos los estudiantes puedan tener acceso al
Internet de forma inalámbrica, para lograr esto los estudiantes deben seguir un proceso
parecido al de correo electrónico, es decir deben acercarse al departamento de redes
internas para poder crearse una cuenta, el único requisito es presentar un documento que
certifique que están estudiando en el periodo lectivo actual, este documento puede ser el
carnet de estudiante de la Universidad del Azuay o sirve también el comprobante de pago
de la matricula, de igual forma se ingresarán los datos del estudiante en el sistema y se
creará un nombre de usuario con una clave ingresada por el estudiante, este nombre de
usuario al igual que el nombre de usuario del correo electrónico es el código del
estudiante con el sufijo ua0 pero las contraseñas son diferentes para ambos servicios.
Para poder tener acceso al Internet inalámbrico los estudiantes deben encontrarse en los
predios de la Universidad del Azuay, tener un computador con una tarjeta de red para
conexión Wireless, deben seleccionar la antena con la que tengan mayor recepción de la
señal y desde el browser ingresar su nombre de usuario y su clave en la pagina de ingreso
a la red de la Universidad del Azuay de la siguiente forma:
12
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 1.9. Ingreso de usuario y clave para el Internet inalámbrico.
Si su cuenta y su clave son correctas recibirá la siguiente pantalla y podrá navegar
libremente por Internet:
Figura 1.10. Página Web de bienvenida para un usuario válido del internet inalámbrico
1.6 Conclusiones.
13
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
La Universidad del Azuay por medio de su pagina Web permite a los estudiantes
consultar calificaciones, realizar prematriculas, evaluar a los docentes, renovación de
becas, consulta de colegiatura, ingresando únicamente la cédula de identidad y el código
de estudiante, adicional a esto tienen derecho, los estudiantes, a una cuenta de correo
electrónico y a una cuenta para el uso del Internet inalámbrico. Para ser creadas estas
cuentas los estudiantes deben acercarse al departamento de Redes Internas de la
Universidad del Azuay con un comprobante de que son estudiantes activos.
Cabe recalcar que la cuenta de correo electrónico como la cuenta de Internet inalámbrico,
para un mismo estudiante, es diferente.
14
Capítulo II
Implementación del servidor Radius (Remote
Authentication DialIn User Service) para el manejo
de las cuentas del servidor de correo electrónico de la
Universidad del Azuay
15
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
2. Implementación del servidor Radius (Remote Authentication DialIn User
Service) para el manejo de las cuentas del servidor de correo electrónico de la
Universidad del Azuay.
2.1 Servidor Radius (Remote Authentication DialIn User ServiceServicio de
usuario de acceso telefónico de autenticación remota).
El servidor Radius es utilizado en una arquitectura cliente servidor, en el caso de este
proyecto, los estudiantes son los clientes, quienes tratan de acceder a los servicios Web
que brinda la Universidad del Azuay.
La comunicación del servidor Radius es posible a través de un "puerto no controlado"
lógico o canal en el punto de acceso con el fin de validar las credenciales y obtener claves
para obtener acceso a la red a través de un "puerto controlado" lógico. Utiliza el puerto
1812 UDP para establecer sus conexiones.
Aunque inicialmente se desarrolló para habilitar el acceso telefónico remoto, como su
propio nombre indica, en la actualidad se usa para multitud de aplicaciones adicionales
tales como servidores de redes privadas virtuales (VPN), acceso mediante ADSL, y por
supuesto redes inalámbricas entre otras.
Una infraestructura Radius está formada básicamente por los clientes que requieren el
acceso, los clientes Radius y los Servidores Radius.
Una de las características más importantes del servidor Radius es su capacidad de manejar
sesiones, notificando cuando comienza y termina una conexión, así que al usuario se le
podrá determinar su consumo y facturar en consecuencia; los datos se pueden utilizar con
propósitos estadísticos.
17
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Radius fue desarrollado originalmente por Livingston Enterprises para la serie PortMaster
de sus servidores de acceso a la red (NAS), actualmente existen muchos servidores
Radius, tanto comerciales como de código abierto. Las prestaciones pueden variar, pero la
mayoría pueden gestionar los usuarios en archivos de texto, servidores LDAP, bases de
datos varias, etc.
El servidor Radius es un servidor tipo AAA (Authentication, authorization, Accounting):
2.1.1. Authentication (Autenticación).
Esta función le permite verificar las conexiones de los usuarios, es decir trata de verificar
que la persona o la máquina que desea utilizar un servicio es quien dice ser, para esto el
servidor le pide al usuario sus credenciales (por lo general nombre de usuario y su
contraseña).
Como parte de la autenticación se puede configurar el tiempo máximo de conexión así
como el tiempo máximo de inactividad.
2.1.2. Authorization (Autorización).
Luego de que el cliente o el usuario hayan ingresado su nombre de usuario y su
contraseña, el servidor Radius analiza las peticiones realizadas hacia el servidor de
aplicaciones para otorgar o no el permiso de acuerdo al tipo de restricciones que el
usuario tenga.
Es decir el servidor decide si la entidad, una vez autenticada, tiene permiso para acceder al
recurso.
18
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
2.1.3. Accounting.
Esta función le permite identificar los usuarios conectados y sus características. Se envía
un paquete cuando el usuario inicia la sesión y otro paquete cuando el usuario cierra su
conexión, permitiéndole así al servidor adquirir información estadística a cerca de la
conexión como por ejemplo: tiempo de duración de la conexión, cantidad de datos
transferidos, promedio de la velocidad de conexión, etc. Toda esta información es muy
útil para registros, monitoreos, contabilidad e informes de todo acceso remoto o intento de
acceso a la red.
2.2. Radius simplifica la dificultad.
Un servidor Radius puede realizar consultas en una base de datos de autenticación local si
ello es adecuado para el escenario. O bien, la solicitud puede transmitirse a otro servidor
para su validación. Cuando Radius decide que se puede autorizar el equipo en esta red,
vuelve a enviar el mensaje al punto de acceso y éste permite que el tráfico de datos fluya
hacia la misma.
Cuando se realiza la conexión con un ISP (Internet Service Provider) mediante módem,
DSL (Digital Subscriber Line), cable módem, Ethernet o WiFi (Wireless Fidelity), se
envía una información que generalmente es un nombre de usuario y una contraseña.
Esta información se transfiere a un dispositivo NAS (Servidor de Acceso a la Red) sobre
el protocolo PPP (Protocolo punto a punto), quien redirige la petición a un servidor
Radius sobre el protocolo Radius.
El servidor Radius comprueba que la información es correcta utilizando esquemas de
autentificación como CHAP (Challenge Handshake Authenticacition Protocol) o EAP
(Extensible Authentication Protocol).
19
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Si es aceptado, el servidor autorizará el acceso al sistema del ISP y le asigna los recursos
de red como una dirección IP, etc.
2.3. Instalación y configuración del Servidor Radius.
Para activar el servidor Radius en Linux ejecutamos el comando ntsysv, señalamos
radiusd para que activarlo cada vez que se reinicie Linux
Figura 2.1. Activación del servidor Radius en Linux
Si su paquete de Linux no tiene instalado el servidor Radius puede instalarlo de la
siguiente forma:
20
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Podemos acceder al paquete de Radius desde la pagina Web: http://www.freeRadius.org,
aquí encontraremos la ultima versión de este servidor, una vez que esté el paquete en la
computadora ejecutamos el siguiente comando para descomprimir el archivo:
tar –zxvf freeRadius.tar.gz
R 2.1. Comando para descomprimir el paquete del servidor Radius
El siguiente paso es compilar el servidor Radius, para lo cual debemos cambiarnos al
directorio donde descomprimimos los archivos y ejecutamos desde la línea de comandos:
./configure
R 2.2. Comando para configurar la instalación del servidor Radius
Comúnmente, las siguientes ubicaciones son las usadas cuando se instala el servidor
Radius:
Binarios: /usr/local/bin y /usr/local/sbin
Manual: /usr/local/man
Archivos de Configuración: /etc/raddb
Archivos Log: /var/log y /var/log/radacct
R2.3. Locaciones de los archivos del servidor Radius
Luego ejecutamos el siguiente comando para compilar los binarios:
Make
R 2.4. Comando para compilar la instalación del servidor Radius
Finalmente ejecutamos el comando:
21
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
make install
R 2.5. Comando para instalar el servidor Radius
Este comando ubicará todos los archivos en sus respectivas locaciones y también instalará
los archivos de configuración si este servidor no ha tenido instalado antes un servidor
Radius, de otra manera el proceso no reemplazará la configuración existente y reportara
en que archivos no se instaló.
A este punto ya debemos tener instalado el servidor Radius activándolo con el comando
ntsysv o adquiriendo el paquete e instalándolo; para empezar a utilizar el servidor Radius
debemos modificar algunos archivos de configuración, la mayoría de estos archivos se
encuentra en /etc/raddb, los siguientes archivos se encuentra en este directorio por
defecto:
22
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
rwrr 1 root root 422 jun 23 2005 acct_users
rwrr 1 root root 3454 jun 23 2005 attrs
drwxrxrx 3 root root 4096 oct 23 15:13 certs
rwr 1 root root 325 ene 25 17:57 clients
rwr 1 root root 2978 abr 17 2006 clients.conf
rwr 1 root root 2937 abr 3 2006 clients.conf.bak
rwrr 1 root root 929 jun 23 2005 dictionary
rwrr 1 root root 12518 may 25 2006 dictionary.ascend
rwrr 1 root root 6020 may 25 2006 dictionary.cisco
rwrr 1 root root 1546 may 25 2006 dictionary.compat
rwrr 1 root root 312 may 25 2006 dictionary.livingston
rwrr 1 root root 6097 may 25 2006 dictionary.quintum
rwrr 1 root root 2718 may 25 2006 dictionary.shiva
rwrr 1 root root 1132 may 25 2006 dictionary.tunnel
rwrr 1 root root 62894 may 25 2006 dictionary.usr
rwrr 1 root root 2149 may 25 2006 dictionary.versanet
rwrr 1 root root 431 may 25 2006 dictionary.xtRadius
rwrr 1 root root 9080 jun 23 2005 eap.conf
rwrr 1 root root 9080 abr 3 2006 eap.conf.bak
rwrr 1 root root 8236 jun 23 2005 experimental.conf
rwrr 1 root root 2396 jun 23 2005 hints
rwrr 1 root root 1604 jun 23 2005 huntgroups
rwrr 1 root root 2348 jun 23 2005 ldap.attrmap
rwrr 1 root root 9330 jun 23 2005 mssql.conf
rwrr 1 root root 1109 abr 11 2006 naslist
rwr 1 root root 856 jun 23 2005 naspasswd
rwrr 1 root root 12267 jun 23 2005 oraclesql.conf
rwrr 1 root root 14156 jun 23 2005 postgresql.conf
rwrr 1 root root 531 jun 23 2005 preproxy_users23
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
R 2.6. Lista de archivos del directorio /etc/raddb
Revisemos ahora el archivo /etc/raddb/clients. Este archivo tiene una descripción y las
credenciales de los diferentes dispositivos que realizarán consultas o peticiones al
servidor Radius; el archivo clients del Radius debe verse así:
localhost clave_localhost
192.168.1.17 clave_ip1
192.162.12.15 clave_ip2
R 2.7. Archivo /etc/raddb/clients
Otro archivo que es útil, en nuestro caso para realizar pruebas, es el archivo /
etc/raddb/users, donde podremos agregar un usuario, el archivo deberá verse de la
siguiente manera:
steve AuthType := Local, UserPassword == "testing"
ReplyMessage="Usuario Prueba",
ServiceType = FramedUser,
FramedProtocol = PPP,
FramedIPAddress = 172.16.3.33,
FramedIPNetmask = 255.255.255.0,
FramedRouting = BroadcastListen,
FramedFilterId = "std.ppp",
FramedMTU = 1500,
FramedCompression = VanJacobsenTCPIP
R 2.8. Usuario de prueba en el archivo /etc/raddb/users
24
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
En este momento podemos realizar nuestra primera prueba, reiniciamos el servidor
Radius, para guardar todos los cambios de configuración, ejecutando desde la línea de
comandos lo siguiente:
service Radiusd restart
R 2.9. Comando para reiniciar el servidor Radius
Luego de esto realizamos la prueba con el usuario de prueba del archivo /etc/raddb/users,
ejecutando desde la línea de comando lo siguiente:
radtest steve testing 127.0.0.1 1812 clave_localhost
R 2.10. Comando para probar el usuario de prueba
Si todo esta correcto tendremos la siguiente respuesta:
25
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Sending AccessRequest of id 58 to 127.0.0.1:1812
UserName = "steve"
UserPassword = "testing"
NASIPAddress = diegoxavier
NASPort = 1645
rad_recv: AccessAccept packet from host 127.0.0.1:1812, id=58, length=94
ReplyMessage = "Usuario prueba"
ServiceType = FramedUser
FramedProtocol = PPP
FramedIPAddress = 172.16.3.33
FramedIPNetmask = 255.255.255.0
FramedRouting = BroadcastListen
FilterId = "std.ppp"
FramedMTU = 1500
FramedCompression = VanJacobsonTCPIP
R 2.11. Respuesta enviada por el servidor Radius por el usuario de prueba
Como el propósito de este proyecto es utilizar el servidor Radius que autentifique una
lista de usuarios de una base de datos de MySql, configuraremos el servidor Radius para
que funcione con MySql.
Para lograr esto modificaremos el archivo de configuración del servidor Radius,
etc/raddb/Radiusd.conf, que es muy parecido al archivo httpd.conf del servidor Web
Apache ya que lista casi todas las directivas y las opciones del funcionamiento básico del
servidor Radius.
En este archivo realizamos los siguientes cambios:
26
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
• Agregaremos la entrada sql a la zona de autorización (authorize section) entre las
entradas suffix y files, esta sección del archivo quedará de la siguiente forma:
Authorize
{
chap
mschap
suffix
sql
eap
files
}
R 2.12. Sección Authorize del archivo /etc/raddb/radiusd.conf
• Luego en la sección de cuentas del mismo archivo (accounting section),
ingresamos la entrada sql entre las entradas unix y radutmp, esta sección del
archivo debería verse como esto:
accounting
{
unix
sql
radutmp
}
R 2.13. Sección Accounting del archivo /etc/raddb/Radiusd.conf
27
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
El siguiente paso es modificar el archivo /etc/raddb/sql.conf, donde colocaremos el
nombre de usuario y password para acceder a la base de datos de MySql, así como el
nombre de la base de datos, el nombre de las tablas, y modificaremos los consultas a la
base de datos que se encuentran por defecto, ya que no utilizaremos los nombres de las
tablas que por defecto utiliza el servidor Radius, el archivo deberá verse de la siguiente
forma:
28
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
sql
{
driver = "rlm_sql_MySql"
server = "localhost"
login = "root"
password = "clave_usuario"
Radius_db = "nombre_base_de_datos"
authcheck_table = "member"
groupcheck_table = "radgroupcheck"
usergroup_table = "network"
deletestalesessions = yes
sqltrace = yes
sqltracefile = ${logdir}/sqltrace.sql
num_sql_socks = 5
connect_failure_retry_delay = 60
sql_user_name = "%{UserName}"
authorize_check_query = "SELECT id,login,attribute,pass2,op
FROM ${authcheck_table}
WHERE login = '%{SQLUserName}' ORDER BY id"
authorize_group_check_query = "SELECT ${groupcheck_table}.id,${groupcheck_table}.
network,
${groupcheck_table}.attribute,
${groupcheck_table}.value,${groupcheck_table}.op
FROM ${groupcheck_table},${usergroup_table}
WHERE ${usergroup_table}.login = '%{SQLUserName}' AND ${usergroup_table}.
network = ${groupcheck_table}.network ORDER BY ${groupcheck_table}.id"29
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
R 2.14. Archivo /etc/raddb/sql.conf
2.4. Implementación del servidor Radius en la Universidad del Azuay.
La implementación del servidor Radius es una parte de la conformación de un sistema de
autenticación automático para los servicios Web para los estudiantes de Universidad Del
Azuay, además este sistema servirá para la unificación de todos los servicios.
Entendido esto y como se estudió en el primer capitulo, Análisis de la situación actual de
los servicios Web para los estudiantes de la Universidad del Azuay, el servidor Nocat del
Internet inalámbrico gestiona los usuarios mediante una base de datos de MySql, y como
el propósito de este capitulo es implementar el servidor Radius para que gestione los
usuarios del correo electrónico mediante una base de datos de MySql, se deberá utilizar la
misma base de datos del servidor Nocat.
Para lograr esto se debieron realizar algunas modificaciones que no afecten el correcto
funcionamiento del servidor Nocat pero que permitan el funcionamiento del servidor
Radius.
Se debió agregar la tabla Radgroupcheck, en donde se almacenan los grupos para los
usuarios existentes, esta tabla es utilizada únicamente por el servidor Radius para la
autenticación de usuarios y no por el servidor Nocat.
Además se debieron agregar los siguientes campos en la tabla Member:
pass2, name, id, atrribute, op. Y en la tabla Network los siguientes campos: wireless, mail,
otros.
30
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
2.4.1. Modelo entidad relación de la base de datos para el servidor Radius
Para la implementación del servidor Radius con una base da datos de MySql utilizaremos
las siguientes entidades de la base de datos llamada Nocat
Tabla Network: es la entidad en la que se almacenarán el tipo de servicios Web que desee
tener el estudiante.
Tabla Member: es la entidad en la que se almacenarán los datos del estudiante y a la cual
se accederá para la validación de la contraseña en el momento de utilizar los servicios
Web de la Universidad del Azuay.
Tabla Radgroupcheck: es la entidad que almacenarán los grupos en los que pueden estar
divididas las personas que ocuparan los servicios Web de la Universidad del Azuay.
31
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
2.4.2. Diccionario de datos.
El diccionario de datos, de las entidades que forman la base de datos utilizada, es una
herramienta muy necesaria para el correcto análisis de los datos en el desarrollo de
cualquier aplicación.
Tabla Network: consta de los siguientes campos:
• login: almacena el identificador del usuario.
• network: almacena el grupo al que pertenece el usuario.
• modified: almacena la fecha y la hora del momento que es modificado
cualquier registro del usuario en la base de datos.
• wireless: almacena le valor de YES o NO para el servicio de wireless de la
Universidad del Azuay
• mail: almacena el valor de YES o NO para el servicio de correo electrónico de
la Universidad del Azuay
• otros: almacena el valor de YES o NO para los servicios Web de consulta de
calificaciones, prematriculas y evaluación a los docentes, revisión de
colegiaturas, ratificación de becas por Internet.
Tabla Member: consta de los siguientes campos:
• login: almacena el identificador del usuario.
• modified: almacena la fecha y la hora del momento que es modificado
cualquier registro del usuario en la base de datos.
• pass: almacena el valor de la contraseña encriptado con el método de
encriptación MD5.
32
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
• pass2: almacena el valor de la contraseña encriptado con el método de
encriptación CRYPT.
• name: almacena el nombre completo del usuario.
• id: almacena un valor necesario utilizado para armar las consultas del servidor
Radius.
• attribute: almacena un valor necesario utilizado para armar las consultas del
servidor Radius, siempre es igual a password.
• op: almacena un valor necesario utilizado para armar las consultas del servidor
Radius: siempre es igual a = =.
Tabla RadGroupCheck: consta de los siguientes campos:
• id: almacena el identificador del grupo de los usuarios.
• network: almacena el nombre del grupo de los usuarios.
• attribute: almacena un valor necesario utilizado para armar las consultas del
servidor Radius, siempre es igual a AuthType.
• op: almacena un valor necesario utilizado para armar las consultas del servidor
Radius, siempre es igual a = =.
• value: almacena un valor necesario utilizado para armar las consultas del
servidor Radius, siempre es igual a: Local.
Para poder interactuar con el servidor Radius utilizando el lenguaje de Programación
PERL debemos instalar un módulo llamado Authen::Radius.
(Véase Anexo 2 Authen Radius)
2.5. Manejo del servidor de correo electrónico con el servidor Radius.
33
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
La Universidad del Azuay utiliza el Openwebmail como servidor de correo electrónico,
este servidor puede autentificar los usuarios con los siguientes módulos:
rwr—r 1 root mail 4790 abr 30 2005 auth_ldap.pl
rwrr 1 root mail 5444 abr 30 2005 auth_ldap_vpopmail.pl
rwrr 1 root mail 6765 abr 30 2005 auth_MySql.pl
rwrr 1 root mail 6281 abr 30 2005 auth_MySql_postnuke.pl
rwrr 1 root mail 6346 abr 30 2005 auth_MySql_vmail.pl
rwrr 1 root mail 5453 abr 30 2005 auth_nis.pl
rwrr 1 root mail 9131 abr 30 2005 auth_pam.pl
rwrr 1 root mail 5279 abr 30 2005 auth_pg.pl
rwrr 1 root mail 6187 abr 30 2005 auth_pgsql.pl
rwrr 1 root mail 1964 jul 25 2006 auth.pl
rwrr 1 root mail 4361 abr 30 2005 auth_pop3.pl
rwrr 1 root root 7088 feb 11 15:13 auth_unix.pl
rwrr 1 root mail 7604 abr 30 2005 auth_vdomain.pl
R 2.15. Lista de módulos de autenticación del servidor Openwebmail
Actualmente el openwebmail funciona de la siguiente manera:
En el archivo de configuración del servidor de correo electrónico Openwebmail
(/openwebmail/etc/openwebmail.conf) se encuentra el módulo que se utilizará para la
autenticación de los usuarios en la directiva: auth_module, actualmente este servidor esta
configurado para que funcione con el módulo auth_unix.pl.
El módulo auth_unix.pl realiza la autentificación de los usuarios, comparando el usuario
que desea ingresar con los usuarios existentes, en los archivos /etc/passwd y /etc/shadow,
34
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
en el sistema operativo del Servidor donde se encuentra implementado el servidor de
correo electrónico.
Para lograr implementar el servidor Radius, como método de autenticación en el servidor
de correo electrónico Openwebmail, se deberá modificar los archivos y librerías
existentes, ya que el Openwebmail actualmente no soporta este tipo de servidor de
autenticación.
Cambiaremos el archivo openwebmail/auth/auth_unix.pl que realiza la autenticación de
usuarios:
Todos los diferentes módulos de autenticación que tiene el servidor de correo electrónico
Openwebmail tienen un archivo de configuración, en donde se guardarán los parámetros
necesarios para que funcionen los módulos.
El archivo original /openwebmail/auth/auth_unix.pl, obtiene entre otros parámetros de su
archivo de configuración /openwebmail/etc/auth_unix.conf, la ubicación de los archivos
donde se encuentran toda la información de los usuarios como son: nombre de usuario,
grupo al que pertenece, contraseña, etc.
Todos los módulos tienen la misma estructura, es decir al inicio de cada módulo se
obtienen los parámetros del archivo de configuración correspondiente y luego se
desarrollan las mismas funciones.
Para nuestro propósito de que funcione el openwebmail con el servidor Radius y este a su
vez autentifique usuarios con el servidor de base de datos MySql debemos cambiar el
archivo de configuración /openwebmail/etc/auth_unix.conf para indicar los parámetros
35
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
necesarios para conectarse al servidor Radius y al servidor MySql, este archivo luego de
los cambios debería verse algo así:
Radius_host
127.0.0.1
Radius_secret clave_Servidor_Radius
SQLHost
127.0.0.1
sqlusr
root
sqlpwd
clave_administrador_MySql
auth_db nombre_base_de datos
passwdfile_plaintext /etc/passwd
R 2.16. Archivo /openwebmail/etc/auth_unix.conf
El parámetro Radius_host indica la dirección Ip de la maquina en donde se encuentra el
servidor Radius, a continuación tenemos el parámetro Radius Secret donde se guardará la
clave para acceder al servidor Radius, luego tenemos los parámetros para acceder al
servidor de base de datos MySql, para esto necesitamos la dirección Ip de la maquina del
servidor MySql, luego tenemos el nombre de usuario y su contraseña para comunicarnos
y hacer las consultas a la base de datos y también el nombre de la base de datos.
36
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
El ultimo parámetro de este archivo de configuración, passwdfile_plaintext, guardará la
ubicación del archivo de contraseñas del sistema operativo Linux del servidor donde se
mantienen los usuarios del servidor de correo electrónico.
Una vez que el módulo /openwebmail/auth/auth_unix.conf obtenga todos los parámetros
de su archivo de configuración, ejecutara las funciones siguientes:
get_userinfo {}
En esta función se obtiene la información sobre el usuario ingresado, para esta función no
necesitamos la contraseña del usuario, la información se obtiene de la base de datos de
MySql y también del archivo que guarda información de los usuarios, en el sistema
operativo del servidor, especificado en el archivo de configuración.
La información obtenida de la base de datos es el nombre completo del usuario y si tiene
o no permiso para utilizar el servidor de correo electrónico, para lograr esto se realiza la
siguiente:
Primero se debe conectar a la base de datos utilizando el módulo de conexión DBI
#conexión a la base de datos
my $dbh = DBI>connect("dbi:MySql:$auth_db;host=$SQLHost", $sqlusr,$sqlpwd);
R 2.17. Conexión a la base de datos de MySql desde el módulo del servidor Openwebmail
Luego debemos realizar una consulta para ver si este usuario tiene permiso de utilizar el
servicio de correo electrónico:
37
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
#consulta a la base de datos
my $queryStr =qq|select mail from network where strcmp(login , '$user')=0|;
my $sth = $dbh>prepare($queryStr);
$sth>execute;
R 2.18. Consulta a la base de datos para verificar si tiene el usuario activado el servicio de mail
Si la consulta no produjo ningún resultado es porque el usuario no existe, entonces la
función retornará 4 y el mensaje de error correspondiente, pero si el usuario si existe
preguntará si el usuario tiene permiso para poder ocupar el servicio de correo electrónico,
Si el campo mail de la tabla Network de la base de datos es igual a YES entonces significa
que el usuario si tiene permisos para ocupar este servicio, por lo tanto seguirá obteniendo
información del usuario, realizara otra consulta a la base de datos para obtener el nombre
completo del usuario, información guardada en el campo name de la tabla Member de la
base de datos:
$queryStr =qq|select name from member where strcmp(login , '$user')=0|;
R 2.19. Consulta a la base de datos para obtener el nombre del usuario
Y obtendrá, del archivo que guarda información de los usuarios del sistema operativo, los
siguientes datos:
Uid: número de identificación del usuario en el sistema operativo.
Gid: número de identificación del grupo al que el usuario pertenece en el sistema
operativo.
Realname: el nombre completo del usuario en el sistema operativo.
Homedir: el nombre del directorio para cada usuario en el sistema operativo.
38
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Estos cuatro valores serán los retornados en caso de que el usuario exista.
check_userpassword {}
Esta función es la que realiza la autenticación de los usuarios, a esta función llegan como
parámetros el nombre de usuario y también la contraseña ingresada.
Esta función fue modificada para que realice la autenticación con el servidor Radius, para
lograr la interacción con el servidor Radius debemos utilizar el módulo Authen:Radius
(Véase Anexo 2 Authen Radius).
La primera acción es la conexión con el servidor Radius, para esto utilizamos los
parámetros especificados en el archivo de configuración.
/openwebmail/atc/auth_unix.conf.
my $r = new Authen::Radius(Host => $Radius_host, Secret => $Radius_secret);
R 2.20. Conexión con el servidor Radius con el módulo Authen:Radius
Una vez conectados al servidor Radius cargamos los atributos, nombre de usuario y
contraseña, al objeto creado de la conexión:
$r>add_attributes (
{ Name => 'UserName', Value => $user },
{ Name => 'Password', Value => $passwordc },
);
R 2.21. Agregar el usuario y clave al objeto de la conexión con el servidor Radius
39
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
A continuación enviamos una petición de acceso al Servidor Radius con el objeto creado
por la conexión que contiene el nombre de usuario y su contraseña y recibimos la
respuesta del servidor Radius:
$r>send_packet(ACCESS_REQUEST) and $resultado = $r>recv_packet();
R 2.22. Envió de petición de acceso al servidor Radius
Si el resultado de la respuesta del servidor Radius es igual a 3 es porque el usuario y su
contraseña están correctas caso contrario la contraseña ingresada es incorrecta.
2.6 Conclusiones.
Se implementó el servidor de autenticación Radius para el manejo de las cuentas de
correo electrónico de la Universidad del Azuay, para lograr esto se modificó los módulos
de autenticación del servidor de correo electrónico Openwebmail para que puedan
gestionar los usuarios mediante el servidor Radius.
El servidor Radius fue configurado para que pueda realizar la autenticación de los
usuarios mediante una base de datos de MySql.
Para lograr una unificación con los usuarios existentes del servidor Nocat que gestiona
los usuarios del Internet inalámbrico de la Universidad del Azuay se utilizó la misma
base de datos de MySql.
40
Capítulo III
Creación de un sistema de autenticación automático
para los servicios Web para los estudiantes de la
Universidad del Azuay
41
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
3. Creación de un sistema de autenticación automático para los servicios Web para
los estudiantes de la Universidad del Azuay.
Como ya se estudió en el capitulo número uno, análisis de la situación actual de los
servicios Web para los estudiantes de la Universidad del Azuay, para que un estudiante
pueda ingresar a consultar sus calificaciones, realizar las prematriculas o evaluar a los
docentes, debe ingresar su número de cédula de identidad y también su código como
estudiante de la Universidad del Azuay; para poder tener acceso al correo electrónico o al
Internet inalámbrico el estudiante debe acercarse al departamento de Redes Internas con
un comprobante de que es estudiante activo de la Universidad del Azuay para que se le
pueda crear una cuenta, esta cuenta es diferente para cada caso.
Pensando en la comodidad de los estudiantes así como tratar siempre de brindar un
servicio más ágil e innovador, se crea un sistema de autenticación automático para todos
los servicios Web para los estudiantes de la Universidad del Azuay.
Este sistema permitirá, a los estudiantes, crearse una cuenta con su clave que les servirá
para poder acceder a todos los servicios Web.
Este sistema esta orientado a los estudiantes de pregrado de la Universidad del Azuay así
como también a los estudiantes que se encuentren realizando un postgrado, una maestría o
cualquier tipo de especialización.
El sistema, en su pantalla inicial, esta dividida en dos clases de usuarios:
• Usuarios nuevos: son aquellos estudiantes regulares o de postgrados que no tengan
una cuenta para los servicios Web que brinda la Universidad.
42
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
• Usuarios registrados: son aquellos estudiantes regulares o de postgrado que ya tienen
una cuenta para los servicios Web que brinda la Universidad del Azuay.
Figura 3.1. Página principal del sistema
3.1. Usuarios nuevos.
El sistema identifica a los usuarios nuevos como los estudiantes de pregrado o de
postgrado que no tengan una cuenta para el correo electrónico de la Universidad del
Azuay
Para que el estudiante pueda crearse una cuenta para los servicios Web de la Universidad
del Azuay, primero deberá llenar un formulario con datos personales que verifiquen que
el estudiante es quien dice ser, estos datos son los siguientes:
43
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Si es un estudiante de pregrado:
• Nombres
• Apellidos
• Código de estudiante
• Cédula de Identidad o Pasaporte.
• Teléfono
• Sexo
• Libreta Militar (si es varón y mayor de 18 años)
• Tipo de Sangre
• Estado civil
• Colegio
• Carrera
Si es un estudiante de postgrado:
• Nombres
• Apellidos
• Cédula de Identidad
• Teléfono
• Sexo
• Libreta Militar (si es varón y mayor de 18 años)
• Tipo de Sangre
• Estado civil
• Carrera
• Lugar de Trabajo
44
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
A los estudiantes se les presentará el siguiente formulario, cabe recalcar que todos los
datos son requeridos por el sistema:
Si es un estudiante de pregrado:
Figura 3.2. Ingreso de datos personales del estudiante de pregrado en el sistema
Si es un estudiante de postgrado:
45
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.3. Ingreso de datos personales del estudiante de postgrado en el sistema
Para verificar que los datos sean correctos el sistema debe conectarse a las bases de datos
del sistema académico de la Universidad del Azuay que contienen la información de los
estudiantes.
Este Sistema fue desarrollado en los lenguajes de programación Web HTML, PHP y Perl (
Ver anexo 1 Herramientas Utilizadas para la creación del sistema de autenticación automático para los
servicios Web para los estudiantes de la Universidad del Azuay).
Para el desarrollo de las aplicaciones en el lenguaje de programación PHP, se creo un
archivo de configuración que almacena todos los parámetros necesarios para el
funcionamiento de la aplicación, por ejemplo en este archivo de configuración
encontramos los parámetros necesarios para las conexiones a las bases de datos. El
archivo conf.php se ve algo así:
46
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
<?php
//conexión al Sistema Académico de la UDA
$us ='nombre_de_usuario';
$pass ='clave_de_usuario';
$bd = 'nombre_de_host/nombre_base_de_datos';
$dias_permiso=365
?>
R 3.1. Archivo de configuración, conf.php, para las aplicaciones desarrolladas en PHP
Además de verificar todos los datos personales de los estudiantes se verificará cuando fue
la fecha de la ultima vez que el estudiante se matriculó en una materia, de esa fecha se
calcularán los días transcurridos hasta la fecha actual, de este forma se comparará este
valor de días con el ingresado como parámetro en el archivo de configuración conf.php.
Si los días transcurridos, entre la fecha de la última vez que el estudiante se matriculó y la
fecha actual, es mayor al valor de días permitidos por el parámetro del archivo de
configuración, el estudiante no podrá crearse una nueva cuenta para tener acceso a los
Servicios Web de la Universidad del Azuay.
Este valor de días transcurridos será pensado y analizado para los estudiantes quienes no
se han matriculado en el periodo actual de estudios pero que se encuentran temporalmente
retirados de la Universidad del Azuay o que se encuentran desarrollando la tesis previa
para la obtención de algún titulo.
Para poder realizar el formulario para el ingreso de los datos personales de los estudiantes
que aspiran crear una nueva cuenta par a los Servicios Web, así como la verificación de
47
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
los datos de los estudiantes se utilizó el lenguaje de programación PHP y para la conexión
con las bases de datos del sistema académico de la Universidad del Azuay se utilizó la
herramienta Zend Core para Oracle.
Esta herramienta al instalar realiza una actualización del lenguaje PHP permitiéndole así
poder conectarse a la base de datos de Oracle (Ver anexo 1 Herramientas Utilizadas para
la creación del sistema de autenticación automático para los servicios Web para los
estudiantes de la Universidad del Azuay).
La conexión, a las bases de datos del sistema académico de la Universidad del Azuay,
mediante PHP se realizó de la siguiente forma:
$conn = @oci_connect("$us", "$pass", "$bd");
if (!$conn)
{
$e = oci_error();
print htmlentities($e['message']);
exit;
}
R 3.2. Conexión a las bases de datos del sistema académico de la Universidad del Azuay
Para poder sacar un listado de las carreras existentes de la Universidad del Azuay se debió
realizar la siguiente consulta a las bases de datos del sistema académico de la Universidad
del Azuay:
48
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
$query = "SELECT * FROM te_carrera a where exists (select b.cod_carrera from te_prematricula b where a.cod_carrera = b.cod_carrera and b.estado = 'M' and b.cod_periodo in (select c.cod_periodo from te_periodo c where c.vigente='X')) or a.cod_facultad ='EC' or a.correspondecia_automatica='G' order by a.nombre ";
$stid = oci_parse($conn, $query);
$r = oci_execute($stid, OCI_DEFAULT);
R 3.3. Consulta a las bases de datos del sistema académico de la Universidad del Azuay para listar las
carreras
De la misma forma se realizó una consulta para poder obtener una lista de colegios y una
lista del lugar de trabajo en caso de que sea estudiante de postgrado.
Además los estudiantes deben ingresar, por motivos de seguridad, un código de
verificador, este código es una secuencia de números randómicos que genera el sistema.
Cuando se hayan ingresados todos los datos el estudiante debe presionar el botón validar.
El Sistema verificará todos los datos ingresados por el estudiante comparándolos con su
información almacenada en las bases de datos del sistema académico de la Universidad
del Azuay, si existe algún error el sistema le indicara específicamente que dato es
incorrecto para que puede volver a ingresarlo:
49
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.4. Datos personales del estudiantes Incorrectos
Si todos los datos ingresados por el estudiante están correctos, el sistema generará otro
formulario donde se encuentra el nombre de usuario, que en los estudiantes pregrado será
el sufijo ua0 más el código del estudiante y en los estudiantes de postgrado será el sufijo
ua_ más el usuario ingresado por el estudiante, los nombres y apellidos, el usuario
únicamente deberá ingresar una clave mayor a 8 dígitos, repetir la clave ingresada y
seleccionar los servicios Web que desea tener, puede seleccionar entre:
• Correo electrónico
• Internet inalámbrico
• Otros (consulta calificaciones, prematriculas, evaluación docente, etc.)
Si es un estudiante de pregrado se le presentará la siguiente pantalla:
50
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.5. Ingreso de clave y selección de servicios Web deseados para la nueva cuenta
Si es un estudiante de Postgrado se le presentara la siguiente pantalla donde a diferencia
de los estudiantes de pregrado deberá ingresar el usuario que desea:
51
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.6. Ingreso de usuario, clave y selección de servicios Web deseados para la nueva cuenta
Al finalizar debe presionar el botón guardar, el estudiante recibirá un mensaje así.
Figura 3.7. Confirmación de cuenta creada
En caso de que el usuario ya exista, no podrá ser ingresado nuevamente por tanto el
sistema mostrará la siguiente pantalla:
52
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.8. Error en creación de cuenta
Actualmente, como mencionamos en el estudio de los servicios Web existentes y su
funcionamiento, los usuarios del correo electrónico se guardan en el sistema operativo
Linux del servidor que mantiene al servidor de correo electrónico mientras que los
usuarios del Internet inalámbrico se guardan en una base de datos de MySql gestionada
por el servidor Nocat.
Para implementar el servidor Radius para gestione las cuentas del correo electrónico de la
Universidad del Azuay con una base de datos de MySql, se utilizó la misma base de datos
que el servidor Nocat, de esta forma los dos servicios, el servidor de correo electrónico
como el servidor del Internet inalámbrico gestionaran los usuarios de una misma base de
datos.
Para mantener la consistencia de los usuarios existentes en el sistema operativo con los
creados en la base de datos, al momento de ingresar un usuario en la base de datos deberá
53
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
ser ingresado, también, como usuario en el sistema operativo Linux del servidor donde se
mantienen implementados los servicios Web de la Universidad del Azuay.
La verificación de los datos ingresados por el estudiante con los datos almacenados en la
base de datos del sistema académico de la Universidad del Azuay se realizó en el lenguaje
PHP, si todo esta correcto y el usuario ha ingresado su clave y ha seleccionado los
servicios Web que desea el sistema grabará este nuevo usuario para lo cual utiliza el
lenguaje de programación Perl.
Existe para los módulos realizados en PERL, al igual que para los realizados en PHP, un
archivo de parámetros, este archivo se llama conf.txt, y contiene todos los parámetros
necesarios para el correcto funcionamiento de los módulos de Perl, como la conexión a la
base de datos de MySql donde se guardarán los usuarios para los servicios Web.
Para ingresar un nuevo usuario en el sistema debemos ingresarlo en la base de datos para
lo cual debemos conectarnos mediante el módulo DBI (Ver anexo 1 Herramientas utilizadas
para la creación del sistema de autenticación automático para los servicios Web para los estudiantes de la
Universidad del Azuay), que permite interactuar con una base de datos mediante el lenguaje
de programación PERL, de la siguiente forma:
my $dbh = DBI>connect("dbi:mysql:$auth_db;host=$SQLHost", $sqlusr,$sqlpwd)
R 3.4. Conexión a la base de datos de MySql, desde perl con el módulo DBI
El nombre de la base de datos, el nombre del host del servidor MySql, el nombre de
usuario y la clave son variables que se extraen del archivo de parámetros conf.txt, este
archivo además almacena el parámetro del numero de caracteres mínimos en el ingreso de
la clave cuando se crea una nueva cuenta.
54
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Una vez que se haya realizado la conexión a la base de datos debemos realizar una
consulta para verificar que el usuario no exista, en caso de que el usuario ya ha sido
ingresado en el sistema no podrá ser ingresado nuevamente.
Si el usuario no existe se procederá a ingresarlo, primero el sistema lo ingresará como
usuario en le sistema operativo Linux por medio del siguiente comando:
system ("/usr/bin/sudo /usr/sbin/useradd $nombre_usuario p $clave_usuario s /
sbin/nologin c $nombre_completo_usuario")
R 3.5. Comando para ingreso de un nuevo usuario en el sistema operativo Linux
El comando useradd permite agregar al sistema operativo Linux un nuevo usuario, con la
opción p ingresamos su clave, con la opción c su nombre completo y la opción s /
sbin/nologin que indica que es un usuario que no puede realizar un login sistema
operativo Linux.
Para que pueda este comando ser ejecutado desde una aplicación Web debemos ejecutarlo
con el comando Sudo, este comando es una herramienta que permite otorgar a un usuario
o grupos de usuarios normales, permisos para ejecutar algunos comandos como
administrador (o como otros usuarios) sin necesidad de conocer su contraseña.
Para que se pueda ejecutar el comando useradd con el comando sudo debemos modificar
el archivo /etc/sudores agregando la línea:
apache ALL= PASSWD: ALL, NOPASSWD: /usr/sbin/useradd,
/usr/sbin/userdel
R 3.6. Sección del archivo /etc/sudores para el usuario Apache
55
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Esta línea permite ejecutar los comandos useradd y userdel al usuario Apache sin
necesidad de ingresar una contraseña de usuario administrador.
Si el ingreso del usuario en el sistema operativo del servidor que mantiene los servicios
Web fue satisfactorio se procederá a ingresarlo en la base de datos.
Para ingresar un usuario en la base de datos debemos ingresarlo en la tabla Network, que
gestiona los servicios Web de cada usuario, y en la tabla member, que almacena la
información del usuario.
$queryStr =qq|insert into network (login, network, wireless, mail, otros) VALUES
('$nombre_usuario', 'alumnos', '$wireless', '$mail', '$otros')|;
$sth = $dbh>prepare($queryStr);
$sth>execute;
$queryStr =qq|insert into member (login, pass, pass2, name, id, attribute, op)
VALUES ('$nombre_usuario', '$clave_usuarioenc', '$clave_usuarioenc2' ,
'$nombrecompleto_usuario', '1', 'Password', '==')|;
$sth = $dbh>prepare($queryStr);
$sth>execute;
R 3.7. Inserción de un nuevo usuario en la base de datos
3.2 Usuarios registrados.
56
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Usuarios registrados son todos aquellos estudiantes que ya tienen una cuenta para los
servicios Web de la Universidad del Azuay.
El Sistema les permite a los usuarios registrados poder realizar dos opciones:
Cambiar la clave de su cuenta y también les permite agregar o quitar servicios Web a una
cuenta especifica.
3.2.1. Cambio de clave.
Al estudiante que desea cambiar la clave de su cuenta se le presentará un formulario
donde deberá ingresar el nombre de usuario de su cuenta y su clave actual, además deberá
ingresar la nueva clave, que debe ser mayor a 8 dígitos, y la confirmación de la nueva
clave. Por motivos de seguridad el estudiante deberá ingresar, al igual que en el ingreso de
una nueva cuenta, un código verificador generado por el sistema.
Figura 3.9. Ingreso de datos para modificación de clave de una cuenta
57
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Si la clave actual ingresada por el estudiante no es correcta recibirá el siguiente mensaje:
Figura 3.10. Clave de usuario incorrecta
La nueva clave ingresada debe ser igual a la confirmación para la nueva clave, si las dos
claves no coinciden, el estudiante recibirá la siguiente pantalla:
58
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.11. Nuevas claves ingresadas no coinciden
Si el estudiante ha ingresado su clave actual correctamente, y si las claves nuevas son
mayores a 8 dígitos y son iguales, el estudiante recibirá una confirmación de que el
cambio de clave de su cuenta se ha realizado de forma satisfactoria:
59
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.12. Confirmación de cambio de clave de una cuenta
El formulario donde el estudiante ingresa su nombre de usuario, su clave actual y su
nueva clave es realizado en el lenguaje de programación PHP, al momento de que el
estudiante presiona el botón cambiar clave, el sistema llamará a un programa desarrollado
en el lenguaje de programación PERL, este programa realiza una consulta a la base de
datos de los usuarios para constatar que el usuario exista y que esa es su clave actual,
luego verificará que las nuevas claves ingresadas sean iguales y mayores a 8 dígitos, si no
se presenta ningún error realizará el cambio de clave del usuario en la base de datos y
también el cambio de clave para el usuario dentro del sistema operativo Linux.
Para hacer el cambio de clave del usuario en la base de datos, se deberá modificar los
campos pass y pass2, que contienen las claves del usuario, de la tabla Member, de la
siguiente forma:
60
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
$queryStr =qq|update member set pass = '$clave_usuario1', pass2 = '$clave_usuario2'
where strcmp(login , '$nombre_usuario')=0|;
$sth = $dbh>prepare($queryStr);
$sth>execute;
R 3.8. Modificación de la clave de una cuenta en la base de datos
Para realizar el cambio de clave del usuario en el sistema operativo Linux utilizaremos el
siguiente comando:
system ("/usr/sbin/usermod p $clave_usuario $nombre_usuario") == 0;
R 3.9. Comando para la modificación de la clave de una cuenta en el sistema operativo Linux
3.2.2. Agregar servicios Web.
Los usuarios registrados además de cambiar su clave también pueden agregar o quitar un
determinado servicio Web a su cuenta creada.
Al momento de ingresar una nueva cuenta los usuarios pueden activar los servicios Web
que desean de los tres tipos existentes:
• Correo electrónico
• Internet inalámbrico
• Otros (Consulta de calificaciones, prematriculas, evaluación docente, revisión de
colegiaturas, ratificación de becas)
61
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
El estudiante para poder agregar o quitar algún servicio Web a su cuenta deberá ingresar
su nombre de usuario, su clave y código de seguridad generado por el sistema, en el
siguiente formulario:
Figura 3.13. Ingreso de datos para modificación de servicios Web de una cuenta
El sistema verificará que el usuario exista y que esa sea la clave correcta para ese usuario,
si no existe ningún error con el nombre de usuario y su clave, presentará el siguiente
formulario donde aparecerán los servicios Web activados y los servicios Web que no
están activados para esta cuenta de usuario.
62
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.14. Selección de servicios Web para una cuenta
El estudiante podrá entonces seleccionar que servicio Web desea agregar o quitar de su
cuenta dando un clic en el casillero a continuación de cada servicio Web.
Cuando el estudiante presione el botón aceptar, se guardaran los cambios en la base de
datos y se presentará una pantalla mostrando los cambios realizados en los servicios Web
indicando que servicio Web esta activo o inactivo.
63
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.15. Confirmación de cambio de servicios Web de una cuenta
El formulario inicial donde el estudiante ingresa su nombre de usuario y clave fue
realizado en lenguaje de programación PHP, una vez que los datos hayan sido ingresados
se llamará a un programa realizado en Perl que realiza una consulta a la base de datos para
verificar que el estudiante exista y que su clave sea la correcta, además que servicios Web
están activos o inactivos para presentar en el formulario en el que el estudiante agregará o
quitará los servicios Web deseados, la consulta para obtener esta información es la
siguiente:
$queryStr =qq|select n.login, n.network, m.name, m.pass, m.pass2, n.wireless, n.mail,
n.otros from network n, member m where strcmp(n.login , '$nombre_usuario')=0 and
n.login = m.login|;
R 3.10. Consulta de los servicios Web activados para una cuenta
El estudiante luego de que agregue o quite los servicios Web debe presionar el botón
aceptar que llamará a otro programada desarrollado en Perl, este programa será el
64
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
encargado de realizar los cambios en la base de datos y se encargará también de presentar
los nuevos servicios Web activados o desactivados para la cuenta.
La petición a la base de datos para la modificación de los servicios Web es la siguiente:
my $queryStr =qq|update network set wireless='$wireless', mail='$mail',
otros='$otros' where strcmp(login , '$nombre_usuario')=0|;
R 3.11. Modificación de los servicios Web de una cuenta
3.3 Sistema para el administrador.
Es necesario la creación de un sistema que pueda ser utilizado únicamente por los
administradores de los servicios Web que mantiene la Universidad del Azuay, este
sistema permitirá ingresar las cuentas para los profesores y personal administrativo de la
Universidad del Azuay, la pantalla principal con el menú con las opciones disponibles
para el administrador es la siguiente:
65
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.16. Pantalla principal del sistema para el administrador
3.3.1. Ingreso de usuarios.
El administrador por medio del sistema creado podrá ingresar una nueva cuenta de
usuario, esta puede ser parte de los siguientes grupos de usuarios disponibles:
• Profesores (personal docente de la Universidad del Azuay)
• Estudiantes (estudiantes de pregrado o postgrado de la Universidad del Azuay)
• Administrativos (personal administrativo de la Universidad del Azuay)
• Invitados (Invitados, personal que dicta talleres, seminarios en la Universidad del
Azuay)
El administrador para crear una nueva cuenta debe ingresar el usuario, el nombre
completo del usuario, la clave para la cuenta, mínimo de 8 caracteres, y seleccionar los
servicios Web que se encontraran activos para la nueva cuenta, en el siguiente formulario:
66
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.17. Ingreso de usuario, clave y selección de servicios Web para una nueva cuenta
Para ingresar la nueva cuenta debe presionar el botón guardar, si todos los datos fueron
ingresados correctamente el administrador recibirá una confirmación de que el nuevo
usuario fue ingresado:
67
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.18. Confirmación de creación de nueva cuenta
3.3.2. Eliminación de usuarios.
Los usuarios pueden ser eliminados únicamente por el administrador de los servicios Web
por tanto esta opción esta disponible en el sistema para el administrador
Para eliminar una cuenta el administrador debe ingresar únicamente el usuario, el sistema
le permite al administrador eliminar un usuario sin necesidad de ingresar la clave para la
cuenta:
68
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.19. Ingreso de usuario a eliminar
Luego de ingresar el usuario, debe presionar el botón eliminar usuario, para que se le
presente en una pantalla la información del usuario que desea eliminar:
69
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.20. Datos del usuario a eliminar
Si realmente desea eliminar el usuario ingresado, el administrador deberá presionar el
botón aceptar, el sistema presentará una pantalla con la confirmación de la eliminación del
usuario ingresado:
Figura 3.21. Confirmación de usuario eliminado
3.3.3. Cambio de clave de usuario.
El administrador mediante el sistema podrá cambiar la clave de un usuario sin la
necesidad de ingresar la clave actual, esta opción es de gran utilidad para aquellos
usuarios que tienen creada una cuenta para los servicios Web pero no recuerdan su clave.
El formulario es el siguiente:
70
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.22. Ingreso de usuario con nueva clave para modificación de clave
El sistema presentará un mensaje con la confirmación de la modificación del usuario:
Figura 3.23. Confirmación de cambio de clave
71
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
3.3.4. Reporte de usuarios.
El administrador puede realizar la consulta de los usuarios del sistema, ingresando como
parámetro de búsqueda el nombre o parte del nombre del usuario que desea consultar:
Figura 3.24. Ingreso del nombre o parte del nombre del usuario a consultar
Puede consultar un usuario, ingresando también, como parámetro de búsqueda el usuario
o parte del usuario a consultar:
72
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.25. Ingreso del usuario o parte del usuario a consultar
En ambos casos el sistema devolverá el usuario, el nombre de usuario y los servicios Web
activados para esta cuenta, en la siguiente pantalla:
73
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura 3.26. Resultado de la consulta de usuarios
3.4. Conclusiones.
El sistema de autenticación automática para los servicios Web de la Universidad del
Azuay fue creado para que los estudiantes puedan crearse por si mismos su propia cuenta
ingresando sus datos personales que prueben que es un estudiante activo.
El sistema, además, fue creado con la finalidad de unificar la autenticación de todos los
servicios Web que se mantiene para los estudiantes, es decir con el usuario creado, el
estudiante podrá tener acceso a todos los servicios Web implementados.
El sistema también permite a los estudiantes, modificar los servicios Web a los que tiene
acceso, además de poder realizar el cambio de su clave.
Fue creado un sistema para el administrador, que le permita ingresar usuarios sin pasar
por el formulario de validación de datos, cambiar clave sin la necesidad de ingresar la
clave actual, eliminación de usuarios, y consulta de usuarios utilizando como parámetro
de búsqueda el usuario o el nombre del usuario.
Este sistema para el administrador es orientado al manejo de las cuentas de los servicios
Web para el personal docente y administrativo de la Universidad del Azuay.
74
Capítulo IV
Reprogramación de las aplicaciones existentes de los
servicios Web para los estudiantes de la Universidad
del Azuay.
75
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
4. Reprogramación de las aplicaciones existentes de los servicios Web para los
estudiantes de la Universidad del Azuay.
Luego de haber creado el sistema de autenticación automático para todos los servicios
Web para los estudiantes de la Universidad del Azuay, se deben realizar algunos cambios
en las aplicaciones existentes, para que la gestión de usuarios sea la misma en todos los
servicios Web
Como se revisó en el capitulo número uno, donde se analizó la situación actual de los
servicios Web existentes para los estudiantes de la Universidad del Azuay, actualmente
los estudiantes para poder ingresar a consultar sus calificaciones, para realizar una
prematricula o para evaluar a los docentes deben ingresar su cédula de identidad y su
código de estudiante, para poder ingresar al correo electrónico los estudiantes ingresan su
nombre de usuario y su clave, y para tener acceso al Internet inalámbrico ingresan su
usuario y su clave, diferente a la del correo electrónico, uno de los objetivos de la creación
del sistema de autenticación automático es la unificación de la gestión de usuarios para
todos los servicios Web de los estudiantes de la Universidad del Azuay; es decir que con
el un usuario y la clave creada por los estudiantes con el sistema, puedan tener acceso a
todos los servicios Web de la Universidad del Azuay.
Logrando así una unificación en el ingreso de usuarios para todos los servicios Web.
Para lograr esto se deben realizar cambios en la autenticación de los usuarios de cada
servicio Web existente.
En el caso de consulta de calificaciones, prematriculas, evaluación docente, revisión de
colegiaturas y ratificación de becas ya no se verificará el número de cédula de identidad y
el código del estudiante, ahora se verificará el nombre de usuario y clave ingresada en la
76
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
base de datos de MySql utilizada para gestionar usuarios tanto para el servidor Nocat del
Internet inalámbrico como para el servidor Radius del correo electrónico.
Además para que un estudiante pueda tener acceso a estos tres tipos de servicios Web
deben tener activado en la base de datos, en la tabla Network el campo Otros, que hace
referencia a esta clase de servicios Web.
Este campo puede tomar el valor de YES en caso de que el servicio este activado y el
valor de NO en caso de que no este activado el servicio.
Al momento de implementar el servidor Radius para gestionar los usuarios, del servidor
de correo electrónico, con la base de datos de MySql se debió realizar cambios en el
módulo que realiza la autenticación de usuarios, uno de las funciones de este nuevo
módulo es verificar si el estudiante tiene activo el servicio Web de correo electrónico, es
decir no basta con crearse un usuario para que tenga acceso al correo electrónico, el
usuario además de ser creado debe tener activado el servicio de correo electrónico.
De igual forma para el Internet inalámbrico se debieron realizar cambios en el módulo que
realiza la autenticación de los usuarios para que verifique en la base de datos que tiene
activado el usuario el servicio de Internet inalámbrico.
Para esto debemos realizar una consulta a la tabla Network que almacena los servicios
Web para cada usuario, si el campo mail que hace referencia al servicio de correo
electrónico y el campo wireless que hace referencia al Internet inalámbrico, si tienen
almacenado el valor de YES significa que el wervicio Web esta activado, caso contrario,
si los campos tienen almacenado el valor de NO significa que no tienen activado el
servicio Web respectivo.
77
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
En el caso del correo electrónico la verificación del servicio Web activado se implemento
en el módulo /openwebmail/auth/auth_unix.pl para que funcione con el servidor Radius.
En la función que recolecta la información del usuario, se implementó la siguiente
consulta:
my $queryStr =qq|select mail from network where strcmp(login , '$user')=0|;
my $sth = $dbh>prepare($queryStr);
$sth>execute;
R 4.1. Consulta a la base de datos para verificar si tiene el usuario activado el servicio de mail
Para el Internet inalámbrico los cambios se debieron realizar en el módulo del servidor
Nocat que realiza la autenticación de los usuarios, se realizó la siguiente consulta:
My $st = $self>db>prepare( my $sql = qq/
select wireless from network where login = "$usuario" /);
$st>execute
R 4.2. Consulta a la base de datos para verificar si tiene el usuario activado el servicio de Internet
Inalámbrico
4.1. Conclusiones.
Las funciones principales del sistema desarrollado son la creación automática de las
cuentas para los servicios Web para los estudiantes de la Universidad del Azuay y la
unificación de la autenticación de todos los servicios Web existentes, por tanto se
debieron modificar las aplicaciones que permitían el ingreso a los estudiantes a los
78
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
diferentes servicios Web, en el caso de de consulta de calificaciones, prematriculas, y
evaluación docente ya no será necesario que el estudiante ingrese su cédula de Identidad y
su código, ahora deberá ingresar el usuario de su cuenta creada y su clave, con esta mismo
usuario tendrá acceso al correo electrónico y al Internet inalámbrico.
79
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
5. Pruebas, instalación e implementación.
5.1 Pruebas.
Luego de desarrollado el sistema de autenticación automática para los estudiantes de la
Universidad del Azuay, se realizaron varias pruebas para verificar el correcto
funcionamiento así como para poder reconocer los errores que se presenten para realizar
los correctivos indicados.
• Al momento de realizar las pruebas con usuarios nuevos de pregrado surgieron
inconvenientes al momento de que el estudiante ingresaba sus datos para que el
sistema valide que es un estudiante de la Universidad del Azuay, principalmente
surgieron problemas con Colegio al que pertenecía el estudiante y con el número
de teléfono registrado por el estudiante.
El sistema se conectaba con el sistema académico de la Universidad del Azuay
para poder presentar una lista de todos los colegios registrados, el inconveniente
se dio porque esta lista de colegios registrada no se encontraba depurada y existían
varios errores.
La matricula de cada estudiante es diferenciada, relacionada directamente con el
colegio al que el estudiante pertenecía, por tanto tratar de depurar la lista de
colegios involucraría un proceso largo y tedioso para el centro de computo de la
Universidad del Azuay.
Todos los datos que el estudiante debe ingresar, en el sistema para que se valide
que es estudiante de la Universidad del Azuay, son obligatorios, por tanto el
inconveniente con el teléfono se dio porque existe estudiantes que no tienen
ningún teléfono registrado en las bases de datos del sistema académico
principalmente porque son estudiantes de otras provincias del país.
82
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Luego de analizar los percances provocados por el colegio al que pertenecía el
estudiante y su número de teléfono se decidió eliminar estos campos del
formulario del sistema que valida que sean estudiantes activos de la Universidad
del Azuay.
• Al realizar las pruebas, se notó que los alumnos por equivocación al momento de
ingresar su código de estudiante podrían ingresar caracteres no numéricos como
letras, produciendo un error al realizar la consulta con el sistema académico para
verificar si existe un estudiante con ese código, ya que el campo que almacena el
código del estudiante en las bases de datos del sistema académico es numérico.
Para poder corregir posibles errores de este tipo se procedió a verificar que el
código ingresado por el estudiante sea numérico antes de realizar la consulta con
las bases de datos del sistema académico.
• Los estudiantes de postgrado al momento de crearse una nueva cuenta para utilizar
los servicios Web que mantiene la Universidad del Azuay pueden ingresar su
propio usuario, en las pruebas realizadas los estudiantes ingresaron el usuario con
letras en mayúsculas y minúsculas produciendo errores posteriores al momento de
ingresar a cualquier servicio, por tanto se validó que el sistema convierta a
minúsculas el usuario ingresado por el estudiante con el fin de evitar problemas
futuros con el ingreso a los servicios Web.
• El sistema académico almacena los nombres y apellidos de los estudiantes solo
con mayúsculas, por tanto los nombres y apellidos ingresados, en el formulario
para verificar que un alumno sea un estudiante activo de la Universidad del
Azuay, son convertidos a mayúsculas para que al momento de comparar los datos
ingresados con los datos almacenados puedan coincidir.
• Luego de realizar varias pruebas se detectó que el código verificador de seguridad
generado por el sistema, que debe ingresar el estudiante cada vez que quiere
crearse una nueva cuenta, cambiar su clave o agregar servicios Web, se guardaba
83
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
en la memoria cache del Browser, creando problemas porque ya que no se
generaba uno nuevo al ingresar en estas aplicaciones, sino presentaba el guardado
en el cache del Browser
Para solucionar este problema se agregó las siguientes líneas en la cabecera de las
aplicaciones donde debe generarse el código verificador:
<meta httpequiv= “Pragma” content=”nocache”>
<meta httpequiv= “expires” content=”1”>
R 5.1. Cabecera de las aplicaciones en PHP que generan el código verificador
5.2. Instalación.
• Para la implementación del sistema de autenticación automática de los servicios
Web, previamente se debe instalar el servidor Radius en el servidor en el que están
implementados los servicios Web de la Universidad del Azuay (Véase capitulo II
Implementación del servidor Radius para el manejo de las cuentas del servidor de
correo electrónico de la Universidad del Azuay).
• Además se realizaron los campos necesarios en la base de datos de MySql
utilizada para gestionar los usuarios del servidor Nocat para el Internet
inalámbrico para que pueda funcionar con el sistema de autenticación automática.
• Se instaló, también, la herramienta Zend Core para Oracle en el servidor en donde
se encuentran implementados los servicios Web, para poder realizar la conexión a
las bases de datos del sistema académico de la Universidad del Azuay (Véase Anexo
1 Herramientas utilizadas para la creación del sistema de autenticación automático para los
servicios Web para los estudiantes de la Universidad del Azuay).
84
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
• A continuación se copiaron todos los archivos sistema de autenticación automático
para los servicios Web de los estudiantes de la Universidad del Azuay en el
servidor en el que se encuentran implementados los servicios Web.
• Para finalizar la instalación del sistema se realizó la migración de los usuarios
existentes de las cuentas del correo electrónico de la Universidad del Azuay, a la
base de datos que almacenará los nuevos usuarios creados por el sistema.
5.2.1. Migración de usuarios existentes a la base de datos.
El sistema desarrollado gestionará los usuarios, para los servicios Web existentes que
brinda la Universidad del Azuay, mediante una base de datos. Actualmente las cuentas de
los usuarios de correo electrónico no son almacenadas en una base de datos, la
información de los usuarios es almacenada en los archivos /etc/passwd y /etc/shadow del
sistema operativo Linux del servidor donde están implementados los servicios Web de la
Universidad del Azuay, estos archivos guardan varios datos de los usuarios existentes,
entre estos datos están el usuario, el nombre de usuario, su clave, el grupo al que
pertenece, etc. Para cada usuario existe una línea dentro de cada archivo y los datos se
encuentran delimitados por dos puntos.
Para la migración de esto usuarios existentes a la base de datos se creo un archivo de
texto, con la ayuda de Microsoft Excel 2003, que tendría la información necesario de cada
usuario de ambos archivos del sistema operativo Linux, los campos necesarios fueron, el
usuario, el nombre del usuario y su clave.
Una vez que obtuvimos el archivo de texto con los usuarios del correo electrónico, se
desarrollo una aplicación que leyera cada línea de este archivo e inserte en la base de
datos que gestionará los usuarios del sistema para los servicios Web que mantiene la
Universidad del Azuay:
85
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
$file = fopen ("completo.txt", "r");
if (!$file) {
echo "<p>Unable to open remote file.\n";
exit;
}
while (!feof ($file))
{
$line = fgets ($file, 1024);
$vector = split (":",$line);
$espacios=trim($vector[0]);
$clave_nueva=trim($vector[1]);
$nombre=trim($vector[2]);
$sql="insert into member (login,pass2,name,id,attribute,op) values
('$espacios','$clave_nueva','$nombre',1,\"Password\",\"==\");";
$resulta=mysql_query($sql,$conexion);
$sql="insert into network (login,network,wireless,mail,otros) values
('$espacios',\"alumnos\",\"NO\",\"YES\",\"YES\");";
$resulta=mysql_query($sql,$conexion);
}
R 5.2. Aplicación para la migración de los usuarios existentes a la base de datos
5.3. Implementación del Sistema.
86
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
El servidor Nocat que gestiona los usuarios del Internet inalámbrico esta implementado en
un servidor diferente al que se encuentran almacenados los demás servicios Web, por
tanto se modificó la conexión en el servidor Nocat para que pueda conectarse a la misma
base de datos a la que se conectan los demás servicios, este cambio se realizó en el
archivo /usr/local/nocat/nocat.conf, la conexión a la base de datos de MySql se quedo de
la siguiente forma:
Database dbi:mysql:database=nocat;host=192.168.37.5
DB_User usuario_nocat
DB_Passwd clave_usuario_nocat
R 5.3. Modificación de la conexión a la base de datos del servidor Nocat
5.3.1. Implementación del sistema en el servidor del Internet inalámbrico.
Para poder implementar el sistema de autenticación automática en el servidor que gestiona
los usuarios del Internet inalámbrico se debe instalar previamente la herramienta Zend
Core para Oracle que permite la conexión con el sistema académico de la Universidad del
Azuay (Véase Anexo 1 Herramientas utilizadas para la creación del sistema de autenticación automático
para los Servicios Web para los estudiantes de la Universidad del Azuay).
El sistema de autenticación automática gestiona los usuarios y almacena la clave de cada
usuario en dos campos diferentes, el primer campo es la clave del usuario encriptada con
el método Crypt utilizado para encriptar las claves de los usuarios del sistema operativo
Linux, sistema que almacenaba las cuentas de correo electrónico, el segundo campo es la
clave del usuario encriptada con el método Md5 utilizado para encriptar las claves de los
usuarios en el servidor Nocat que gestiona los usuarios del Internet inalámbrico.
87
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Para que pueda lograr una consistencia en la base de datos con los usuarios migrados, se
decidió cancelar todas las cuentas de Internet inalámbrico y mantener todas las cuentas de
correo electrónico, esta decisión se tomo para que los usuarios de correo electrónico ya
existentes luego de la implementación del sistema puedan ingresar a sus cuentas
normalmente.
Por tanto un usuario que desea tener acceso al servicio Web del Internet inalámbrico y
tiene una cuenta de correo electrónico únicamente deberá agregar el servicio de Internet
inalámbrico a su cuenta o desde el servicio actualizar clave que estará disponible
únicamente en el sistema implementado en el servidor de Internet inalámbrico.
Para comodidad de los usuarios del servicio de Internet inalámbrico se implementó las
opciones, del sistema de autenticación automática en el Servidor que mantiene este
servicio, de creación de cuentas para estudiantes de pregrado como de postgrado y la
opción de activación de cuentas
Figura 5.1. Sistema implementado en el servidor del Internet inalámbrico
88
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
5.3.1.1. Creación cuenta.
Luego de la implementación del sistema los únicos usuarios existentes en el sistema serán
los usuarios que hayan tenido cuenta de correo electrónico, por tanto si un usuario desea
tener acceso al servicio de Internet inalámbrico y no posee cuenta de correo electrónico
deberá crearse una nueva cuenta.
El estudiante al crearse una nueva cuenta podrá únicamente seleccionar dentro de los
servicios Web que desea el Internet inalámbrico:
Figura 5.2. Ingreso de nueva cuenta del sistema implementado en el servidor del Internet inalámbrico
El sistema implementado en el servidor del Internet inalámbrico tiene únicamente esta
opción al momento de seleccionar los servicios Web porque el usuario se guardará
únicamente en la base de datos y no se ingresará como usuario de sistema operativo en el
89
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
servidor ya que crearía una inconsistencia de usuarios entre el servidor Internet
inalámbrico y el servidor que almacena los demás servicios Web.
5.3.1.2. Actualizar clave.
Si un usuario desea tener acceso al servicio de Internet inalámbrico y posee una cuenta de
correo electrónico de la Universidad del Azuay lo único que debe hacer es seleccionar
actualizar clave de la pantalla principal para luego ingresar su usuario de correo
electrónico y su clave en la siguiente pantalla:
Figura 5.3. Actualización de clave de una cuenta para el uso del Internet inalámbrico
5.4. Conclusiones.
Se realizaron varias pruebas para detectar posibles errores y poderlos corregir a tiempo, se
instaló y configuró todas las herramientas necesarias previa la implementación del
sistema, se migraron los usuarios existentes del correo electrónico, los mismos serán los
únicos usuarios que no deben crearse una nueva cuenta para acceder a los servicios Web
90
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
de la Universidad del Azuay, ya que todas las cuentas existentes para el Internet
inalámbrico fueron canceladas, además se implementó el sistema, con opciones limitadas,
en el servidor de del Internet inalámbrico para que los usuarios que utilizan este servicio
puedan crearse una nueva cuenta o en el caso de tener correo electrónico actualizar su
clave para tener acceso a este servicio.
91
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Capítulo VI
Conclusiones y Recomendaciones.
92
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
6. Conclusiones y recomendaciones.
6.1. Conclusiones.
• Con la implementación del sistema, de autenticación automático para los servicios
Web, se brinda un gran beneficio a todos los estudiantes de la Universidad del
Azuay quienes ya no tendrán la necesidad de acercarse a los predios de la
Universidad en horarios definidos para poder crearse una cuenta para poder tener
acceso a los servicios Web que se mantiene en línea.
• A inicios de cada ciclo, en el departamento de Redes Internas de la Universidad
del Azuay, era muy común la aglomeración de estudiantes tratando de crearse una
cuenta de correo electrónico o una cuenta para el Internet inalámbrico, ahora con
la implementación del sistema de autenticación automático para los servicios Web,
los estudiantes desde la comodidad de su hogar o desde cualquier parte del mundo
podrán crearse su cuenta para tener acceso a los servicios Web que brinda la
Universidad del Azuay a sus estudiantes.
• Los estudiantes de la Universidad del Azuay, que se hayan retirado temporalmente
de sus estudios, o que hayan egresado y se encuentran realizando su tesis tendrán
también derecho a utilizar los servicios Web, ya que el sistema implementado
verifica la fecha de la última vez que el estudiante realizó la prematricula y le
suma un periodo de un año.
• Anteriormente las cuentas creadas por los estudiantes se cancelaban luego de
finalizado el ciclo, con la implementación del sistema de autenticación automático
las cuentas creadas por los estudiantes ya no caducaran.
• Los lenguajes de programación PHP y Perl permiten interconectarse a la base de
datos de MySql con gran facilidad, permitiendo así el desarrollo más ágil y
sencillo de cualquier aplicación Web con manejo de base de datos.
93
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
• El lenguaje de programación Perl posee comandos muy útiles para la
interconexión con el sistema operativo Linux, permitiéndole al sistema
implementado la creación de usuarios, así como su modificación y eliminación
dentro de Linux.
6.2. Recomendaciones.
• Es recomendable utilizar código verificador generado de forma randómica por el
sistema en las aplicaciones Web como medidad de seguridad además de las
credenciales del usuario.
• Se recomienda tener archivos de configuración para las aplicaciones Web
desarroladas en Php y en Perl, donde se almacenaran los parámetros necesarios
para el correcto funcionamiento de un sistema.
• Se recomienda a la Universidad del Azuay adquirir un certificado digital que
permita encriptar la información que se transmite a través de los servicios Web.
94
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Anexos.
Anexo 1: Herramientas utilizadas para la creación del sistema de autenticaciónautomático para los servicios Web para los estudiantes de la Universidad del Azuay.
1.1. MySql.
MySql es un sistema administrador de bases de datos SQL (Structured Query Language).
Es una implementación clienteservidor que consta de un servidor y diferentes clientes
(programas/librerías). Podemos agregar, acceder, y procesar datos grabados en una base
de datos. Actualmente el gestor de base de datos juega un rol central en la informática,
como única utilidad, o como parte de otra aplicación.
Es un sistema de gestión de base de datos relacional. El modelo relacional se caracteriza a
muy grandes rasgos por disponer que toda la información debe estar contenida en tablas, y
las relaciones entre datos deben ser representadas explícitamente en esos mismos datos
además es un sistema de gestión de base de datos multiusuario, significa que éste puede
utilizarse por varios usuarios al mismo tiempo. Esto facilita la reducción de tiempo ocioso
en el procesador, e indirectamente implica reducción de los costos de energía y
equipamiento para resolver las necesidades de cómputo de los usuarios. Esto añade
velocidad y flexibilidad.
MySql, es un software de código abierto, esto quiere decir que es accesible para
cualquiera, para usarlo o modificarlo, como software libre en un esquema de
licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL (General Public License o
licencia pública general), pero, empresas que quieran incorporarlo en productos privativos
pueden comprar a la empresa una licencia que les permita ese uso.
96
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
MySql es un gestor de base de datos confiable, de gran velocidad y robusto, que puede
utilizar grandes volúmenes de información, además que esta en continuo desarrollo, su
conectividad con distintas plataformas, su velocidad, su seguridad y su gran flexibilidad
la convierten en una de las mas indicadas para manejar datos en Internet
Plataformas soportadas
MySql funciona sobre múltiples plataformas, incluyendo:
AIX, BSD, FreeBSD, HPUX, GNU/Linux, Mac OS X, NetBSD, Novell Netware,
OpenBSD, OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO
UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows
XP, Windows Vista y otras versiones de Windows.
Usuarios destacados
Amazon.com
Cox Communications La cuarta televisión por cable más importante de
EEUU, tienen más de 3.600 tablas y aproximadamente dos millones de
inserciones cada hora.
Google Para el motor de búsqueda de la aplicación AdWords
97
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
NASA
Yahoo! para muchas aplicaciones críticas
Nokia, usa un cluster MySql para mantener información en tiempo real sobre
usuarios de redes de móviles.
NetQOS, usa MySql para la gestión de algunas de las redes más grandes del
mundo como las de Chevron, American Express y Boeing.
Wikipedia, sirve más de 200 millones de consultas y 1,2 millones de
actualizaciones cada día, con picos de 11.000 consultas por segundo.
1.2. PHP.
PHP es un lenguaje de programación usado generalmente para la creación de contenido
para sitios Web. PHP es un acrónimo recurrente que significa "PHP Hypertext Pre
processor" (inicialmente PHP Tools, o, Personal Home Page Tools), y se trata de un
lenguaje interpretado usado para la creación de aplicaciones para Servidores, o creación
de contenido dinámico para sitios Web.
El fácil uso y la similitud con los lenguajes más comunes de programación estructurada,
como C y Perl, permiten a la mayoría de los programadores experimentados crear
98
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
aplicaciones complejas con una curva de aprendizaje muy suave. También les permite
involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un
nuevo grupo de funciones y prácticas.
También puede ser usado desde la línea de órdenes, de la misma manera como Perl o
Python pueden hacerlo.
Su interpretación y ejecución se da en el servidor, en el cual se encuentra almacenado el
script, y el cliente sólo recibe el resultado de la ejecución. Cuando el cliente hace una
petición al servidor para que le envíe una página Web, generada por un script PHP, el
servidor ejecuta el intérprete de PHP, el cual procesa el script solicitado que generará el
contenido de manera dinámica, pudiendo modificar el contenido a enviar, y regresa el
resultado al servidor, el cual se encarga de regresárselo al cliente. Además es posible
utilizar PHP para generar archivos PDF, Flash, así como imágenes en diferentes formatos,
entre otras cosas.
Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL,
Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite; lo cual permite
la creación de Aplicaciones Web muy robustas.
PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos
tales como UNIX (y de ese tipo, como Linux), Windows y Mac OS X, y puede interactuar
con los servidores Web más populares ya que existe en versión CGI, módulo para
Apache, e ISAPI.
El modelo PHP puede ser visto como una alternativa al sistema de Microsoft que utiliza
ASP.NET/C#/VB.NET, a ColdFusion de la compañía Macromedia, a JSP/Java de Sun
99
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Microsystems, y al famoso CGI/Perl. Aunque su creación y desarrollo se da en el ámbito
de los Sistemas libres, bajo la licencia GNU.
1.3. Funciones MySql en PHP.
Estas funciones le permiten acceder a Servidores de bases de datos MySQL.
mysql_connect()
mysql_connect (“hostname”, “usuario”, “clave”)
Establece una conexión a un servidor MySql. Todos los argumentos son opcionales, y si
no hay, se asumen los valores por defecto ('localhost', usuario propietario del proceso del
Servidor, clave vacía).
Esta función devuelve un identificador de enlace positivo si tiene éxito, o falso si error.
El hostname puede incluir también un número de puerto. Ej. "hostname:puerto"
Si se hace una segunda llamada a mysql_connect() con los mismos argumentos, no se
abrirá nuevo enlace, en lugar de eso, se regresa el identificador de enlace ya abierto.
mysql_select_db()
mysql_select_db (“base_de_datos”, $conexion)
100
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Establece la base activa que estará asociada con la conexión especificada.
Si no se específica una conexión, se asume el último enlace abierto. Si no hay ningún
enlace abierto, la función intentará establecer un enlace como si se llamara a
mysql_connect().
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Toda
llamada posterior a mysql_query() utilizará la base activada.
mysql_query()
mysql_query (“sentencia_sql”, $conexion )
Envía una consulta a la base de datos activa en el Servidor asociado con la conexión dada.
Lista de parámetros
Sentencia sql:
Una consulta SQL
La consulta no debe terminar con punto y coma.
Conexión
Un identificador de enlace, como el regresado por mysql_connect(). Si la conexión
no es especificada, se asume el último enlace abierto. Si no se ha abierto enlace, la
función intenta establecer uno tal y como si se hubiera llamado a mysql_connect()
sin argumentos, y lo usará. El resultado de la consulta es puesto en la memoria
intermedia (buffer).
101
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Valores retornados
Para SQL, UPDATE, DELETE, DROP, etc, mysql_query() regresa TRUE en caso
exitoso y FALSE en error.
mysql_query() también fallará y regresará FALSE si el usuario no tiene permiso de
acceder la o las tablas referenciadas por la consulta.
mysql_num_rows()
mysql_num_rows($consulta)
Regresa el número de filas en un resultado. Este comando es valido solo para las
sentencias SELECT.
mysql_fetch_array()
mysql_fetch_array ($consulta)
Devuelve una matriz que corresponde a la sentencia extraída, o falso si no quedan más
filas.
Además de guardar los datos en el índice numérico de la matriz, guarda también los datos
en los índices asociativos, usando el nombre de campo como clave.
Si dos o más columnas del resultado tienen el mismo nombre de campo, la última
columna toma la prioridad. Para acceder a la(s) otra(s) columna(s) con el mismo nombre,
se debe especificar el índice numérico o definir un alias para la columna.
102
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
mysql_affected_rows()
mysql_affected_rows ( $conexion )
Devuelve el número de filas afectadas en la última sentencia INSERT, UPDATE o
DELETE sobre el servidor asociado con el identificador de enlace especificado. Si el
identificador de enlace no ha sido especificado, se asume por defecto el último enlace.
mysql_close()
mysql_close ($conexion)
Cierra el enlace con la base MySql que esta asociada con la conexión especificada. Si no
se específica la conexión, se asume por defecto el último enlace.
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
mysql_free_result
int mysql_free_result (id_resultado )
Esta función solo necesita ser llamada si usa demasiada memoria durante la ejecución de
un script. Toda la memoria usada por resultado especificado en el parámetro del
identificador de resultado será automáticamente liberada.
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
103
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
1.4. Perl.
Perl es un lenguaje de propósito general originalmente desarrollado para la manipulación
de texto y que ahora es utilizado para un amplio rango de tareas incluyendo
administración de sistemas, desarrollo Web, programación en red, desarrollo de GUI y
más.
Se previó que fuera práctico (facilidad de uso, eficiente, completo) en lugar de hermoso
(pequeño, elegante, mínimo). Sus principales características son que es fácil de usar,
soporta tanto la programación estructurada como la programación orientada a objetos y la
programación funcional, tiene incorporado un poderoso sistema de procesamiento de
texto y una enorme colección de módulos disponibles.
La estructura completa de Perl deriva ampliamente del lenguaje C. Perl es un lenguaje
imperativo, con variables, expresiones, asignaciones, bloques de código delimitados por
llaves, estructuras de control y subrutinas.
Perl también toma características de la programación shell. Todas las variables son
marcadas con un signo precedente. Los signos precedentes identifican inequívocamente
los nombres de las variables, permitiendo a Perl tener una rica sintaxis. Notablemente, los
signos precedentes permiten interpolar variables directamente dentro de las cadenas de
caracteres (strings). Como en los shell, Perl tiene muchas funciones integradas para tareas
comunes, como y para acceder a los recursos del Sistema.
Todas las versiones de Perl hacen el tipado automático de datos y la gestión de la
memoria. El intérprete conoce el tipo y requerimientos de almacenamiento de cada objeto
en el programa; reserva y libera espacio para ellos según sea necesario. Las conversiones
104
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
legales de tipo se hacen de forma automática en tiempo de ejecución; las conversiones
ilegales son consideradas errores fatales.
1.5. El Módulo DBI.
El módulo DBI nos facilita una interfaz para que podamos enviar comandos SQL a
cualquier Base de Datos. Escribimos un código Standard que nos sirve para todas sin
tener que reescribir ni una sola línea.
Métodos de la Clase DBI y Manejadores de Base de Datos
connect
$dbh = DBI>connect("DBI:mysql:$database:$hostname:$port",$username, $password);
Se usa el método connect para crear una conexión con la base de datos.
La variable $data_source debe empezar con 'DBI:nombre_del_driver:'. Si el username
(nombre de usuario) y/o el password están indefinidos, entonces DBI usará los valores de
las variables de entorno DBI_USER, DBI_PASS respectivamente. Si no se especifica un
nombre de host (hostname), se utilizará por defecto "localhost".
prepare
$sth = $dbh>prepare($statement);
105
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Este método prepara una sentencia simple de SQL para su ejecución y devuelve una
referencia al manejador de la sentencia ($sth) para usarlo con el objetivo de coger los
atributos de la sentencia cuando se ejecute la sentencias.
execute
$sth>execute;
Este método ejecuta una sentencia preparada y devuelve TRUE si hay éxito y UNDEF si
ocurre un error.
Para las sentencias que no son SELECT (UPDATE, INSERT, etc.) el valor de retorno es
el número de tuplas afectadas. Cero tuplas son devueltas como '0E0' que Perl trata como
'0' pero que es tratado como TRUE.
rows
$sth>rows;
Este método devuelve el número de tuplas afectadas por la última sentencia noSelect
ejecutada.
finish
$sth>finish;
Este método es usado cuando no se va a extraer más datos de un manejador de sentencia,
antes de que sea preparado de nuevo o destruido.
106
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Este método es el más usado para housekeeping interno (liberar recursos como cuando se
bloquea la lectura).
fetchrow_hashref
$sth>fetchrow_hashref;
Método alternativo para extraer tuplas de datos. Este método devuelve una referencia a
una memoria asociativa (hash) conteniendo para cada campo el nombre y el valor.
Las claves de la memoria asociativa (hash) son los mismos que los nombres de los
campos devueltos por el método $sth>{NAME}.
disconnect
$dbh>disconnect;
Este método cierra la conexión entre la BD y el manejador de la base de datos.
Normalmente se suele usar justo antes de terminar la aplicación.
1.6. Zend Core para Oracle.
Gracias a la colaboración entre Zend Technologies y Oracle se logró el producto Zend
Core para Oracle, un entorno de PHP certificado, fácil de instalar y preintegrado con la
base de datos Oracle, que incorpora además un driver OCI8 actualizado para PHP.
107
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Esta combinación permite desarrollar aplicaciones en PHP integradas con Oracle
rápidamente de forma sencilla, sin pasar por las complicadas instalaciones de ambos
entornos y desplegar aplicaciones en una infraestructura robusta, escalable y estable
Algunas ventajas:
El driver OCI(Oracle Call Interface) está certificado por Oracle. Además, se han
añadido características como, por fin, caché de sentencias.
Zend Optimizer incluido.
Documentación de PHP(PHP: Hypertext Processor) en línea, en el mismo
Servidor.
Instalación integrada, en modo texto. Simplemente ejecutando
El entorno incluye integración con Oracle, soporte nativo de XML y Webservices.
Gratuito y con soporte comercial por parte de Zend.
Permite que las colecciones de tipos del Oracle Procedural Language SQL
(PL/SQL) sean accesibles directamente desde PHP, aumentando así su
performance
Requerimientos del Sistema
108
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Sistemas Operativos soportados:
LINUX (RHEL 3 & SLES 9) en x86 y x8664
AIX 5.2, 5.3 en pSeries
Solaris 10 en Sparc
Windows XP Professional / 2000 Server / 2003 Server
Navegadores soportados:
Microsoft Internet Explorer 5.5 y superior
Netscape 7 y superior
Mozilla 1.7 y superior
FireFox
Bases de Datos soportadas:
Base de datos Oracle 10g, 9i, XE
Servidores Web Soportados:
109
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Apache 1.3.x, 2.0.x
Oracle HTTP Server 10.1.2.0.0 (Linux/Windows x86)
Microsoft IIS 5, 6
Oci8
Estas funciones le permiten acceder a bases de datos Oracle 10, Oracle 9, Oracle 8 y
Oracle 7 usando la Interfaz de Llamados Oracle (OCI por sus siglas en Inglés). Ellas
soportan la vinculación de variables PHP a recipientes Es necesario contar con las
bibliotecas de cliente Oracle para usar esta extensión.
1.7. Funciones de Oracle.
Introducción
Estas funciones le permiten acceder a bases de datos Oracle 10, Oracle 9, Oracle 8 y
Oracle 7 usando la Interfaz de Llamados Oracle (OCI por sus siglas en Inglés). Ellas
soportan la vinculación de variables PHP a recipientes Oracle, tienen soporte completo
LOB, FILE y ROWID, y le permiten usar variables de definición entregadas por el
usuario.
110
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
oci_connect()
oci_connect (string username, string password, string hostname:port/db )
Establece una conexión con el servidor Oracle.
Retorna un identificador de conexión necesario para la mayoría de llamados a la base de
datos y retorna FALSE en caso de producirse un error en la conexión.
oci_error()
oci_error ( [identificador] )
Retorna el último error encontrado.
En caso de no encontrar ningún error retorna FALSE.
Las función oci_connect() no necesita enviar el identificador como parámetro las demás
funciones si.
Cuando retorna un error retorna el código del error encontrado y el mensaje del error en
un arreglo de tipo asociativo.
oci_parse()
oci_parse (identificador de conexión, string query )
Prepara la consulta o la llamada para la base de datos, retorna FALSE en caso de
producirse algún error.
Esta función no verifica si la consulta o la llamada a la base de datos esta correcta, la
única forma de lograr esto es ejecutando la consulta.
oci_execute
oci_execute (llamada_base_de_datos [modo_de_ejecución])
111
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Esta función ejecuta una consulta o llamada a la base de datos analizada previamente.
El modo de ejecución es opcional, el modo de ejecución por defecto realiza un commit
automáticamente (OCI_COMMIT_ON_SUCCESS), si no queremos que se realice un
Commit automáticamente especificamos el modo de ejecución como OCI_DEFAULT.
oci_fetch_all
oci_fetch_all (llamada_base_de_datos)
Saca todas las filas de datos, como resultado de una consulta a la base de datos y retorna
el numero de filas afectadas por la consulta en caso de producirse un error retorna
FALSE.
oci_fetch_array
oci_fetch_array (llamada_base_de_datos)
Retorna la fila siguiente de un arreglo de datos del resultado de una consulta a la base de
datos, en caso de producirse un error o de no encontrar mas filas en el arreglo de datos
retorna FALSE
oci_close
oci_close (identificador de conexión)
Esta función cierra correctamente la conexión al Servidor Oracle.
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
1.8. Instalación de Zend Core para Oracle en Linux.
Para instalar Zend Core
Ingresar al sistema como usuario administrador.
112
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Copiar ZendCoreForOraclev1.3.1Linuxx86.tar.gz a /tmp, luego cambiarse al
directorio /tmp:
cp ZendCoreForOraclev1.3.1Linuxx86.tar.gz /tmp
cd /tmp
Extraer los contenidos del archivo bajado Zend Core para Oracle:
tar zxf ZendCoreForOraclev1.3.1Linuxx86.tar.gz
Los archivos son extraídos en un subdirectorio llamado ZendCoreForOraclev1.3.1
Linuxx86.
Cambiarse al directorio ZendCoreForOraclev1.3.1Linuxx8 e iniciar la instalación: ./
install
En la página inicial para la instalación de Zend Core para Oracle, hacer clic en OK.
Figura A1.1. Pagina inicial del instalador del Zend Core para Oracle
113
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Cuando se presente la primera pantalla de los términos y condiciones de la licencia del
Software, hacer clic en next.
Figura A1.2. Primera pagina del acuerdo de licencia del Zend Core para Oracle
En la pantalla para aceptar los términos de la licencia, hacer clic en Yes.
114
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A1.3. Segunda pagina del acuerdo de licencia del Zend Core para Oracle
Si ya tiene un versión existente instalada de PHP, se realizará un respaldo y se
sobrescribirá el archivo php.ini ya existente, hacer clic en Yes.
Figura A1.4. Modificación del archivo /etc/php.ini
115
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Cuando aparece la pantalla con la ubicación para la instalación del Zend Core para Oracle,
aceptar la ubicación por defecto y hacer clic en ok.
Figura A1.5. Locación para la instalación del Zend Core para Oracle
El instalador comienza a extraer los archivos requeridos para la instalación
116
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A1.6. Proceso de instalación
Cuando la extracción de archivos termine, se presentará la pantalla para ingresar una
contraseña que servirá para poder acceder a la consola de Zend Core, luego de ingresar la
contraseña hacer clic en ok.
Figura A1.7. Ingreso de una clave para el administrador del Zend Core para Oracle
117
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Luego se pedirá la verificación del password ingresado, ingresamos la misma contraseña
del paso anterior y hacemos clic en ok.
Figura A1.8. Ingreso de la confirmación de la clave para el administrador del Zend Core para Oracle
En la pagina de soporte de Zend Core se puede ingresar el Zend network user ID y la
contraseña para habilitar que la Consola del Zend Core busque actualizaciones de
componentes disponibles de Zend Core y PHP. Este es un paso opcional por tanto si no
esta registrado o no esta interesado en actualizaciones hacer clic en No.
118
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A1.9. Suscripción para soporte de Zend Core
El siguiente paso es seleccionar el servidor Web que utilizará el Zend Core, en una
pantalla inicial nos pregunta si deseamos que el Zend Core instale y configure su propio
servidor Apache, si presionamos Yes y tenemos instalado previamente el servidor
Apache, se creara otro servidor Apache con diferentes configuraciones, por lo tanto
debemos hacer clic en No.
119
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 1.10. Instalación y configuración de un nuevo servidor Apache
Al presionar NO, el instalador reconoce el servidores instalados y nos permite seleccionar
el que deseamos, debemos escoger la primera opción, el servidor Apache y hacer clic en
ok.
120
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 1.11 Selección del servidor Apache para la configuración del Zend Core para Oracle
El instalador nos confirma que hayamos seleccionado bien el servidor Web para el Zend
Core, si todo esta correcto hacer clic en Yes
Figura A1.12. Confirmación del servidor Apache seleccionado
En la siguiente página de instalación debemos escoger el método de instalación para el
servidor seleccionado, en este caso el Apache, seleccionamos como método al Módulo del
Apache y presionamos ok
121
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 1.13. Selección del método de instalación para el servidor Apache
En la siguiente página de instalación debemos seleccionar el servidor virtual para el Zend
Core GUI, seleccionamos main server y debemos hacer clic en ok.
Figura A 1.14. Selección de un servidor virtual para el Zend Core para Oracle
122
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
En el siguiente paso el instalador nos pregunta si deseamos reiniciar el servidor Web
para lo que hacemos clic en Yes
Figura A 1.15. Reinicio del Servidor Apache
La siguiente página del instalador se nos presenta una notificación de que el apachectl
script ha sido actualizado, hacer clic en ok.
123
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A1.16. Información de la actualización del servidor Apache
La siguiente pagina de instalación nos presenta un comando útil para la configuración, la
pagina Web para la administración del motor del Zend Core y una lista de archivos que
han sido modificados, luego de tomar nota de esta información importante debemos hacer
clic en next.
124
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 1.17. Lista de archivos modificados
Una página final de confirmación es presentada, presionamos ok para finalizar la
instalación.
Figura A 1.18. Confirmación de instalación del Zend Core para Oracle
La instalación del Zend Core para Oracle esta completa.
1.9. Configuración del Zend Core para Oracle.
En esta sección se configurara las directivas de control para reportar los errores en las
páginas Web.
Ingresar el siguiente URL en el navegador Web para acceder a la página de
administración del Zend Core: http://127.0.0.1/ZendCore
125
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Ingrese la contraseña GUI que ingresamos durante la instalación del Zend Core para
Oracle:
Figura A 1.19. Ingreso de clave del administrador para consola del Zend Core para Oracle
Luego presionamos el icono de login:
Figura A 1.20. Icono de login
Presionamos la pestaña de configuración para desplegar las opciones de configuración:
126
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 1.21. Panel de configuraciones del Zend Core para Oracle
Presionamos en le icono para desplegar las configuración de los Error Handling and
Logging.
Figura A 1.22. Configuración para manejar los errores de las aplicaciones de PHP
127
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Seleccionamos el valor de On de la directiva Display Errors para mostrar los errores en
las páginas Web donde se presenten durante el desarrollo.
Figura A 1.23. Configuración para mostrar los errores en pantalla de las aplicaciones de PHP
Luego de que realicemos un cambio en la configuración se presentara un mensaje sobre la
cabecera de la página indicándonos que los cambios no han sido guardados, para lo que
guardamos los cambios pulsando Save Settings:
128
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 1.24. Guardar los cambios de configuración
Luego de guardar la configuración se nos presentara un mensaje indicándonos que
debemos reiniciar el servidor Web para lo cual presionamos restart server.
Figura A 1.25. Reiniciar servidor Apache
129
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
La configuración del Zend Core esta lista.
130
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Anexo 2: Authen Radius
Este módulo provee una simple conexión que permite enviar y recibir, peticiones y
respuestas a o desde un servidor Radius.
2.1. Instalación del Módulo de Perl Authen::Radius
Para poder instalar el módulo Authen::Radius, como requisito previo, debemos instalar el
módulo de Perl Data::HexDump.
Debemos ingresar en el Webmin como usuario administrador, en le menú principal
seleccionamos la opción otros .
Luego seleccionamos: módulos de Perl CPAN(Comprehensive Perl Archive Network)
El Webmin nos mostrara una lista de todos los módulos de perl instalados en el sistema y
al final de la página existe una sección donde podemos buscar un módulo de perl para
instalar en nuestro caso seleccionamos la opción: invocar desde Cpan
Colocamos en la entrada de texto a continuación el nombre del módulo Data::HexDump.
Luego presionamos el botón instalar.
131
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 2.1. Búsqueda del módulo Data::HexDump
El Webmin entonces buscara el módulo, para la correcta instalación de este módulo
debemos seleccionar en instalar acción: construir e instalar.
Para finalizar presionamos el botón continuar con la instalación.
Figura A 2.2. Instalación del módulo Data::HexDump
El Webmin se encargara de compilar e instalar el módulo, al final obtendremos un
mensaje de que la instalación del módulo Data::HexDump se ha realizado con éxito.
132
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Para instalar el siguiente módulo necesario debemos dar un clic en el link, al final de la
pantalla:
Regresar a lista de módulos.
Figura A 2.3. Confirmación de la instalación del módulo Data::HexDump
Una vez que se nos presente nuevamente la lista de los módulos instalados en el sistema,
al final de la pantalla, como en el módulo anterior, en la entrada de texto de la opción
invocado desde CPAN, ingresamos Authen::Radius y presionamos el botón instalar.
133
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 2.4. Instalación del módulo Authen::Radius
A diferencia de el módulo anterior, seleccionaremos esta vez en la opción instalar acción:
construir, verificar e instalar, luego presionamos el botón continuar con la instalación.
Figura A 2.5. Configuración de instalación del módulo Authen::Radius
Una vez que el Webmin haya finalizado la instalación nos presentara un mensaje
indicándonos que la instalación ha sido exitosa
134
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Figura A 2.6. Confirmación de instalación del módulo Authen::Radius
2.2.Métodos del Authen Radius.
new ( Host => HOSTNAME:PORT, Secret => SECRET)
Este método sirve para crear una conexión con el Servidor Radius
El nombre del Host y el Secret son los especificados en el archivo /etc/clients, donde se
guardan los dispositivos permitidos para hacer las peticiones y consultas al servidor
Radius
Si no se especifica el puerto en el nombre del Host se utilizara entonces el puerto para el
servidor Radius del archivo /etc/services.
check_pwd ( USERNAME, PASSWORD )
135
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Este método verifica con el servidor Radius que la Contraseña especificada es valida para
el usuario ingresado, este método funciona en conjunto con los métodos add_attributes,
send_packet y recv_packet.
add_attributes ( { Name => NAME, Value => VALUE }, ... )
Este método agrega uno o más atributos a un objeto
send_packet ( REQUEST_TYPE )
Este envía al servidor un tipo de petición, los tipos de petición que se pueden realizar al
servidor Radius son los siguientes:
• ACCESS_REQUEST
• ACCESS_ACCEPT
• ACCESS_REJECT
• ACCOUNTING_REQUEST
• ACCOUNTING_RESPONSE
recv_packet
Este método recibe un paquete de respuesta del servidor Radius
clear_attributes
Borra todos los atributos de un objeto
136
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Anexo 3: Diagramas de flujo de datos del sistema de autenticación automático para los servicios Web para los estudiantes de laUniversidad del Azuay
3.1. Ingreso de nueva cuenta
115
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
3.2. Cambio de clave de una cuenta
116
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
3.3. Agregar servicios Web a una cuenta
117
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Bibliografía
118
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Bibliografía
Jonathan Hasell, Radius, O’Reilly, Estados Unidos de América, Primera edición
2002
Luke Welling, Laura Thomson, Desarrollo Web con Php y MySql, Anaya
Multimedia, Madrid España, Segunda edición, 2003
Ed Tittel, Chelsea Valentine, Lucinda Dykes, Mary Bumeister, Mastering
XHTML, Sybex, San Francisco, Estados Unidos de América, 2001 Primera
edición.
Páginas de Internet Consultadas
Php group, funciones de php, [citado 20070108], Disponible en World Wide
Web: http://www.php.net/manual/en/index.php
Mysql AB, funciones de Mysql, [citado 20061015], Disponible en World
Wide Web: http://dev.mysql.com/doc/
Perl En Español, funciones de Perl [citado 2006920], Disponible en World
Wide Web: http://perlenespanol.baboonsoftware.com/tutoriales/
Zend, Descarga, instalación y configuración del Zend Core para Oracle,
[citado 2007115], Disponible en World Wide Web:
http://www.zend.com/products/zend_core/zend_core_for_oracle
ajpdsoft, Comandos de Linux, [citado 2006510], Disponible en World Wide
Web:
http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=155
Wikipedia, conceptos utilizados, [citado 2007211], Disponible en World
Wide Web: http://es.wikipedia.org/wiki/Portada
119
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Glosario de Términos
ADSL
(Asymmetric Digital Subscriber Line)
Consiste en una línea digital de alta velocidad, apoyada en el par simétrico de cobre
que lleva la línea telefónica convencional o línea de abonado.
Es una tecnología de acceso a Internet de banda ancha, lo que implica capacidad para
transmitir más datos, lo que, a su vez, se traduce en mayor velocidad
Cable MODEM
Un cable módem es un tipo especial de módem diseñado para modular la señal de
datos sobre una infraestructura de televisión por cable. El término Internet por cable
(o simplemente cable) se refiere a la distribución de un servicio de conectividad a
Internet sobre esta infraestructura de telecomunicaciones
Chap
(Challenge Handshake Authenticacition Protocol).
Es un método de autenticación remota o inalámbrica. Diversos proveedores de
servicios emplean CHAP. CHAP autentifica a un usuario frente a un ISP
Crypt
Encripta una cadena mediante un algoritmo no reversible (hash). Encripta utilizando
el método estándar de encriptación del Unix: DES. Los argumentos son una cadena a
encriptar y una cadena semilla de 2 caracteres en la que basar la encriptación.
121
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Dirección Ip
Una dirección IP es un número que identifica de manera lógica y jerárquica a una
interfaz de un dispositivo (habitualmente una computadora) dentro de una red que
utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red o nivel 3 del
modelo de referencia OSI. Dicho número no se ha de confundir con la dirección MAC
que es un número hexadecimal fijo que es asignado a la tarjeta o dispositivo de red
por el fabricante, mientras que la dirección IP se puede cambiar.
Dsl
(Digital Subscriber Line)
Es un término utilizado para referirse de forma global a todas las tecnologías que
proveen una conexión digital sobre línea de abonado de la red telefónica local.
Eap
(Extensible Authentication Protocol)
PPP utiliza como Método de autenticación "usuario" y "clave".Actualmente existe la
necesidad de ampliar dicho método a otros, que resulten más seguros o cómodos para
el usuario. EAP sirve como soporte a protocolos propietarios de autenticación,
gestiona las contraseñas en mecanismos de desafíorespuesta y es capaz de trabajar
con tecnología de clave pública.
Ethernet
122
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Es el nombre de una tecnología de redes de computadoras de área local (LANs)
basada en tramas de datos. El nombre viene del concepto físico de ether. Ethernet
define las características de cableado y señalización de nivel físico y los formatos de
trama del nivel de enlace de datos del modelo OSI.
GNU GPL
(General Public License)
Es una licencia creada por la Free Software Foundation a mediados de los 80, y está
orientada principalmente a proteger la libre distribución, modificación y uso de
software. Su propósito es declarar que el software cubierto por esta licencia es
software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a
los usuarios.
Existen varias licencias "hermanas" de la GPL, como la licencia de documentación
libre GNU (GFDL) que cubre los artículos de la Wikipedia, la Open Audio License,
para trabajos musicales, etcétera, y otras menos restrictivas, como la MGPL, o la
LGPL (Lesser General Public License o Library General Public License), que
permiten el enlace dinámico de aplicaciones libres a aplicaciones no libres.
InalámbricoWireless
tipo de comunicación en la que no se utiliza un medio de propagación físico, sino se
utiliza la modulación de ondas electromagnéticas, las cuales se propagan por el
123
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
espacio sin un medio físico que comunique cada uno de los extremos de la
transmisión.
Internet
Internet es una red mundial de computadoras con un conjunto de protocolos, el más
destacado, el TCP/IP. Aparece por primera vez en 1969, cuando ARPAnet establece
su primera conexión entre tres universidades en California y una en Utah. También se
usa el término Internet como sustantivo común y por tanto en minúsculas para
designar a cualquier red de redes que use las mismas tecnologías que Internet,
independientemente de su extensión o de que sea pública o privada.
Cuando se dice red de redes se hace referencia a que es una red formada por la
interconexión de otras redes menores.
ISP
(Internet Service Provider)
Un proveedor de servicios de Internet es una empresa dedicada a conectar a Internet a
los usuarios o las distintas redes que tengan, y dar el mantenimiento necesario para
que el acceso funcione correctamente
Ldap
(Lightweight Directory Access Protocol)
Es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio
ordenado y distribuido para buscar diversa información en un entorno de red. LDAP
124
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
puede considerarse una base de datos (aunque su Sistema de almacenamiento puede
ser diferente) al que pueden realizarse consultas.
Habitualmente, almacena la información de login (usuario y contraseña) y es utilizado
para autenticarse aunque es posible almacenar otra información (datos de contacto del
usuario, ubicación de diversos recursos de la red, permisos, certificados...).
MD5
(MessageDigest Algorithm 5)
Es un algoritmo de reducción criptográfico de 128 bits ampliamente usado. En
sistemas UNIX y GNU/Linux se utiliza el algoritmo MD5 para cifrar las claves de los
usuarios.
MODEM
Acrónimo de las palabras modulador/demodulador. El módem actúa como equipo
terminal del circuito de datos, permitiendo la transmisión de un flujo de datos
digitales a través de una señal analógica.
NAS
(Network Attached Storage)
Es el nombre dado a una tecnología de almacenamiento dedicada a compartir la
capacidad de almacenamiento de un computador (Servidor) con PCs o Servidores
clientes a través de una red (normalmente TCP/IP), haciendo uso de un Sistema
Operativo optimizado para dar acceso con los protocolos FTP o TFTP.
125
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
Nocat
Es un software que permite autenticar el acceso a una red
vía un portal cautivo, el cual se utiliza para controlar los accesos a una red
del tipo 802.11. Está compuesto por un gateway y un servidor de autenticación.
Este elemento está implementado en Perl y se divide en dos
partes: el gateway y el servidor de autenticación. El gateway se encarga de dar salida a
Internet a todas las peticiones de los usuarios de la red WiFi,
mientras que el servidor de autenticación se encarga de decidir si un usuario
puede o no utilizar la red.
PPP
(PointtoPoint Protocol).
El protocolo punto a punto es un protocolo de nivel de enlace estandarizado
Protocolo
Conjunto de reglas que especifican el intercambio de datos u órdenes durante la
comunicación entre las entidades que forman parte de una red.
Protocolo Ip
126
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
El Protocolo de Internet (IP, de sus siglas en inglés Internet Protocol) es un protocolo
NO orientado a conexión usado tanto por el origen como por el destino para la
comunicación de datos a través de una red de paquetes conmutados.
Los datos en una red que se basa en IP son enviados en bloques conocidos como
paquetes o datagramas (en el protocolo IP estos términos se suelen usar
indistintamente). En particular, en IP no se necesita ninguna configuración antes de
que un equipo intente enviar paquetes a otro con el que no se había comunicado antes.
Servidor
El ordenador en el que se ejecuta un programa que realiza alguna tarea en beneficio de
otras aplicación llamada clientes, tanto si se trata de un ordenador central
(mainframe), un miniordenador, un ordenador personal, un PDA o un Sistema
integrado; sin embargo, hay ordenadores destinados únicamente a proveer los
servicios de estos programas: estos son los servidores por antonomasia
UDP
(User Datagram Protocol)
Es un protocolo del nivel de transporte basado en el intercambio de datagramas.
Permite el envío de datagramas a través de la red sin que se haya establecido
previamente una conexión, ya que el propio datagrama incorpora suficiente
información de direccionamiento en su cabecera. Tampoco tiene confirmación, ni
control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco
sabemos si ha llegado correctamente, ya que no hay confirmación de entrega o de
recepción
127
Sistema de autenticación unificado para la utilización de los servicios Web de los estudiantes de la Universidad del Azuay
VPN
(Virtual Private Network)
VPN es una tecnología de red que permite una extensión de la red local sobre una red
pública o no controlada, como por ejemplo Internet
WiFi
(Wireless Fidelity)
Es parte de un conjunto de estándares para redes inalámbricas.
WiFi se creó para ser utilizada en redes locales inalámbricas, pero es frecuente que
en la actualidad también se utilice para acceder a Internet.
128