INSTALACION DE CENTOS Y OPENSSL

15
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

Transcript of INSTALACION DE CENTOS Y OPENSSL

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

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

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”

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.

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.

Pre-Requisitos de phpMyAdmin yum -y install php-mysql

Paquetes:

yum -y install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel

yum -y install php-pecl-apc

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.

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.

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.

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.

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

Capturas de Wireshark usando puerto 443

Capturas utilizando puerto 80

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.

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.