SlideShare une entreprise Scribd logo
1  sur  12
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

Contenu connexe

Tendances

Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: integración con Apache Server (con mod_jk)Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: integración con Apache Server (con mod_jk)pablozacrosuarez
 
Apache Tomcat 8: despliegue de una aplicación mediante el interfaz
Apache Tomcat 8: despliegue de una aplicación mediante el interfazApache Tomcat 8: despliegue de una aplicación mediante el interfaz
Apache Tomcat 8: despliegue de una aplicación mediante el interfazpablozacrosuarez
 
Instalación y configuración de un servidor ProFTPd
Instalación y configuración de un servidor ProFTPdInstalación y configuración de un servidor ProFTPd
Instalación y configuración de un servidor ProFTPdpablozacrosuarez
 
Instalación de Tomcat 7 en Linux y Windows
Instalación de Tomcat 7 en Linux y WindowsInstalación de Tomcat 7 en Linux y Windows
Instalación de Tomcat 7 en Linux y Windowspablolp
 
Configurar el sitio web de apache para usar varios puertos
Configurar el sitio web de apache para usar varios puertosConfigurar el sitio web de apache para usar varios puertos
Configurar el sitio web de apache para usar varios puertosjcgudi
 
Como hacer un servidor proftpd en ubuntu
Como hacer un servidor proftpd en ubuntuComo hacer un servidor proftpd en ubuntu
Como hacer un servidor proftpd en ubuntuDiego B M
 
Sistemas de control de versiones: SVN
Sistemas de control de versiones: SVNSistemas de control de versiones: SVN
Sistemas de control de versiones: SVNpablozacrosuarez
 
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdfJoomlacursonoviembre en pdf
Joomlacursonoviembre en pdfÁngel Puente
 
Práctica: distribución de midlets mediante OTA con J2ME - parte I
Práctica: distribución de midlets mediante OTA con J2ME - parte IPráctica: distribución de midlets mediante OTA con J2ME - parte I
Práctica: distribución de midlets mediante OTA con J2ME - parte IJorge Iván Meza Martínez
 
Servidor FTP con usuarios en LDAP
Servidor FTP con usuarios en LDAPServidor FTP con usuarios en LDAP
Servidor FTP con usuarios en LDAPCarlos Escribano
 
Soluciones a problemas frecuentes al trabajar con Joomla y Wampserver
Soluciones a problemas frecuentes al trabajar con Joomla y WampserverSoluciones a problemas frecuentes al trabajar con Joomla y Wampserver
Soluciones a problemas frecuentes al trabajar con Joomla y WampserverEdin Francisco Calles López
 
Presentación diana molina_wikisemanticaso
Presentación diana molina_wikisemanticasoPresentación diana molina_wikisemanticaso
Presentación diana molina_wikisemanticasoDiana Molina Sandoval
 
Manual easyphp
Manual easyphpManual easyphp
Manual easyphpzonajava
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Ángel Acaymo M. G.
 

Tendances (20)

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

Similaire à Autenticación y control de acceso Apache

Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
autenticacion apache con mysql
autenticacion apache con mysqlautenticacion apache con mysql
autenticacion apache con mysqlRoberto Almena
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Auth digest
Auth digestAuth digest
Auth digestjuanan10
 
5 servidor web
5 servidor web5 servidor web
5 servidor webangeles104
 
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPSAcceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPSTerrafx9
 
Red t3_practica_autenticacion_apache
Red t3_practica_autenticacion_apacheRed t3_practica_autenticacion_apache
Red t3_practica_autenticacion_apachegarciadebora
 
Manual de instalacion de un servidor proxy
Manual de instalacion de un servidor proxyManual de instalacion de un servidor proxy
Manual de instalacion de un servidor proxySALVADORCHANHERNANDEZ
 
Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)Sergio Santos
 
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...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...Fragatacante
 
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...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...Aldo_Jonathan
 

Similaire à Autenticación y control de acceso Apache (20)

Resumen squid
Resumen squidResumen squid
Resumen squid
 
Cherokee
CherokeeCherokee
Cherokee
 
RESUMEN PROXY
RESUMEN PROXYRESUMEN PROXY
RESUMEN PROXY
 
servidor proxy
servidor proxyservidor proxy
servidor proxy
 
Resumen Servidor Proxy
Resumen Servidor ProxyResumen Servidor Proxy
Resumen Servidor Proxy
 
Tema 7
Tema 7Tema 7
Tema 7
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
autenticacion apache con mysql
autenticacion apache con mysqlautenticacion apache con mysql
autenticacion apache con mysql
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
08practica monitorizacion
08practica monitorizacion08practica monitorizacion
08practica monitorizacion
 
Auth digest
Auth digestAuth digest
Auth digest
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
 
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPSAcceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
 
Red t3_practica_autenticacion_apache
Red t3_practica_autenticacion_apacheRed t3_practica_autenticacion_apache
Red t3_practica_autenticacion_apache
 
PROXY CENTOS 6.5
PROXY CENTOS 6.5PROXY CENTOS 6.5
PROXY CENTOS 6.5
 
Manual de instalacion de un servidor proxy
Manual de instalacion de un servidor proxyManual de instalacion de un servidor proxy
Manual de instalacion de un servidor proxy
 
Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)Servicio HTTP en Ubuntu (Apache)
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...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...
 
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...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...
 

Dernier

Libro de culpa mía por mercedes ron 2016 en pdf
Libro de culpa mía por mercedes ron 2016 en pdfLibro de culpa mía por mercedes ron 2016 en pdf
Libro de culpa mía por mercedes ron 2016 en pdfFridaCuesta
 
El Secreto de las Runas. Manual introductorio.
El Secreto de las Runas. Manual introductorio.El Secreto de las Runas. Manual introductorio.
El Secreto de las Runas. Manual introductorio.ssuser68a47e
 
la obra literaria EL AVARO DE moliere 2024
la obra literaria EL AVARO DE moliere 2024la obra literaria EL AVARO DE moliere 2024
la obra literaria EL AVARO DE moliere 2024Jose Aguilar
 
664867799-50-capsulas-de-amor-563064-downloadable-3662340.pdf
664867799-50-capsulas-de-amor-563064-downloadable-3662340.pdf664867799-50-capsulas-de-amor-563064-downloadable-3662340.pdf
664867799-50-capsulas-de-amor-563064-downloadable-3662340.pdfLoreto Bravo
 
DIAPOSITIVA INTERCESIÓN Y GUERRA ESPIRITUAL
DIAPOSITIVA INTERCESIÓN Y GUERRA ESPIRITUALDIAPOSITIVA INTERCESIÓN Y GUERRA ESPIRITUAL
DIAPOSITIVA INTERCESIÓN Y GUERRA ESPIRITUALgabitasalinas13
 
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docx
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docxLAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docx
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docxRafael Reverte Pérez
 
Libro de Culpa Mia de Mercedes Ron.pdf..
Libro de Culpa Mia de Mercedes Ron.pdf..Libro de Culpa Mia de Mercedes Ron.pdf..
Libro de Culpa Mia de Mercedes Ron.pdf..FridaCuesta
 
Cuadernillo para niños inicial 2 años con 15 páginas
Cuadernillo para niños inicial 2 años con 15 páginasCuadernillo para niños inicial 2 años con 15 páginas
Cuadernillo para niños inicial 2 años con 15 páginasNinettAB
 
GUIA DE NUTRICION Y ENTRENAMIENTO para principiantes
GUIA DE NUTRICION Y ENTRENAMIENTO para principiantesGUIA DE NUTRICION Y ENTRENAMIENTO para principiantes
GUIA DE NUTRICION Y ENTRENAMIENTO para principiantesDiegoGandara5
 
La Magia de Pensar en Grande -- David J_ Schwartz.pdf
La Magia de Pensar en Grande -- David J_ Schwartz.pdfLa Magia de Pensar en Grande -- David J_ Schwartz.pdf
La Magia de Pensar en Grande -- David J_ Schwartz.pdfvan graznarth
 
TALLER -SISTEMA CODIGOS DE LUZ - ACCTIVACION DE CODIGOS LEMURIANOS Y ATLANTES
TALLER -SISTEMA CODIGOS DE LUZ - ACCTIVACION DE CODIGOS LEMURIANOS Y ATLANTESTALLER -SISTEMA CODIGOS DE LUZ - ACCTIVACION DE CODIGOS LEMURIANOS Y ATLANTES
TALLER -SISTEMA CODIGOS DE LUZ - ACCTIVACION DE CODIGOS LEMURIANOS Y ATLANTESVernicaLocatelli1
 

Dernier (13)

Libro de culpa mía por mercedes ron 2016 en pdf
Libro de culpa mía por mercedes ron 2016 en pdfLibro de culpa mía por mercedes ron 2016 en pdf
Libro de culpa mía por mercedes ron 2016 en pdf
 
El Secreto de las Runas. Manual introductorio.
El Secreto de las Runas. Manual introductorio.El Secreto de las Runas. Manual introductorio.
El Secreto de las Runas. Manual introductorio.
 
la obra literaria EL AVARO DE moliere 2024
la obra literaria EL AVARO DE moliere 2024la obra literaria EL AVARO DE moliere 2024
la obra literaria EL AVARO DE moliere 2024
 
664867799-50-capsulas-de-amor-563064-downloadable-3662340.pdf
664867799-50-capsulas-de-amor-563064-downloadable-3662340.pdf664867799-50-capsulas-de-amor-563064-downloadable-3662340.pdf
664867799-50-capsulas-de-amor-563064-downloadable-3662340.pdf
 
PARA LEONARDO CIEZA - TEXTO RESUMEN.docx
PARA LEONARDO CIEZA - TEXTO RESUMEN.docxPARA LEONARDO CIEZA - TEXTO RESUMEN.docx
PARA LEONARDO CIEZA - TEXTO RESUMEN.docx
 
40 Articulos sobre el liderazgo.........
40 Articulos sobre el liderazgo.........40 Articulos sobre el liderazgo.........
40 Articulos sobre el liderazgo.........
 
DIAPOSITIVA INTERCESIÓN Y GUERRA ESPIRITUAL
DIAPOSITIVA INTERCESIÓN Y GUERRA ESPIRITUALDIAPOSITIVA INTERCESIÓN Y GUERRA ESPIRITUAL
DIAPOSITIVA INTERCESIÓN Y GUERRA ESPIRITUAL
 
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docx
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docxLAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docx
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docx
 
Libro de Culpa Mia de Mercedes Ron.pdf..
Libro de Culpa Mia de Mercedes Ron.pdf..Libro de Culpa Mia de Mercedes Ron.pdf..
Libro de Culpa Mia de Mercedes Ron.pdf..
 
Cuadernillo para niños inicial 2 años con 15 páginas
Cuadernillo para niños inicial 2 años con 15 páginasCuadernillo para niños inicial 2 años con 15 páginas
Cuadernillo para niños inicial 2 años con 15 páginas
 
GUIA DE NUTRICION Y ENTRENAMIENTO para principiantes
GUIA DE NUTRICION Y ENTRENAMIENTO para principiantesGUIA DE NUTRICION Y ENTRENAMIENTO para principiantes
GUIA DE NUTRICION Y ENTRENAMIENTO para principiantes
 
La Magia de Pensar en Grande -- David J_ Schwartz.pdf
La Magia de Pensar en Grande -- David J_ Schwartz.pdfLa Magia de Pensar en Grande -- David J_ Schwartz.pdf
La Magia de Pensar en Grande -- David J_ Schwartz.pdf
 
TALLER -SISTEMA CODIGOS DE LUZ - ACCTIVACION DE CODIGOS LEMURIANOS Y ATLANTES
TALLER -SISTEMA CODIGOS DE LUZ - ACCTIVACION DE CODIGOS LEMURIANOS Y ATLANTESTALLER -SISTEMA CODIGOS DE LUZ - ACCTIVACION DE CODIGOS LEMURIANOS Y ATLANTES
TALLER -SISTEMA CODIGOS DE LUZ - ACCTIVACION DE CODIGOS LEMURIANOS Y ATLANTES
 

Autenticación y control de acceso Apache

  • 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