servicios de red e internet: servidor http/s · las transferencias de información en la world wide...

21
Servicios de red e Internet: Servidor HTTP/S Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

Upload: others

Post on 07-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Servicios de red e Internet:

Servidor HTTP/S

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

Page 2: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 2

Índice

1.HTTP:Linux(Ubuntu server) ........................................................................................................ 3

1.1.Prepearación del sistema .................................................................................................... 3

1.1.1.Añadir nueva interfaz de red........................................................................................ 3

1.1.2.Actualización de la máquina ........................................................................................ 5

1.1.3.Instalación de las guest additions ................................................................................ 5

1.2.Instalación de apache2 ........................................................................................................ 6

1.3.Configuración de apache ..................................................................................................... 6

1.3.1.Página por defecto ....................................................................................................... 6

1.3.2.Modificar página por defecto ....................................................................................... 9

1.3.3.HTTPS:certificado propio. .......................................................................................... 11

1.3.4.HTTPS: certificado del sistema ................................................................................... 13

1.3.5.Configuración de hosts virtuales ................................................................................ 15

1.3.6.Host virtuales con HTTPS. .......................................................................................... 18

1.3.7.Autentificación ........................................................................................................... 19

1.3.8.Configuración para un puerto específico ................................................................... 20

2.Conclusión ............................................................................................................................ 21

Page 3: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 3

En este manual se explicarán los pasos a seguir para la instalación y configuración de un

servidor HTTP y HTTPS.

El Protocolo de transferencia de hipertexto es el protocolo de comunicación que permite

las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica

que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para

comunicarse. Usa por defecto el puerto 80

Fuente: .https://es.wikipedia.org/wiki/Protocolo_de_transferencia_de_hipertexto

El protocolo HTTPS es similar al HTTP, sin embargo este utiliza un cifrado basado en SSL/TLS

para crear un canal cifrado entre el cliente y el servidor por lo que lo hace más seguro frente a

ataques man-in-the-middle o eavesdropping. Este protocolo es muy útil cuando se maneja

información sensible como pueden ser usuarios y contraseñas.

Fuente: https://es.wikipedia.org/wiki/Protocolo_seguro_de_transferencia_de_hipertexto

1.HTTP:Linux(Ubuntu server) Para la instalación del servidor HTTP de Linux se usará: Ubuntu server 16.04.3 .

1.1.Prepearación del sistema Antes de continuar con la instalación es importante tener instaladas las guest adittions

de virtual box junto con la última versión del sistema para evitar futuros errores.

1.1.1.Añadir nueva interfaz de red Para facilitarnos el trabajo añadiremos una segunda interfaz de red, así podremos

descargar las actualizaciones y tener en red el servicio de forma sencilla.

Page 4: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 4

Si al ejecutar el comando Ifconfig no encontramos al nueva interfaz jactamos Ifconfig –a y

localizamos la interfaz:

Ahora editamos el fichero de configuración de las interfaces:

Levantamos la interfaz:

Page 5: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 5

Filtramos la red para comprobar la configuración:

Reiniciamos la red:

Y aplicamos ifdown e ifup a la nueva tarjeta de red(enp0s8).

1.1.2.Actualización de la máquina En el caso de no tener actualizada la máquina deberemos hacerlo antes de empezar con la instalación. Para ello el adaptador de red tiene que estar en nat. Comandos para actualizar la máquina(Con permisos root): - apt-get update. -apt-get upgrade. - apt-get install build-essential. Al acabar hay que reiniciar el sistema (comando “reboot”).

1.1.3.Instalación de las guest additions Es necesario instalar las guest adittions de virtual box en el sistema:

-Insertar el CD en la máquina:

-Acceder al disco: Si no aparece al ejecutar el comando ls /media el cdrom, tendremos que montarlo en

/media/cdrom(preferiblemente para saber cuál es) con el comando mount(la carpeta

cdrom tiene que existir, la creamos con mkdir cdrom:

mount /dev/cdrom /media/cdrom (en modo root)

Page 6: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 6

En este caso ya teníamos montado el cd en cdrom, pero lo montamos en cdrom_prueba:

Una vez montado ejecutamos(./) VBoxLinuxAdditions.run para instalar las guest adittions.

1.2.Instalación de apache2 Habiendo preparado el sistema, ya se puede iniciar la instalación, apache2 nos permitirá crear

nuestro servidor HTTP.

Ejecutamos el comando apt-get install apache2 (modo root):

1.3.Configuración de apache Al igual que los anteriores servidores tendremos que modificar archivos de configuración ,en

este caso de apache2, para que se realicen las distintas configuraciones que queramos.

1.3.1.Página por defecto Si nos conectamos mediante localhost o la ip del servidor visualizaremos la página por defecto

que este trae:

Si queremos modificarla está página(index.html) se encuentra en la siguiente ruta:

Page 7: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 7

El comando localhost solo funciona dentro de la misma máquina del servidor o si lo incluimos

en el fichero /etc/hosts del sistema anfitrión, descargamos w3m(apt install w3m) para

probarlo ene l servidor:

Page 8: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 8

En el anfitrión:

Ahora probamos con la dirección ip.

En el servidor:

Anfitrión:

Page 9: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 9

1.3.2.Modificar página por defecto Modificaremos al página por defecto de apache(la del punto anterior). Para ello hacemos una

copia de la original(/var/www/html/index.html a /var/www/html/indexcopia.html), por si la

volvemos a necesitar, eliminamos la original (index.html) y creamos una nueva página

(index.html).

´pro

Localhost (Ubuntu desktop):

Localhost servidor(w3m):

Page 10: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 10

Modificamos el fichero localhost (C:\WINDOWS\system32\drivers\etc\hosts)de Windows 7

para probarlo en este sistema también, ejecutamos al consola como adrministrador:

Le cambiamos el nombre al original ,lo modificamos añadiendo la dirección del servidor y lo

guardamos como hosts:

Dirección ip(Ubuntu desktop):

Dirección ip (Windows 7):

Page 11: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 11

1.3.3.HTTPS:certificado propio. Crearemos nuestro propio certificado SSL para HTTPS. Para ello necesitamos habilitar el ssl que

ya viene instalado en el apche2(a2enmod ssl):

Reiniciamos el servicio de apache:

Si lo hacemos con apache2ctl, en caso de haber un error de sintaxis en algún fichero de

configuración nos dirá cual facilitándonos la solución el problema.

Ahora deberemos elegir la ubicación de nuestro certificado( si es necesario crear la ubicación

del mismo). En este caso crearemos una carpeta para ello:

Creamos el certificado SSL y lo guardamos en el directorio que hemos creado( en este caso):

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout

/etc/apache2/ssl/certificadogianfranco/gianfranco.key -out

/etc/apache2/ssl/certificadogianfranco/gianfranco.ctr

Ahora tenemos que modificar el fichero de configuración para conexiones seguras(HTTPS) para

enrutar el certificado:

Page 12: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 12

Lo configuramos:

Lo activamos(sudo a2ensite default-ssl.conf) y reiniciamos el servicio (apache2ctl restart).

Comprobamos:

Page 13: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 13

1.3.4.HTTPS: certificado del sistema El procesos es parecido al anterior pero sin crear el certificado por lo tanto teniendo la

confirmación previa(activación de uso de SSL, configuración de https) solo tendremos que

cambiar al ruta del certificado. Para ello tendremos que encontrar los certificados del sistema

necesarios:

Ahora los enrutamos:

Reiniciamos el servicio (apachectl restart).

Page 14: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 14

Comprobamos:

Page 15: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 15

1.3.5.Configuración de hosts virtuales Mediante los host virtuales se puede acceder a más de un sitio web de un servidor

HTTP/S bajo la misma dirección ip.

Primero que nada crearemos los directorios en los que queremos alojar las distintas páginas que

vayamos que queramos que estén disponibles(hosts virtuales). En este caso serán gian1.com y

gian2.com.

En /var/www/html aquí crearemos los directorios de nuestras páginas:

Otorgamos permisos:

Creamos la 1 página en cada carpeta que será la página del host virtual(o creamos una y luego

la copiamos en el otro modificándolo para que sea para el segundo):

Page 16: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 16

Copiamos el archivo de configuración de la página por defecto de apache (/etc/apache2/sites-

avaible/000-default.conf), podemos hacer tantas copias como páginas hayamos hecho(en este

caso 2) o configurar 1 y luego copiarlo(haremos esto).

Editamos:

Lo copiamos y editamos para que sea para el otro hostvirtual:

Habilitamos los archivos(enbled):

Reiniciamos el servicio (apachectl restart).

Page 17: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 17

Para que esto sea efectivo tendremos que modificar el archivo hosts.

Ubuntu desktop:

Comprobamos:

Windows 7:

Page 18: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 18

1.3.6.Host virtuales con HTTPS. Es exactamente igual que los host virtuales normales pero con https, en vez de tener que copiar

el archivo de configuración 000-default.conf para cada página deberemos copiar el del

certificado SSL, default-ssl.conf.

Creamos una carpeta para el host virtual con una página suya (igual que antes). Lo que difiere

es el archivo de configuración:

Lo habilitamos con el a2ensite y reiniciamos el servicio.

Page 19: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 19

Modificamos el archivo de los host para que tenga efecto.

Windows 7:

En Linux es exactamente igual(modificar /etc/hosts).

1.3.7.Autentificación Para la autentificación lo que necesitamos es : un archivo en el que se haga referencia a los

usuarios y contraseñas , y por otro lado tendremos modificar el archivo de configuración para

habilitarlo:

Ahora modificamos el archivo de configuración añadiendo la página al que queremos aplicar:

Page 20: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 20

Reiniciamos el servicio (apachectl restart)y comprobamos:

1.3.8.Configuración para un puerto específico Podemos configurar el puerto en el que queremos que funcione una página, es otra forma

distinta de tener varias páginas mediante una misma ip de servidor web pero sin hosts

virtuales.

Page 21: Servicios de red e Internet: Servidor HTTP/S · las transferencias de información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los elementos de software

Gianfranco Álvarez Valencia 2ºASIR 08/11/2017

pág. 21

2.Conclusión Apache es un herramienta muy útil a la hora de almacenar y distribuir páginas web .

Es una herramienta que permite disponer de varias páginas web bajo una misma dirección ip:

mediante los host virtuales, o la diferenciación mediante número de puerto. Por algo es de los

servidor web más usados del mundo