1. Universidad Tecnológica de Panamá
Facultad de Ingeniería de Sistemas Computacionales
Licenciatura en Redes Informáticas
Seguridad y Privacidad en Redes I
Estudiantes:
Edson Ortega
Fecha: jueves 28 de agosto de 2014
III año
2. Contenido
INTRODUCCIÓN............................................................................................................... 3
Implementación:............................................................................................................................. 3
Prerrequisitos para la implementación:.......................................................................................... 3
Metodología:................................................................................................................................... 3
Instalación de Apache, Mysql, PHP. (LAMP) ..................................................................... 4
Configuración de base de datos:..................................................................................................... 5
Pre-Requisitos de phpMyAdmin .................................................................................................... 5
Instalar phpMyAdmin...................................................................................................................... 8
Página WEB .................................................................................................................... 10
Instalación de OpenSSL .................................................................................................. 12
Capturas de Wireshark usando puerto 443 .................................................................................. 13
Capturas utilizando puerto 80....................................................................................................... 13
Redirigir puerto 80 a 443 .............................................................................................................. 14
Conclusión....................................................................................................................... 15
3. INTRODUCCIÓN
En este proyecto implementaremos un servidor con codificación segura (https) OpenSSL.
OpenSsl consiste en un robusto paquete de herramientas de administración y bibliotecas
relacionadas con la criptografía, que suministran funciones criptográficas a otros paquetes como
OpenSSH y navegadores web (para acceso seguro a sitios HTTPS).
Estas herramientas ayudan al a implementar el Secure Sockets Layer (SSL), así como otros
protocolos relacionados con la seguridad, como el Transport Layer Security (TLS). OpenSSL
también permite crear certificados digitales que pueden aplicarse a un servidor, por ejemplo
Apache.
Implementación:
Estaremos implementando un Servidor Web en un host virtual Centos 6.5 dentro de una red IP
192.168.31.0/24.
Utilizaremos Vmware Workstation, para la virtualización de las dos VM.
Prerrequisitos para la implementación:
Instalación de LAMP Server (Apache, MySQL, PHP): es una combinación de herramientas
open-source. El nombre LAMP se deriva de las primeras letras de: Linux, Apache, MySql,
PHP.
Crear base de datos que utilizará la página web para hacer un login.
Programar el código php necesario para hacer enlazar con la base de datos.
Metodología:
Para validar nuestra presentación utilizaremos la metodología de “tutorial por capturas de
pantallas”
4. Instalación de Apache, Mysql, PHP. (LAMP)
Para la instalación de LAMP ejecutamos el siguiente comando en una terminal.
Yum install –y vim wget httpd mysql mysql-server php
Cuando termine nos muestra el mensaje de Complete!
Procedemos a iniciar todos los servicios:
service httpd start
service mysqld start
chkconfig httpd on
Chkconfig mysqld on
Esto hace que el servicio se inicie automáticamente
cuando inicia el sistema. Si no se hace no levanta el
servicio, y habría que levantarlo manualmente.
5. Configuración de base de datos:
Por defecto el MySql viene con un usuario Root y viene sin contraseña, debemos crear una
contraseña para asegurar nuestra base de datos, escribimos el siguiente comando:
mysql_secure_installation
1. Enter current password for root:(enter)
2. Set root password [Y/N]: y (apretar
enter),
3. En la siguiente línea pusimos el
password.
4. Después nos sale otras configuraciones,
y a todas le damos ENTER.
5. Luego de esto tenemos MySql instalado,
y con password.
8. Instalar phpMyAdmin
PhPMyAdmin es una herramienta de interfaz web de código abierto, que se utiliza para
administrar la base de datos MySQL. Por defecto phpMyAdmin no se encuentra en los
repositorios oficiales de CentOS. Así que tendremos que instalar los repositorios EPEL.
Para la instalación de php nos ubicamos desde el terminal en la carpeta por default de
Apache: /var/www/html
cd /var/www/html
Descargamos la ultima version de phpMyAdmin
wget
http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.1.14.2/phpMyAdmi
n-4.1.14.2-all-languages.tar.gz
Luego de esto descomprimimos el archivo que bajamos en la carpeta y le cambiamos el
nombre a la carpeta
Nos debe quedar la carpeta tal cual esta en la siguiente imagien.
9. Luego le damos permisos a la carpeta /var/www/html/phpMyAdmin de apache:
chown –R apache.apache /var/www/html/phpMyAdmin
Para terminar verificamos que esté instalado correctamente:
Utilizamos la siguiente dirección: http://localhost/phpMyAdmin nos pide la
autenticación:
Usuario : root
Contraseña: la que hayamos configurado para Mysql.
Y finalmente lo tenemos instalado.
10. Página WEB
Para la página web decidimos descargar un código HTML gratuito de los que se encuentran en
páginas como: http://www.mejoresplantillasgratis.es/free-templates/Diseno-Web.html
Una vez descargamos el archivo lo descomprimimos en la carpeta por default de Apache
/var/www/html/
Y le pusimos como nombre plantilla.
Luego de esto localizamos en el código HTML, las variables para introducir el usuario y contraseña,
para luego crear el código php que hace conexión con la base de datos.
11. Luego pasamos a la base de datos http://localhost/phpMyAdmin y creamos una base de datos con
el nombre de Index1 y una tabla de 4 columnas llamada Prueba.
Las columnas son:
email, idprueba, nombrep, passp, usserp (son los nombres de variables que decidí utilizar).
Esto para hacer la conexión en el código HTML.
En el código HTML hicimos una programación en PHP sencilla para la conexión, y guardamos el
index como Index.php, para que me acepte el código PHP.
12. Instalación de OpenSSL
Para instalar el OpenSSL, hicimos una clonación de la máquina virtual, ya que necesitamos otra
máquina para hacer las comparaciones.
Luego de esto procedemos a instalar el OpenSSL
yum install mod_ssl openssl
Cuando termine de instalar generamos una Private Key.
openssl genrsa –out ca.key 2048
Generamos una CSR
openssl req –new –key ca.key –out ca.csr
Generamos una Self Signed Key
openssl x509 –req –days 365-in ca.csr –signkey ca.key –out ca.crt
Luego copiamos todo lo que generamos a la carpetas que deben ir.
Cp ca.crt /etc/pki/tls/certs
Cp ca.key /etc/pki/tls/private/ca.key
Cp ca.csr /etc/pki/tls/private/ca.csr
Luego reiniciamos le servicio de apache
service httpd restart
E ingresamos a la página por medio de https://localhost/plantilla
14. Redirigir puerto 80 a 443
Para redirigir cuando se acceda al servidor con puerto http a pase automáticamente a https.
Abrimos la consola y abrimos el archivo conf.d
gedit /etc/httpd/conf.d
Y agregamos las líneas que está marcada en rojo.
15. Conclusión
Viendo la vulnerabilidad de las páginas web sin encriptar (http), podernos darnos cuenta el riesgo
que corremos con información personal en internet, ya que muy fácilmente con los conocimientos
adquiridos podemos decodificar datos en páginas web que no utilicen un método de encriptación.
Esto pone en evidencia la carencia de seguridad que hay en internet en muchas páginas de
internet, y el poco conocimiento del riesgo que tenemos en las mismas.
Gracias a este proyecto ahora, sabemos el porque es importante conocer los métodos de
encriptación y como utilizarlos.