Formas de
autenticarse en un
sitio web Apache -
Ubuntu
Redes Trimestre 1 2º ASIR
Débora García García
Redes Trimestre 1 Débora García García
1
Índice
OBJETIVOS ...................................................................
Redes Trimestre 1 Débora García García
2
OBJETIVOS
Hemos visto en clase una manera de acceder a un sitio web de Apache, me...
Redes Trimestre 1 Débora García García
3
 http://www.howtoforge.com/apache_mod_auth_shadow_debian_ubuntu
Otras páginas in...
Redes Trimestre 1 Débora García García
4
El fichero “authgroups” debe contener un listado de usuarios que han sido creados...
Redes Trimestre 1 Débora García García
5
crearlo en el directorio de instalación Apache. Por motivos de seguridad haremos ...
Redes Trimestre 1 Débora García García
6
Usuario valido
Autenticación Digest
Haremos unos pasos similares a los anteriores...
Redes Trimestre 1 Débora García García
7
Tenemos que crear un espacio web nuevo:
Mkdir /var/www/digest
Dentro creamos un f...
Redes Trimestre 1 Débora García García
8
Upcoming SlideShare
Loading in...5
×

Red t3_practica_autenticacion_apache

408

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
408
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Red t3_practica_autenticacion_apache

  1. 1. Formas de autenticarse en un sitio web Apache - Ubuntu Redes Trimestre 1 2º ASIR Débora García García
  2. 2. Redes Trimestre 1 Débora García García 1 Índice OBJETIVOS ................................................................................................................................2 INTRODUCCIÓN: Métodos de autenticación en Apache.............................................................2 Autenticación Basic...................................................................................................................3 Apache2.conf........................................................................................................................3 Creación del archivo authgroups...........................................................................................4 Autenticación Digest.................................................................................................................6
  3. 3. Redes Trimestre 1 Débora García García 2 OBJETIVOS Hemos visto en clase una manera de acceder a un sitio web de Apache, mediante autenticación contra un servidor LDAP. Investiga otras maneras, pruébalas y haz un artículo en tu blog. INTRODUCCIÓN: Métodos de autenticación en Apache Una instalación por defecto del servidor Web Apache es que soporta dos tipos de autenticación básica:  Basic.  Digest (instalada pero no habilitada).  Otras (mediante módulos específicos).  Otras (adaptadas a interactuar con programas concretos como: MYSQL). Aquí podemos buscar los modulos “auth”: http://modules.apche.org/search.php Cada módulo de atenticación tiene su forma particular de ser activado y gestionado. Estas dos formas de autenticación nos sirven como base para hacernos una idea de cómo manejar el resto. Hay mucho tipos de autenticación que son front-ends (del lado del usuario) que trabajan con estas dos formas básicas de autenticación, por eso es importante hacer uso de SSL para hacerlas seguras, dado a que se envía información importante. En los ejemplos que veremos en este documento utilizaremos archivos:  .htaccess (con el mismo efecto se puede lograr con directivas <Directory> o <Location> ubicados en los archivos de configuración principales de Apache). Los ficheros de autenticación nunca deben estar en el “path” designado por “DocumentRoot”, ya que podrán descargarse por cualquier usuario y esté romper nuestro sistema de autenticación. Más información:  http://www.linuxsecurity.com/content/view/133913/171/  http://www.brennan.id.au/13-Apache_Web_Server.html#users (página que incluye autenticación en directorios personales public_html de usuarios)  http://httpd.apache.org/docs/2.0/howto/auth.html  http://blog.innerewut.de/2007/6/26/apache-2-2-authentication-with- mod_authnz_external  http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html
  4. 4. Redes Trimestre 1 Débora García García 3  http://www.howtoforge.com/apache_mod_auth_shadow_debian_ubuntu Otras páginas interesantes donde podemos encontrar más métodos de autenticación:  http://humanliks.wordpress.com/manual-de-instalalacion-y-configuracion-de-apache- autenticado-con-radiuslinux-debian-lenny/  http://gnburgos.blogspot.com/2009/11/configuracion-de-autenticacion-con.html  http://blog.unlugarenelmundo.es/2010/03/13/autenticacion-en-apache-basica-y- pam/ Para terminar, podemos considerar que otra de las opciones que primero se puede considerar es intentar autenticar usuarios a partir del fichero de claves del S.O “/etc/shadow”. Esto se puede conseguir por medio del módulo “mod_shadow”: http://httpd.apache.org/docs/1.3/misc/FAQ.html#passwdauth O La autenticación como hemos nombrado en otro manual con LDAP: http://www.sahw.com/wp/archivos/2009/06/08/autenticacion-en-apache-mediante- mod_authnz_ldap-soporte-openldap/ En el siguiente enlace podemos encontrar guías y procedimientos sobre cómo gestionar distintos tipos de autenticación: http://www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html Autenticación Basic Vamos a implementar en el directorio “/var/www/básica” de una web una autenticación básica para personas que pertenecen a un grupo concreto. Apache2.conf
  5. 5. Redes Trimestre 1 Débora García García 4 El fichero “authgroups” debe contener un listado de usuarios que han sido creados expresamente para esta clase de autenticación, distribuidos en una serie de grupos que también aparecen en el mismo. Esto permite crear varias áreas de acceso en diversas partes de la web, donde un mismo grupo puede tener diferentes privilegios o bien sólo algunos pueden acceder a los contenidos. Cuando se comprueba las credenciales de un usuario que accede, ha de comprobarse a que grupo pertenece para ver si está autorizado o no. La directiva “Require group private” hace que sólo los usuarios de este grupo tengan acceso a ese directorio web. No te olvides que has de crear el directorio en “/var/www/”: Mkdir básica Los permisos también es importante ponerlo para poder acceder a la carpeta o no: Esta carpeta sólo contiene un “index.html” Creación del archivo authgroups Empezaremos por crear este archivo en la carpeta “/etc/apache2/authgroups”. El contenido será  nombregrupo: usuario1 usuario2 …. De igual forma el archivo “authusers” contiene una lista de usuarios y una hash de su password, comprobado cada vez que se requiera autorización. La directiva “Required valid-user” se usa cuando no existen grupos de usuarios con accesos diferenciados, por eso cuando entran en la web es necesario conocer las credenciales de los usuarios de este fichero. El usuario sobre el que Apache se ejecuta por defecto es www-data. Esto influye a la hora de acceder a ciertos archivos con usuarios y claves, como el que estamos usando, ya que este usuario podría no tener privilegios. Para que funcione lo podemos poner en una localización independiente del resto de las webs, dándole unos permisos adecuados. Otra opción es
  6. 6. Redes Trimestre 1 Débora García García 5 crearlo en el directorio de instalación Apache. Por motivos de seguridad haremos la primera opción. Para terminar debemos de construir las password de los usuarios que creamos anteriormente en el fichero de los grupos: Las claves generadas: Agregamos la url al archivo hosts: Reiniciamos apache para guardar los cambios: /etc/init.d/apache2 restart Nos dirigimos al navegador para probar que nos ha salido bien la autenticación: Usuario no válido
  7. 7. Redes Trimestre 1 Débora García García 6 Usuario valido Autenticación Digest Haremos unos pasos similares a los anteriores. Hay que habilitar este tipo de autenticación : A2enmod auth_digest Reiniciamos apache: /etc/init.d/apache2 restart
  8. 8. Redes Trimestre 1 Débora García García 7 Tenemos que crear un espacio web nuevo: Mkdir /var/www/digest Dentro creamos un fichero “.htaccess” con el siguiente contenido: Creamos un “index.html”. El parametro AuthName o realm es una descripción del equipo al que se quiere acceder mediante esta clase de autenticación. Esta información se usa para calcular las hash de las claves enviadas y que será mostrada al usuario cuando se conecte al servidor. Más información:http://en.wikipedia.org/wiki/Digest_access_authentication Ahora tendremos que crear un fichero en “/etc/apache2/.htdigestusers” : Contraseña generada, debe ir en la ruta “/etc/apache2/”: Añadir al archivo host la url: Comprobamos por el navegador si todo sale correctamente:
  9. 9. Redes Trimestre 1 Débora García García 8

×