• Like
  • Save
Apache: Servidores web con autentificación
Upcoming SlideShare
Loading in...5
×
 

Apache: Servidores web con autentificación

on

  • 507 views

Configuración de restricción de sitios web utilizando los valores de configuración de Apache.

Configuración de restricción de sitios web utilizando los valores de configuración de Apache.

Statistics

Views

Total Views
507
Views on SlideShare
315
Embed Views
192

Actions

Likes
2
Downloads
0
Comments
0

1 Embed 192

http://entrepantallasdev.wordpress.com 192

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Apache: Servidores web con autentificación Apache: Servidores web con autentificación Document Transcript

    • IES Gran Capitán Módulo: Despliegue de Aplicaciones Web Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web” Práctica 5: Servidores web con autenticación Fecha entrega: 4/11/2013 Autores: Pablo Medina Suárez IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 2 1 ÍNDICE 1 ÍNDICE 2 2 INTRODUCCIÓN 3 3 DESARROLLO DE LA PRÁCTICA 4 3.1 3.2 3.3 3.4 ENUMERA LAS DIRECTIVAS DE AUTENTICACIÓN. 4 ENUMERA LAS DIRECTIVAS PARA EL CONTROL DE ACCESO POR IPS. 4 INDICA EL SERVIDOR WEB QUE VAS A UTILIZAR (IP Y NOMBRE) Y EL CLIENTE (IP Y/O NOMBRE) 5 DENEGAR ACCESO POR IP A UNA DE TUS MÁQUINAS CLIENTES. DEBES PROBAR QUE EL CLIENTE INICIALMENTE TENGA ACCESO Y LUEGO DENEGÁRSELO. 5 3.5 AUTENTIFICACIÓN DIGEST POR USUARIO (MEDIANTE UN FICHERO DE CUENTAS DE USUARIO). 7 3.5.1 AUTENTICACIÓN DE UN USUARIO CONCRETO. 8 3.5.2 AUTENTICACIÓN DE UN GRUPO (LLÁMALO GRUPO[TUAPELLIDO]) 9 3.6 ¿QUÉ INDICA EL CÓDIGO DE ESTADO 401 QUE DEVUELVE EL NAVEGADOR? ¿Y EL 403? ¿CUÁL Y CUÁNDO TE HA APARECIDO? 10 4 BIBLIOGRAFIA IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 12
    • Práctica 5: Servidor web con autenticación 2 3 INTRODUCCIÓN - Objetivo: Restringir el acceso a algunos recursos (páginas). Con Apache podemos establecer mecanismos de usuario y contraseña, para limitar el acceso. Incluso los usuarios pueden incluirse en grupos y establecer los permisos de acceso a nivel de grupo lo cual puede resultar más cómodo. ¡PERO CUIDADO! la transmisión de información tiene una encriptación muy débil. Aunque en esta primera práctica sobre permisos de acceso aún no lo vamos a aplicar, ten en cuenta que no deberías estar pasando password si no utilizas también SSL. Cualquier sniffer podrá fácilmente robarte las contraseñas! Lo veremos en la siguiente práctica. También hay que tener en cuenta que Apache permite otros métodos más sofisticados de autenticación como son: guardar la contraseña en bases de datos (tipo DB y DBM), en un directorio LDAP e incluso en bases de datos relacionales como MySQL. - Procedimiento: Leer el capítulo 5 de la "Guía de supervivencia Apache" Leer el capítulo "Más Opciones" del Curso de Víctor Fuster. Aplicar mecanismos de control de acceso sobre alguno de los servidores Web virtuales creados en prácticas anteriores. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 4 3 DESARROLLO DE LA PRÁCTICA 3.1 Enumera las Directivas de Autenticación. En Apache existen las siguientes directivas utilizadas para la configuración de autenticación:         3.2 AuthType: establece el tipo de autenticación de usuario que se utilizará. Puede tomar los valores Basic y Digest. También se puede guardar la contraseña en bases de datos, un directorio LDAP e incluso en BBDD relacionales, como MySQL. AuthName: establece el nombre para la parte del sitio que estamos protegiendo. AuthUserFile: establece el fichero del servidor que guarda la información de los usuarios y sus correspondientes contraseñas encriptadas. Utilizado para autenticación básica. AuthDigestFile: establece el fichero del servidor que guarda la información de usuarios y sus digest. Utilizado para la autenticación de tipo Digest. AuthGroupFile: establece el fichero del servidor que guarda la información de grupos de usuarios. Utilizado para autenticación básica de grupos de usuarios. Require: permite establecer qué usuarios podrán acceder al recurso protegido. Puede tomar los valores:  User. Debe añadirse una lista separada por espacios con los nombres de los usuarios autorizados.  Group. Debe añadirse una lista separada por espacios con los nombres de los grupos autorizados.  Valid-user.  Cualquier combinación de ellos. AccessFileName: permite establecer el nombre para los ficheros de configuración distribuidos. AllowOverride: permite establecer qué directivas están permitidas en los ficheros de configuración distribuidos. Puede tomar los valores:  AuthConfig.  FileInfo.  Indexes.  Limit.  Options. Enumera las Directivas para el control de acceso por IPs.    Allow: controla qué clientes pueden acceder al recurso protegido, esto puede hacerse con la dirección IP, una subred, o nombres de dominios. Deny: controla qué clientes no pueden acceder al recurso protegido. Funciona de igual manera que Allow, sólo que deniega el acceso. Order: establece el orden en el que se aplican las dos directivas anteriores. Puede tomar los siguientes valores (sin espacios entre las comas):  Deny,Allow: primero deniega, después permite.  Allow,Deny: permite, luego deniega.  Mutual-Failure: tiene el mismo efecto que Allow,Deny. Actualmente, se encuentra en desuso. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 3.3 5 Indica el servidor web que vas a utilizar (IP y nombre) y el cliente (IP y/o nombre) Contamos con estas dos máquinas virtuales:   3.4 Servidor: Cliente: IP: 192.168.115. 99/192.168.115.100 IP: 192.168.115.105 Nombre: desplapwserver Denegar acceso por IP a una de tus máquinas clientes. Debes probar que el cliente inicialmente tenga acceso y luego denegárselo. En primer lugar, voy a crear un sitio específico para la realización de ésta práctica, siguiendo los pasos que ya se han seguido anteriormente, por lo que no los voy a adjuntar. El resultado es que tendremos un sitio denominado practica5 con el siguiente aspecto: Y el archivo de configuración (aún por defecto), tiene el siguiente aspecto: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 6 Vamos a comprobar primero si tenemos acceso desde nuestra máquina cliente, por lo que abrimos el navegador e introducimos la dirección correspondiente: Como se ve, tenemos acceso incluso al directorio supuestamente “privado”, algo que no queremos. Por lo que voy a configurarlo de forma que la máquina cliente no tenga acceso a dicho sitio: Se reinicia el servidor y probamos el acceso desde la máquina cliente: Ahora el cliente ya no tiene acceso a este directorio, y recibe un error 403. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 3.5 7 Autentificación Digest por usuario (mediante un fichero de cuentas de usuario). Para habilitar la autentificación Digest en el directorio privado, tenemos que hacer los siguientes cambios en el archivo del sitio: Las líneas introducidas cargan el módulo de autentificación Digest y obligan a cualquier usuario a identificarse al acceder al directorio /privado, y la información introducida será contrastada con la del archivo que crearemos en /var/www/users, con el nombre del entorno protegido especificado en AuthName, en el siguiente paso. Si la información introducida es válida, podrá acceder, sin importar el usuario que sea (Require valid-user). Para la gestión de usuarios, tenemos que hacer uso de htdigest, introduciendo los siguientes comandos en un terminal: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 8 Lo que hemos hecho es crear (usando –c) un archivo users que responde al entorno privado. En dicho archivo se crea el usuario pabloms con la contraseña introducida. Vamos a crear otro usuario, usuario1, que también tendrá acceso: Ahora reiniciamos el servidor y comprobamos si los cambios realizados funcionan correctamente, por lo que accedemos con la máquina cliente: Si nos identificamos con información válida (alguno de los usuarios que hemos creado antes), se accede correctamente al sitio privado. En caso contrario, o si cancelamos la operación, nos aparece la siguiente página, recibiendo el error 401: Con esto, ya tenemos controlado el sitio mediante autentificación Digest. 3.5.1 Autenticación de un usuario concreto. En el paso anterior, se han creado dos usuarios, y si el usuario se identificaba con alguno de los dos podía acceder al sitio privado. Esto es debido a la directiva Require validuser. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 9 Para restringir el acceso para que sólo un usuario concreto pueda tener acceso, debemos usar la directiva Require user nombreusuario: Ahora sólo podrá acceder pabloms, si probamos con usuario1, se nos repite la petición hasta que cancelemos la introducción o usemos el usuario requerido. 3.5.2 Autenticación de un grupo (llámalo grupo[tuapellido]) Con la directiva Require también podemos restringir el acceso sólo a los usuarios que pertenezcan a un grupo concreto, usando Require group nombregrupo. Para configurar el acceso a privado utilizando grupos, se realizan los siguientes cambios en su archivo de configuración: Se buscarán los usuarios pertenecientes al grupo medinasuarez en el archivo /var/www/groups, el cual contiene la siguiente información: Si el usuario introducido tiene una entrada en el archivo indicado en AuthUserFile y pertenece al grupo indicado en el archivo AuthGroupFile, se permitirá el acceso al sitio. Si nos identificamos con cualquiera de los dos usuarios podremos acceder, pues ambos pertenecen al grupo. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 10 Si cambiamos el archivo y eliminamos usuario1: Al intentar acceder sólo podemos identificarnos como pabloms para tener acceso. En caso de crear un nuevo usuario, si queremos que tenga acceso tendremos que modificar el archivo groups. Con esto ya tenemos configurado el acceso por grupos de usuarios. 3.6 ¿Qué indica el código de estado 401 que devuelve el navegador? ¿Y el 403? ¿Cuál y cuándo te ha aparecido? Se recibe el error 401 cuando falla la autorización del acceso al sitio restringido: También podemos ver el código de error si echamos un vistazo a los archivos de log: El error 403 se recibe cuando el acceso al recurso es denegado, como ocurre cuando negamos el acceso a una IP concreta: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 11 Podemos verlo desde los archivos de log de la misma manera: También podemos recibir el error 404 cuando no se encuentra un documento, pero este error ya lo hemos tratado anteriormente. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
    • Práctica 5: Servidor web con autenticación 4 BIBLIOGRAFIA  Guía de Supervivencia Apache. Consultado en: http://moodle.iesgrancapitan.org/mod/resource/view.php?id=5575  Curso Apache 2.0, por Víctor Fuster Consultado en: http://moodle.iesgrancapitan.org/mod/resource/view.php?id=5180  Documentación oficial de Apache. Módulo auth_digest Consultado en: http://httpd.apache.org/docs/2.4/mod/mod_auth_digest.html  Documentación oficial de Apache. Autentificación Consultado en: http://httpd.apache.org/docs/2.4/howto/auth.html IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 12