15
Práctica 2 Apache Servicios de Red e Internet Francisco Javier Gavilán Escriche 2ºASIR

Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Embed Size (px)

Citation preview

Page 1: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache

Servicios de Red e Internet

Francisco Javier Gavilán Escriche 2ºASIR

Page 2: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

1 1

INDICE

Objetivos ........................................................................................................................................................ 2

Instalación y configuración de OpenLDAP .................................................................................................... 3

Configuración de carpetas privadas .............................................................................................................. 4

Acceso seguro ............................................................................................................................................... 6

Instalación Joomla ......................................................................................................................................... 9

Page 3: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

2 2

Objetivos

Añadir a la configuración de la práctica anterior las siguientes características:

El acceso a una determinada carpeta estará restringido a aquellos usuarios que se

autentiquen contra un servidor openldap.

Añadir un tercer CMS distinto a los dos anteriores que se accede como

https://seguro.vuestrodominio.es

Page 4: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

3 3

Instalación y configuración de OpenLDAP

Esta parte debido a que ya está realizada en otra práctica solamente me voy a limitar a dar

explicaciones teóricas de lo que hay que hacer para dejar bien configurado tanto como

OpenLDAP como la herramienta gráfica phpldapadmin.

Para instalar el servicio LDAP introducimos la siguiente orden en la consola de ubuntu para

descargar el siguiente paquete: “apt-get install slapd db4.8-util ldap-utils.”

Nos solicitará una contraseña para poder acceder a nuestra base de datos LDAP y después

tendremos que verificarla. Procedemos a reconfigurar el servicio con la siguiente orden: “dpkg-

reconfigure slapd”

Posiblemente al terminar el proceso nos diga que no se ha podido configurar porque el directorio

slap.d ya existe, simplemente nos limitamos a borrar dicho directorio con la siguiente orden: “rm

-R /etc/ldap/slapd.d” y una vez lo borremos pues volvemos a reconfigurar el servicio y ya nos

debe de dar por buena la configuración que le hayamos impuesto.

Instalamos también una herramienta gráfica llamada phpladpadmin que sirve para poder

administrar todo el servicio ldap desde interfaz gráfica.

Una vez hemos instalado phpldapadmin y nos hemos cerciorado de que funciona perfectamente

en el cliente, nos damos cuenta de que no nos sale nuestro dominio recientemente creado a la

hora de iniciar sesión.

Por lo que tendremos que modificar un archivo de configuración en la siguiente ruta:

“/usr/share/phpldapadmin/config/config.php”. Concretamente tendremos que modificar un par de

líneas en las cuales tendremos que cambiar los dc=example a dc= fjgavilan y los dc=com a

dc=es.

Ahora como vemos nuestro dominio se muestra correctamente en la interfaz gráfica de

phpldapadmin

Page 5: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

4 4

Configuración de carpetas privadas

Nos vamos a ir a la ruta /var/www y su interior vamos a crear una carpeta llamada “privada” y en

su interior vamos a crear un archivo index.html para poder verificar posteriormente que

funciona.

Una vez hecho esto vamos a habilitar el módulo de autentificación de apache con LDAP

mediante los dos comandos siguientes:

-a2enmod ldap

-a2enmod authnz_ldap

Cuando terminemos con la habilitación de los módulos tenemos que reiniciar apache para que

queden aplicados los cambios:

Después nos vamos a tener que ir a /etc/apache2/sites-available y crear un nuevo virtual host.

Dentro de directory están todas las directivas necesarias para que cuando intentemos acceder a

este sitio nos salga un cuadro para introducir usuario y contraseña de LDAP.

Page 6: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

5 5

Una vez concluido este paso procedo a crear una serie de grupos y usuarios con una plantilla de

ldif (poniéndole un password al usuario que voy a crear dentro del archivo de creación con la

directiva userPassword: , necesitamos crearlo con contraseña para hacer las pertinentes

comprobaciones más tarde).

Después procedo a poner el nombre en mi barra de direcciones de Firefox “privada.fjgavilan.es”

y nos aparece lo que muestro en la siguiente captura de pantalla (he incluido después el nombre

de mi usuario creado en ldap así como su contraseña:

En caso de que el usuario y contraseña sean correctos se procederá a introducirse en nuestra

carpeta segura y accederemos a pequeño index que he creado dentro de /var/www/privada:

En caso de que presionemos en cancelar cuando nos solicita el usuario y contraseña nos saldrá el

siguiente cuadro de texto

Page 7: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

6 6

Acceso seguro

Voy a proceder a la creación de un nuevo virtual host, esta vez para acceder mediante https, para

ello es necesario crear nuestro propio certificado autofirmado. Dicho certificado se hace de

manera local y no es válido cuando salgamos a internet. Lo hacemos con la siguiente orden:

Make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/apache2.pem (en la opción que sale

dejaremos localhost por defecto)

Ahora lo que hacemos es habilitar el módulo correspondiente de SSL de apache y reiniciamos el

servicio:

-sudo a2enmod ssl

-sudo /etc/init.d/apache2 restart

Ahora vamos a crear un nuevo virtual host en el cual cabe destacar que se hace mención al

certificado anteriormente creado, esta vez en vez de usar el puerto 80 usaremos el puerto 443 que

es el que se utiliza para conexiones seguras

Page 8: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

7 7

Una vez terminado este paso vamos a proceder a hacer un “sudo a2ensite joomla” para activar el

sitio y acto seguido reiniciamos apache (podemos comprobar la creación de dicho sitio en

/etc/apache2/sites-enabled/

Al acceder con https://seguro.fjgavilan.es nos saldrá una pantalla en la cual nos dirá que existen

una serie de riesgos.

Pulsamos en añadir excepción

Y de esta forma nos llevará a una zona en la cual nos dará la opción de obtener el certificado de

seguridad y para más tarde terminar confirmando la excepción de seguridad.

Page 9: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

8 8

Después de esto nos irá automáticamente al CMS que hayamos configurado para el certificado

seguro (en este caso joomla)

Page 10: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

9 9

Instalación Joomla

Procedemos a la descarga desde su página oficial.

Después descomprimimos el contenido en una carpeta que vamos a crear llamada Joomla y ésta

a su vez la copiamos a /var/www

También podemos descargar un paquete (opcional) para instalar dicho CMS en español

Ahora una vez estamos en la ruta /var/www/Joomla vamos a crear una serie de variables que,

aunque hay un método automático de permisos, ésta es la manera en que menos probabilidades

hay de errores o malos funcionamientos.

Vamos a poner “Places=’” (sin las comillas dobles) y después todas las variables que pongo a

continuación:

Una vez que veamos nuestro promt normal es necesario hacer los cambios de permisos

necesarios para las variables que acabamos de crear, para eso tecleamos:

for i in $PLACES; do

Se nos muestra de nuevo el “>” y tecleamos lo siguiente:

sudo chown -R www-data:www-data $i

Y luego tecleamos:

done

Page 11: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

10 10

y habremos terminado con los permisos de los directorios. Ahora toca el turno de los archivos lo

cual hacemos de la siguiente manera:

find . -type f -exec chmod 644 {} \;

sudo find . -type d -exec chmod 755 {} \;

*Nota: Recordar que todo esto lo estamos haciendo dentro de /var/www/Joomla

Accedemos al servidor de base de datos y creamos y creamos un usuario con su correspondiente

contraseña.

Ahora le activamos los privilegios necesarios y luego salimos del servidor:

FLUSH PRIVILEGES;

Por seguridad es importante que eliminemos el archivo historial de MySQL ya que ahí se ha

guardado nuestro usuario y contraseña:

rm -f ~/.mysql_history

Ahora vamos a proceder a la instalación de este CMS:

En nuestro navegador tecleamos lo siguiente: https://seguro.fjgavilan.es y deberíamos ver esta

pantalla en donde se nos pedirá el idioma, lo hacemos y damos click en “Siguiente:

Page 12: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

11 11

Si llegamos a ver algún error (cómo en este caso en el área de “configuracion.php Escribible” lo

solucionamos creando el directorio en cuestión y dándole los permisos necesarios:

Hecho esto damos click en “Volver a comprobar” y el error no se mostrará.

El siguiente paso es el que nos encontramos en casi todas las cosas que instalamos: Aceptar la

licencia.

Page 13: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

12 12

La configuración de la base de datos es muy sencilla, solo debemos especificar el nombre del

servidor, Nombre de usuario y contraseña y el nombre de la base de datos

Se procede a la configuración del nombre de nuestro sitio y del correo electrónico del

administrador, para lo demás usamos la opción “Instalar los datos de ejemplo predeterminados”

Page 14: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

13 13

Con esto hemos terminado la instalación de nuestro servidor Joomla, para seguir con la siguiente

ventana es necesario modificar los permisos del archivo configuration.php y y eliminar el

archivo installation:

rm -R /var/www/Joomla/installation

# chmod 644 /var/www/Joomla/configuration.php

Page 15: Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS

Práctica 2 Apache Francisco Javier Gavilán Escriche

14 14

Y listo, nos logueamos con nuestro usuario y contraseña y comenzamos a escribir contenido.