SlideShare una empresa de Scribd logo
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

Más contenido relacionado

PDF
Apache: Más opciones de configuración
PDF
Apache: páginas multilenguaje
PDF
Apache: Servidores web virtuales (por IP y puerto)
PDF
Apache Tomcat 8: despliegue de una aplicación mediante terminal
PDF
Apache: información sobre nuestro servidor web
PDF
Apache: Servidores web virtuales (por nombre)
PDF
Instalación de Apache Tomcat 8
PDF
Apache: Servidor Web Seguro (HTTPS)
Apache: Más opciones de configuración
Apache: páginas multilenguaje
Apache: Servidores web virtuales (por IP y puerto)
Apache Tomcat 8: despliegue de una aplicación mediante terminal
Apache: información sobre nuestro servidor web
Apache: Servidores web virtuales (por nombre)
Instalación de Apache Tomcat 8
Apache: Servidor Web Seguro (HTTPS)

La actualidad más candente (20)

PDF
Apache Tomcat 8: integración con Apache Server (con mod_jk)
PDF
Apache Tomcat 8: despliegue de una aplicación mediante el interfaz
PDF
Instalación y configuración de un servidor ProFTPd
PDF
Instalación de Tomcat 7 en Linux y Windows
PDF
Configurar el sitio web de apache para usar varios puertos
PDF
Como hacer un servidor proftpd en ubuntu
PDF
Sistemas de control de versiones: SVN
PDF
Joomlacursonoviembre en pdf
ODP
Práctica: distribución de midlets mediante OTA con J2ME - parte I
PDF
Servidor FTP con usuarios en LDAP
PDF
Curso Cms 03
DOCX
Pasos de instacion joomla
PDF
Soluciones a problemas frecuentes al trabajar con Joomla y Wampserver
PPTX
Presentación diana molina_wikisemanticaso
PDF
Catalogo en linea
PDF
Proyecto iccso
PDF
Manual easyphp
DOCX
Reporte 2
PDF
Manipulacion de datos
PDF
Servidor Web Apache, PHP, MySQL.
Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: despliegue de una aplicación mediante el interfaz
Instalación y configuración de un servidor ProFTPd
Instalación de Tomcat 7 en Linux y Windows
Configurar el sitio web de apache para usar varios puertos
Como hacer un servidor proftpd en ubuntu
Sistemas de control de versiones: SVN
Joomlacursonoviembre en pdf
Práctica: distribución de midlets mediante OTA con J2ME - parte I
Servidor FTP con usuarios en LDAP
Curso Cms 03
Pasos de instacion joomla
Soluciones a problemas frecuentes al trabajar con Joomla y Wampserver
Presentación diana molina_wikisemanticaso
Catalogo en linea
Proyecto iccso
Manual easyphp
Reporte 2
Manipulacion de datos
Servidor Web Apache, PHP, MySQL.
Publicidad

Similar a Apache: Servidores web con autentificación (20)

DOCX
Resumen squid
PDF
Cherokee
PPTX
Resumen Servidor Proxy
PPTX
RESUMEN PROXY
PPTX
servidor proxy
PDF
Tema 7
DOCX
Manual de squid creado por juanextk
DOCX
Manual de squid creado por juanextk
PDF
autenticacion apache con mysql
DOCX
Manual de squid creado por juanextk
PDF
08practica monitorizacion
ODP
Auth digest
PDF
5 servidor web
PDF
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
PDF
Red t3_practica_autenticacion_apache
DOCX
PROXY CENTOS 6.5
PDF
Manual de instalacion de un servidor proxy
PDF
Servicio HTTP en Ubuntu (Apache)
PDF
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
PDF
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Resumen squid
Cherokee
Resumen Servidor Proxy
RESUMEN PROXY
servidor proxy
Tema 7
Manual de squid creado por juanextk
Manual de squid creado por juanextk
autenticacion apache con mysql
Manual de squid creado por juanextk
08practica monitorizacion
Auth digest
5 servidor web
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
Red t3_practica_autenticacion_apache
PROXY CENTOS 6.5
Manual de instalacion de un servidor proxy
Servicio HTTP en Ubuntu (Apache)
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Publicidad

Último (20)

PDF
presentacion_propuesta_de_proyecto_scrapbook_doodle_marron_y_blanco_20250811_...
PPT
Inteligencia en diferentes tipos de discapacidad (1).ppt
PPTX
DIAPOSITIVA SEMANA 13-COMUNICACION ORAL Y ESCRITA - RT 1-08-2025-.pptx
PPTX
SESIÓN 7 2022 II (2) (1).ppt............
PDF
Cuidar, limpiar, sostener_ el trabajo que hace posible la vida   _ Trabajador...
PDF
reglamento_escoltas.pdf especialidad guías mayores
PPTX
Sesión 07 Plantilla para estudiantes (1).pptx
PDF
1ra ACTIVIDAD 24 321CCSS 3°2025 FBT..pdf
PPTX
Dios requiere a siervos, más que a lideres.pptx
DOCX
SILABO. III PRACTIA E INVESTIG 2025.docx
PPT
Programa 5 tecnica y concepto en un ambiente competitivo
PDF
DCI_SI31_PPT_Conceptos básicos de Estadística Inferencial.pdf
PDF
Sexualidad y genero en los Adolescentes
PPTX
Larry Nasser un Caso para leer y aprender
PDF
libro28creenciasadventistas.pdf club de libros
PPTX
El hombre según el diseño original de Dios.pptx
PDF
Presentación Diapositivas Propuesta Proyecto Creativo Retro Naranja.pdf
PDF
132521686-Modulo-i-Sistemas-de-Permiso-de-Trabajo.pdf
PDF
El_Tabernaculo_de_Moises......................................
PPTX
Curso de Materiales peligrosos Matpel 1
presentacion_propuesta_de_proyecto_scrapbook_doodle_marron_y_blanco_20250811_...
Inteligencia en diferentes tipos de discapacidad (1).ppt
DIAPOSITIVA SEMANA 13-COMUNICACION ORAL Y ESCRITA - RT 1-08-2025-.pptx
SESIÓN 7 2022 II (2) (1).ppt............
Cuidar, limpiar, sostener_ el trabajo que hace posible la vida   _ Trabajador...
reglamento_escoltas.pdf especialidad guías mayores
Sesión 07 Plantilla para estudiantes (1).pptx
1ra ACTIVIDAD 24 321CCSS 3°2025 FBT..pdf
Dios requiere a siervos, más que a lideres.pptx
SILABO. III PRACTIA E INVESTIG 2025.docx
Programa 5 tecnica y concepto en un ambiente competitivo
DCI_SI31_PPT_Conceptos básicos de Estadística Inferencial.pdf
Sexualidad y genero en los Adolescentes
Larry Nasser un Caso para leer y aprender
libro28creenciasadventistas.pdf club de libros
El hombre según el diseño original de Dios.pptx
Presentación Diapositivas Propuesta Proyecto Creativo Retro Naranja.pdf
132521686-Modulo-i-Sistemas-de-Permiso-de-Trabajo.pdf
El_Tabernaculo_de_Moises......................................
Curso de Materiales peligrosos Matpel 1

Apache: Servidores web con autentificación

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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