View
215
Download
0
Category
Preview:
Citation preview
Curso: Sistemas Operativos II Plataforma: Linux
HTTP y HTTPS
La transferencia de hipertexto entre ordenadores basado en la arquitectura cliente/servidor
se realiza por medio de estos conceptos, al configurar estos servidores nos sirven para dar
seguridad a los clientes que ingresen a un sitio Web propio a través de firma digital o una entidad
certificadora, con el fin de darles confianza.
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
INDICE
TEMA
Introducción ……………………………………………………………………
Objetivos ……………………
Marco Teórico ……………………………………………………………………
Configuración …………………………………………………………………...
Conclusiones ……………………………………………………………………
Bibliografía ……………………………………………………………………
Recomendaciones ………………………………………………………….
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
No. PAGINA
…………………………………………………………………… 3
…………………………………………………………………… 4
…………………………………………………………………… 5
…………………………………………………………………... 6
…………………………………………………………………… 14
…………………………………………………………………… 15
…………………………………………………………. 16
2
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
INTRODUCCIO
Las transacciones que se realizan a diario en la red de internet son sumamente
abundantes, toda la información que se maneja en un esquema de cliente/servidor se realiza
mediante repticiones y respuestas a los distintos servidores, por ende l
dar a un cliente dentro de un sitio es muy import
a la hora de realizar actividades de transacción.
nos brinda la funcionalidad de un servid
ejecutadas bajo http no son seguras, por ello
con certificados digitales que permite ofrecer conexiones al
segura.
El concepto de Mod_ssl se basa en que es
sockets layer” (ssl) y “transport layer security” (tls) entre un servidor d
browsers), este hace uso de certificados digitales y firmas en donde si s
digital local debe ser aceptado con los clientes de Web (Web browsers) sin mostrar el mensaje a
los usuarios, independientemente
certificado digitalmente firmado implica con
quien tu dices ser.
El presente material investigativo
la forma en que se debe configurar estos
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
INTRODUCCION
Las transacciones que se realizan a diario en la red de internet son sumamente
abundantes, toda la información que se maneja en un esquema de cliente/servidor se realiza
mediante repticiones y respuestas a los distintos servidores, por ende la seguridad que se le pueda
dar a un cliente dentro de un sitio es muy importante, este factor es decisivo para muchos clientes
a la hora de realizar actividades de transacción. El solo hecho de instalar y configurar Apache ya
nos brinda la funcionalidad de un servidor http, ahora bien se dice que las transacciones
ejecutadas bajo http no son seguras, por ello juntos Apache y mod_ssl da un sistema de seguridad
n certificados digitales que permite ofrecer conexiones al servidor de web en forma codificada y
l concepto de Mod_ssl se basa en que es un modulo de Apache que da soporte al “secure
sockets layer” (ssl) y “transport layer security” (tls) entre un servidor de Web y clientes (Web
browsers), este hace uso de certificados digitales y firmas en donde si se genera
ser aceptado con los clientes de Web (Web browsers) sin mostrar el mensaje a
, independientemente si deberían confiar en tu certificado o no ahora bien e
certificado digitalmente firmado implica confianza a los clientes que conecta a tu sitio que tu eres
El presente material investigativo muestra paso a paso y en detalle de una manera simple
a en que se debe configurar estos servidores sobre una plataforma Linux.
3
Las transacciones que se realizan a diario en la red de internet son sumamente
abundantes, toda la información que se maneja en un esquema de cliente/servidor se realiza
que se le pueda
para muchos clientes
El solo hecho de instalar y configurar Apache ya
or http, ahora bien se dice que las transacciones
untos Apache y mod_ssl da un sistema de seguridad
servidor de web en forma codificada y
un modulo de Apache que da soporte al “secure
e Web y clientes (Web
e genera un certificado
ser aceptado con los clientes de Web (Web browsers) sin mostrar el mensaje a
confiar en tu certificado o no ahora bien el
fianza a los clientes que conecta a tu sitio que tu eres
muestra paso a paso y en detalle de una manera simple
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
OBJETIVOS
General:
• Configurar e instalar eficientemente los servidores de HTTP y HTTPS.
Específicos:
• Conocer e implementar la forma de configurar el servidor en la distribución kubuntu.
• Aprender a utilizar el servidor y sus servicios.
• Dar funcionalidad al servidor y hacer uso de el.
• Generar un certificado digital.
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
Configurar e instalar eficientemente los servidores de HTTP y HTTPS.
la forma de configurar el servidor en la distribución kubuntu.
Aprender a utilizar el servidor y sus servicios.
servidor y hacer uso de el.
Generar un certificado digital.
4
la forma de configurar el servidor en la distribución kubuntu.
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
Http y Https:
Historia y Definición:
El servidor HTTP Apache
GNU/Linux), Windows, Macintosh y otras
Apache es el Servidor Web mas comunmente utilizado en sistemas GNU/Linux. Los
Servidores Web son usados para servir Páginas Web solicitadas por ordenadores clientes. Los
clientes típicamente solicitan ver Páginas Web usando un Navegador como
Mozilla.
El protocolo más comunmente utilizado para ver páginas Web es el Hyper Text Transfer
Protocol (HTTP). Protocolos como el Hyper Text Transfer Protocol sobre Secure Sockets Layer
(HTTPS), y File Transfer Protocol (FTP), un protocolo para
soportados.
Los servidores web Apache a menudo se usan en combinación con el motor de bases de
datos MySQL, el lenguaje de scripting
Perl. Esta configuración se denomina LAMP (Linux, Apache, MySQL y Perl/Python/PHP) y conforma
una potente y robusta plataforma para el desarrollo y distribución de aplicaciones basadas en la
web.
Archivos de Configuració
httpd.conf
/etc/apache2/sites
/etc/apache2/ports.conf
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
:
TP Apache es un servidor de código abierto para plataformas Unix (BSD,
), Windows, Macintosh y otras.
Apache es el Servidor Web mas comunmente utilizado en sistemas GNU/Linux. Los
Servidores Web son usados para servir Páginas Web solicitadas por ordenadores clientes. Los
clientes típicamente solicitan ver Páginas Web usando un Navegador como Firefox, Opera
El protocolo más comunmente utilizado para ver páginas Web es el Hyper Text Transfer
Protocol (HTTP). Protocolos como el Hyper Text Transfer Protocol sobre Secure Sockets Layer
(HTTPS), y File Transfer Protocol (FTP), un protocolo para subir y descargar archivos, también son
Los servidores web Apache a menudo se usan en combinación con el motor de bases de
, el lenguaje de scripting PHP, y otros lenguajes de scripting populares como
n se denomina LAMP (Linux, Apache, MySQL y Perl/Python/PHP) y conforma
una potente y robusta plataforma para el desarrollo y distribución de aplicaciones basadas en la
ón:
archivo de configuración del servidor HTTP
/etc/apache2/sites-available/default
/etc/apache2/ports.conf
5
formas Unix (BSD,
Apache es el Servidor Web mas comunmente utilizado en sistemas GNU/Linux. Los
Servidores Web son usados para servir Páginas Web solicitadas por ordenadores clientes. Los
Opera, o
El protocolo más comunmente utilizado para ver páginas Web es el Hyper Text Transfer
Protocol (HTTP). Protocolos como el Hyper Text Transfer Protocol sobre Secure Sockets Layer
subir y descargar archivos, también son
Los servidores web Apache a menudo se usan en combinación con el motor de bases de
, y otros lenguajes de scripting populares como Python y
n se denomina LAMP (Linux, Apache, MySQL y Perl/Python/PHP) y conforma
una potente y robusta plataforma para el desarrollo y distribución de aplicaciones basadas en la
[ 1 ]
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
CONFIGURACION
Instalación A continuación instalarem
distribución kubuntu de los sistemas
Para instalar apache 2 tecleamos desde consola
#SUDO APT
Al finalizar el proceso anterior se
dependencias.
Para comprobar si nos levanto el servicio, abrimos un explorador
que se tenga disponible) y tecleamos en el área de
Si la instalación se realizo de manera correcta se
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
CONFIGURACION HTTP
remos un servidor http el cual será apache2 esto lo haremos en el
de los sistemas linux.
Para instalar apache 2 tecleamos desde consola el siguiente comando:
SUDO APT-GET INSTALL APACHE2
Al finalizar el proceso anterior se nos instalara el servidor http apache2 con todas sus
ara comprobar si nos levanto el servicio, abrimos un explorador ( firefox, konqueror o el
tenga disponible) y tecleamos en el área de dirección URL lo siguiente:
HTTP://LOCALHOST/
Si la instalación se realizo de manera correcta se nos aparece algo como lo siguiente
6
apache2 esto lo haremos en el la
s instalara el servidor http apache2 con todas sus
firefox, konqueror o el
nos aparece algo como lo siguiente
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
configuración Apache2 posee un comando llamado
terminación de Apache el cual hace uso de lo
APACHE2CTL START : I APACHE2CTL STOP : T APACHE2CTL RESTART
Al momento de ejecutar cualquier variación de
de configuración de Apache, httpd.conf
Después de la instalación inicial el archivo
de ejecución, sin embargo, en ocasiones es necesario modificar ciertos parámetros,
inclusive las demás secciones de
Agregar una Pagina web Si queremos agregarle una nueva pagina a nuestro servidor http, incluimos la pagina
index con todos los archivos y directorios que utilice al director
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
Apache2 posee un comando llamado apache2ctl, el cual facilita el arranque y
Apache el cual hace uso de los siguientes comandos:
INICIA EL SERVIDOR DE PÁGINAS TERMINA EL SERVIDOR APACHE
CTL RESTART : RE-INICIALIZA EL PROCESO APACHE
Al momento de ejecutar cualquier variación de apachectl, se lee el archivo princip
httpd.conf ubicado en /etc/apache2/httpd.conf
Después de la instalación inicial el archivo httpd.conf contiene valores
embargo, en ocasiones es necesario modificar ciertos parámetros,
as demás secciones de esta guía se basan en cambios significantes a este archivo.
le una nueva pagina a nuestro servidor http, incluimos la pagina
todos los archivos y directorios que utilice al directorio /var/www/
7
, el cual facilita el arranque y
, se lee el archivo principal
contiene valores razonables
embargo, en ocasiones es necesario modificar ciertos parámetros,
a se basan en cambios significantes a este archivo.
le una nueva pagina a nuestro servidor http, incluimos la pagina
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
CONFIGURACION HTTPS
Lo primero que realizamos es habilitar el modulo
característica al servidor Apache2, este modulo se encuentra disponible en el siguiente paquete
apache2-common, para ello ejecutamos e
Luego lo que realizamos fue generar una solicitud de firma de certificado, para ello debemos
generar nuestra propia clave, para ello ejecutamos el siguiente comando:
OPENSSL GENRSA
con lo que obtenemos la siguiente salida:
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
CONFIGURACION HTTPS
Lo primero que realizamos es habilitar el modulo mod_ssl el cual añade una importante
característica al servidor Apache2, este modulo se encuentra disponible en el siguiente paquete
, para ello ejecutamos el siguiente comando:
SUDO A2ENMOD SSL
lo que realizamos fue generar una solicitud de firma de certificado, para ello debemos
generar nuestra propia clave, para ello ejecutamos el siguiente comando:
OPENSSL GENRSA -DES3 -OUT SERVER.KEY 1024
la siguiente salida:
8
el cual añade una importante
característica al servidor Apache2, este modulo se encuentra disponible en el siguiente paquete
lo que realizamos fue generar una solicitud de firma de certificado, para ello debemos
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
Ahora introducimos nuestra contraseña, esta por motivos de seguridad debe tener al
menos 8 caracteres, pero el mínimo permitido es de 4 caracteres y debe incluir caracteres y
símbolos especiales por motivos
escribiéndola nuevamente, al llenar los prerrequisitos correspondientes nuestra clave del servidor
se generará y se almacenará en el siguiente archivo
La contraseña aplicada es
Si por el contrario no queremos aplicar una llave segura, aplicamos el siguiente comando:
OPENSSL RSA
de haber seleccionado este c
archivo server.key.insecure.
Cuando le damos el openssl req server, luego nos pide que ingresemos el nombre de la región utilizando el código de 2 letras, en
este caso es GT (Guatemala), luego me pide
Luego se nos pide el nombre de la ciudad e ingresamos
compañía u organización, ingresamos
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
Ahora introducimos nuestra contraseña, esta por motivos de seguridad debe tener al
menos 8 caracteres, pero el mínimo permitido es de 4 caracteres y debe incluir caracteres y
de seguridad, luego debemos confirmar nuestra contraseña
escribiéndola nuevamente, al llenar los prerrequisitos correspondientes nuestra clave del servidor
se generará y se almacenará en el siguiente archivo server.key.
La contraseña aplicada es @dministr@dor
Si por el contrario no queremos aplicar una llave segura, aplicamos el siguiente comando:
OPENSSL RSA -IN SERVER.KEY -OUT SERVER.KEY.INSECURE
de haber seleccionado este comando la clave insegura se almacenara bajo la siguiente
openssl req -new -key server.key -out server.csr ingresamos una frase para el
server, luego nos pide que ingresemos el nombre de la región utilizando el código de 2 letras, en
, luego me pide el nombre del estado, para este caso es
Luego se nos pide el nombre de la ciudad e ingresamos CIUDAD, luego nos pide el nombre de la
compañía u organización, ingresamos Grupo 11, luego se nos pide un nombre y correo asociado.
9
Ahora introducimos nuestra contraseña, esta por motivos de seguridad debe tener al
menos 8 caracteres, pero el mínimo permitido es de 4 caracteres y debe incluir caracteres y
de seguridad, luego debemos confirmar nuestra contraseña
escribiéndola nuevamente, al llenar los prerrequisitos correspondientes nuestra clave del servidor
Si por el contrario no queremos aplicar una llave segura, aplicamos el siguiente comando:
omando la clave insegura se almacenara bajo la siguiente
na frase para el
server, luego nos pide que ingresemos el nombre de la región utilizando el código de 2 letras, en
el nombre del estado, para este caso es Guatemala, , luego nos pide el nombre de la
, luego se nos pide un nombre y correo asociado.
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
10
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
Luego ingresamos los atributos adicionales que se escribirán en la petición del certificado e
ingresamos @administr@dor.
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
go ingresamos los atributos adicionales que se escribirán en la petición del certificado e
11
go ingresamos los atributos adicionales que se escribirán en la petición del certificado e
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
ahora debemos generar un certificado autofirmado ejecutando el siguiente comando
OPENSSL X509 –REQ –DAYS
ahora debemos modificar el siguiente archivo
siguientes líneas, al final del archivo.
<VirtualHost *:443>
DocumentRoot /var/www
SSLEngine on
SSLOptions +FakeBasicAuth +ExportCe
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
ahora debemos generar un certificado autofirmado ejecutando el siguiente comando
DAYS 365 –IN SERVER.CSR –SIGNKEY SERVER.KEY –OUT SERVER
ahora debemos modificar el siguiente archivo /etc/apache2/sites-available/default
siguientes líneas, al final del archivo.
<VirtualHost *:443>
DocumentRoot /var/www
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
12
ahora debemos generar un certificado autofirmado ejecutando el siguiente comando
SERVER.CRT
available/default agregando las
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
Ahora debemos modificar el siguiente archivo
escribir las siguientes líneas que harán que el https escuche en el puerto 443.
Luego de que hemos instalado el certificado, debemos reiniciar nuestro servidor web bajo el
siguiente comando:
SUDO
y con ello se da por concluido la c
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
hora debemos modificar el siguiente archivo /etc/apache2/ports.conf, lo que debemos hacer es
ientes líneas que harán que el https escuche en el puerto 443.
LISTEN 443
Luego de que hemos instalado el certificado, debemos reiniciar nuestro servidor web bajo el
SUDO /ETC/INIT.D/APACHE2 RESTART
y con ello se da por concluido la configuración del servidor https.
13
lo que debemos hacer es
Luego de que hemos instalado el certificado, debemos reiniciar nuestro servidor web bajo el
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
CONCLUSIONES
En base a lo anteriormente expuesto se concluye lo siguiente:
• Que para poder activar o desactivar el servidor http solamente es necesario escribi
servidor e indicar la acció
iniciarlo respectivamente.
• Que para generar una firma digital es necesario que se arranque el servidor de apache
para generar los archivos de certificado digital que se generan a través del comando
openssl.
• Para dar utilidad al servicio
lo cual antes de ingresar nos preguntara si aceptamos el certificado
anteriores se describieron
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
CONCLUSIONES
En base a lo anteriormente expuesto se concluye lo siguiente:
ara poder activar o desactivar el servidor http solamente es necesario escribi
ón a realizar como: stop o start, que son para detener el servicio o
iniciarlo respectivamente.
ara generar una firma digital es necesario que se arranque el servidor de apache
para generar los archivos de certificado digital que se generan a través del comando
r utilidad al servicio https debemos ingresar a una página del servidor de archivos,
lo cual antes de ingresar nos preguntara si aceptamos el certificado que en los pasos
anteriores se describieron.
14
ara poder activar o desactivar el servidor http solamente es necesario escribir el
art, que son para detener el servicio o
ara generar una firma digital es necesario que se arranque el servidor de apache
para generar los archivos de certificado digital que se generan a través del comando
gina del servidor de archivos,
que en los pasos
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
TUTORIAL DESARROLLADO POR
Carlos Enrique Rodas Gá
Miguel Enrique Guerra Connor
Vinicio Rodolfo Miranda Orozco
BIBLIOGRAFIA
La sección conceptual de este documento fue investigada bajo las siguientes fuentes
bibliográficas.
Motor de Búsqueda:
www.google.com.gt
Sitios Virtuales Consultados:
[1] http://es.wikipedia.org/wiki/Servidor_HTTP_Apache
[2] https://help.ubuntu.com/ubuntu/serverguide/es/httpd.html
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
TUTORIAL DESARROLLADO POR
Carlos Enrique Rodas Gálvez 2002-12383
Miguel Enrique Guerra Connor 2002-17739
Vinicio Rodolfo Miranda Orozco 2002-12355
BIBLIOGRAFIA
La sección conceptual de este documento fue investigada bajo las siguientes fuentes
http://es.wikipedia.org/wiki/Servidor_HTTP_Apache
https://help.ubuntu.com/ubuntu/serverguide/es/httpd.html
15
La sección conceptual de este documento fue investigada bajo las siguientes fuentes
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
RECOMENDACIONES
En base a la experiencia que se deriva del equipo de implementación se plantean unas
recomendaciones básicas que deben ser tomadas en cuenta para ten
e implementación.
• Navegar en una f
encriptados.
• Hacer copia de se
Apache.
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas
RECOMENDACIONES
En base a la experiencia que se deriva del equipo de implementación se plantean unas
recomendaciones básicas que deben ser tomadas en cuenta para tener una óptima
forma https, porque es una forma segura y los datos
eguridad de los archivos que se vayan a modificar d
16
En base a la experiencia que se deriva del equipo de implementación se plantean unas
configuración
s viajan
del servidor
Recommended