Practicas Tema 4 Sebastian Rubio Gonzalez

65
PRACTICAS SEGURIDAD INFORMATICA TEMA 4 CRIPTOGRAFIA SEBASTIAN RUBIO GONZALEZ

description

Practicas varias criptografias

Transcript of Practicas Tema 4 Sebastian Rubio Gonzalez

  • PRACTICAS

    SEGURIDAD

    INFORMATICA

    TEMA 4 CRIPTOGRAFIA

    SEBASTIAN RUBIO GONZALEZ

  • ndice

    1. Prctica sobre SSH y Copia Segura

    2. Prctica sobre GPG4WIN

    3. Prctica sobre Tunel SSH MYSQL

    4. Prcticas sobre SSL

  • PRACTICAS SOBRE SSH Y COPIA SEGURA Sebastin Rubio

  • Primero procederemos a instalar el servicio ssh en nuestra maquina virtual Ubuntu con el comando apt-get install ssh. Como podremos ver ya lo tenamos instalado previamente.

    Una vez hecho esto verificaremos que escuchamos por el puerto 22 y que el servicio est activo con el comando netstat ntl.

    Ahora nos vamos al ordenador que actua como cliente y mediante el programa putty nos conectamos al ordenador que acta como servidor y ser el Ubuntu y su direccin ip ser la 10.0.3.1 que se corresponder con la red interna del servidor.

  • Una vez introducimos el login con usuario y contrasea del servidor veremos que tendremos acceso a l desde el ordenador cliente. Como vemos ya tenemos acceso al servidor.

    Ahora deberemos crear las claves para el sistema RSA que sern las claves tanto privada como pblica y durante la creacin de dichas claves nos pedir que introduzcamos una clave ssh de desbloqueo denominada passphrase. En este caso la clave passhrase ser sebas.

    Para poder compartir o distribuir la clave pblica deberemos de ejecutar el siguiente comando ssh-copy-id [email protected]

  • Ejecutamos de nuevo el comando ssh [email protected] y vemos que nos podemos conectar mediante ssh.

    En todos los casos, el directorio .ssh en el servidor debe existir y el fichero authorized_keys debera tener los permisos correctos que sern (600).

    A partir de ese momento se pueden utilizar ssh y scp con esa mquina sin necesidad de escribir la clave. A continuacin deberemos modificar el fichero de configuracin /etc/ssh/sshd_config y habilitar la funcin StrictModes y con esto conseguiremos los borrados o modificaciones accidentales.

    Tambin en dicho fichero de configuracin podremos cambiar ciertos valores como pueden ser:

    Port n puerto: ser el puerto por el escucha y lo podremos modificar a nuestro gusto.

    ListenAddress: Sera la direccin ip de la red interna por la que escucha y entonces bloquea todas las conexiones desde el exterior salvo la ip que hayamos seleccionado.

    PermitRootLogin: Con esta opcin le permitiremos conectarse siendo el superusuario root

  • AllowUsers: Sern los usuarios que tendrn permiso para conectarse a nuestro servidor y para ello deberemos escribir una lnea al final del fichero con los usuarios permitidos separados por un espacio entre ellos.

    sfUna vez modifiquemos este fichero de configuracin /etc/ssh/sshd_config ser necesario reiniciar el servicio de ssh con el comando service ssh restart.

    Para realizar la prueba de que no nos podemos conectar con el usuario root nos conectamos al servidor y cuando nos pide el login ponemos root y la contrasea y como podemos apreciar cuando hacemos varios intentos nos aparece un mensaje de error que hemos hecho muchos intentos fallidos con root.

  • COPIA SEGURA (SCP)

    Creamos un archivo por ejemplo que contenga lo siguiente:

    Para realizar la copia segura de un recurso de nuestro ordenador, un archivo o cualquier otro elemento del servidor al equipo local usaremos el comando:

    scp [email protected]:/home/sebas/mensaje.txt mensaje2.txt

    Una vez hecho esto nos pide la contrasea del administrador y posteriormente la contrasea de la clave privada introducida anteriormente y una vez se produce todo esto apreciamos que hemos hecho la copia segura y que aparecen ambos archivos.

  • El protocolo seguro de transferencia de archivos (SFTP) permite una serie de operaciones sobre archivos remotos. SFTP intenta ser ms independiente de la plataforma que SCP, por ejemplo, con el SCP encontramos la expansin de comodines especificados por el cliente hasta el servidor, mientras que el diseo SFTP evita este problema. Aunque SCP se aplica con ms frecuencia en plataformas Unix, existen servidores SFTP en la mayora de las plataformas.

    Para copiar un archivo del servidor al ordenador local la orden get:

    Para copiar un archivo desde el equipo local al servidor remoto

  • WINSCP

    WinSCP es una aplicacin de Software libre. WinSCP es un cliente SFTP grfico para Windows que emplea SSH. El anterior protocolo SCP tambin puede ser empleado. Su funcin principal es facilitar la transferencia segura de archivos entre dos sistemas informticos, el local y uno remoto que ofrezca servicios SSHNewbie.

    El cdigo fuente de WinSCP y las descargas estn hospedadas en SourceForge.

  • PRACTICA GPG4WIN Es una aplicacin de software libre que sirve para cifrar archivos y correos electrnicos con un sistema de llaves pblicas y privadas.

    El algoritmo de cifrado utilizado tambin es de libre distribucin y se denomina GNU Privacy Guard, una alternativa de cdigo abierto a los otros sistemas patentados.

    Soporta los estndares de criptografa Open PGP y S/MIME. Opera en los sistemas operativos Windows 2000, XP, Vista y Windows 7. Funciona en sistemas de 32 y 64 bits.

    INSTALACION DE LA APLICACIN GPG4WIN Primero lo que haremos ser instalar la aplicacin en la maquina virtual W7 y lo haremos de la siguiente manera:

    Descargamos la ultima versin de la aplicacin GPG4WIN desde la pgina oficial que ser http://www.gpg4win.org, siendo est la versin 2.2.4.

  • A continuacin comenzamos la instalacin de la aplicacin en nuestro equipo con W7.

    Una vez comienza el proceso de instalacin nos pide permisos administativos para hacer cambios en nuestro equipo y haremos clic en Si para poder instalar la aplicacin.

    Seleccionamos el lenguaje que deseamos para nuestra aplicacin GPG4WIN.

  • Comenzamos con el programa de instalacin de GPG4WIN y nos muestra un mensaje de bienvenida a la Instalacion dndonos una informacin acerca de la aplicacin, versin de la aplicacin y su fecha de publicacin y haremos clic en Siguiente.

    A continuacin nos aparece un mensaje con el acuerdo de licencia y haremos clic en Siguiente.

  • A continuacin seleccionamos todos los componentes dentro de la aplicacin salvo el Clows-Mail siendo este opcional y haremos clic en Siguiente.

    A continuacin nos solicita la ruta donde queremos guardar la aplicacin y haremos clic en Siguiente.

  • A continuacin seleccionaremos los Vinculos de Inicio y haremos clic en Siguiente.

    A continuacin seleccionaremos la carpeta dentro del Men de Inicio donde queremos que se guarde nuestra aplicacin y haremos clic en Instalar.

  • Una vez completada el proceso de la instalacin haremos clic en Siguiente.

    Y por ltimo para finalizar el asistente de Instalacin haremos clic en Terminar.

  • CONFIGURACION DE LA APLICACIN GPG4WIN Para poder acceder a la aplicacin GPG4WIN deberemos haremos clic en el botn del Men de Inicio de Windows, seleccionaremos la opcin Todos los programas, seleccionaremos la carpeta GPG4WIN y una vez all haremos clic en GPA.

    Una vez abierta la aplicacin GPG4WIN por primera vez, nos aparece un mensaje en el que se nos advierte que no existe ninguna clave y nos pedir si queremos generarla.

  • Una vez hacemos clic en Generar clave ahora, nos aparece un asistente donde generaremos nuestra clave privada. El primer paso ser introducir nuestro nombre completo, ya que nuestro nombre ser parte de la clave privada y nos permitir la identificacin de nuestra clave y por ltimo haremos clic en Adelante.

    A continuacin nos pide que insertemos nuestra direccin de correo electrnico y haremos clic en Adelante.

  • A continuacin nos aparece un mensaje donde nos recomiendan hacer una copia de seguridad de nuestra clave una vez que la hayamos generado, seleccionamos Crear una copia de seguridad y haremos clic en Adelante.

    Una vez se genera nuestra clave nos solicita que introduzcamos una contrasea fuerte siguiendo los standarts de seguridad que son aquellos que deben de cumplir las siguientes condiciones:

    No deber contener menos de ocho caracteres la contrasea. 1 carcter al menos debe ser una letra Mayscula. 1 carcter al menos debe ser una letra minscula. 1 carcter al menos debe ser un nmero 1 carcter al menos debe ser un carcter especial.

    A continuacin nos pide que confirmemos la contrasea introducida de nuevo.

  • Una vez confirmada la contrasea, nos aparece una ventana donde nos pide que seleccionemos la ruta donde queremos que se guarde la clave privada generada en mi caso la guardare en la carpeta Documents y haremos clic en Guardar.

    A continuacin nos aparece un mensaje que se va a crear una copia de seguridad de nuestra clave en el siguiente archivo y que debemos de guardarla bien para una correcta comparticin con otras personas y hacemos clic en Cerrar.

  • Una vez guardada la clave, nos aparece una ventana con la clave creada y nos da informacin acerca de ella como podemos comprobar en la siguiente imagen.

  • PROCEDIMIENTO PARA EXPORTAR LA LLAVE PBLICA

    Para exportar la llave pblica lo que debemos de hacer haremos clic en el botn Exportar.

    A continuacin se nos abrir una ventana para seleccionar la carpeta de destino como el nombre del archivo con el que se quiere guardar esta llave. Una vez hemos terminado haremos clic en Guardar.

  • A continuacin nos aparecer una ventana indicndonos que la llave se exporto correctamente y mostrndonos la ruta donde se almaceno y por ltimo haremos clic en Cerrar

    Y por ltimo para finalizar el procedimiento de exportacin lo que haremos ser enviar al cliente la llave pblica por email pero nunca enviaremos la llave privada.

  • PROCEDIMIENTO PARA IMPORTAR LA LLAVE PBLICA Para importar la llave pblica lo que debemos de hacer es incluir las llaves pblicas que se nos envan, y permiten que podamos desencriptar los archivos cifrados.

    Para importar una llave pblica lo que debemos de hacer es haremos clic en el botn de Importar.

    A continuacin se abre la ventana de importacin, en donde podremos seleccionar el archivo de llave pblica que se quiere importar. Para este ejemplo hemos recibido por correo electrnico una clave pblica y por ltimo haremos clic en Abrir.

  • Una vez abierta, se puede observar el siguiente mensaje de confirmacin y haremos clic en el botn Cerrar.

    Y por ltimo como podemos apreciar tenemos en la siguiente ventana la llave importada y lista para su uso.

  • PRACTICAS TUNEL SSH CON ACCESO

    REMOTO A MYSQL

    Instalar en Linux Ubuntu el servidor de bases de datos MySQL (mysql-server) con el

    comando sudo apt-get install mysql-server.

    A continuacin nos pide que introduzcamos la contrasea para el usuario root de Mysql, en

    mi caso pondr la contrasea sebas y haremos clic en Aceptar.

    A continuacin nos pide que confirmemos la contrasea para el usuario root de Mysql y

    haremos clic en Aceptar.

  • Una vez instalado, crear alguna tabla e insertar algunas filas.

  • Posteriormente, acceder desde Windows o Linux a dicho servidor introduciendo desde la

    lnea de comandos (consola MsDos o Shell de Linux) la siguiente orden:

  • Si queremos ver que, efectivamente, el servidor de BD se est ejecutando podemos

    ejecutar el comando netstat -natu o tambin nmap localhost. Como por ejemplo,

  • Para crear un tnel SSH de forma ms segura entre el cliente Windows y el servidor de

    Base de Datos MySQL de Linux. Adems, de esta manera no hay que tocar nada en la

    configuracin del servidor MySQL.

    Pulsamos el botn Add.

  • Ahora realizamos una conexin SSH al servidor de Base de Datos y una vez creada dicha

    conexin, ya podemos acceder al servidor remoto de BD como si lo hiciramos localmente.

    Simplemente desde un cliente Windows ejecutamos el comando, asegurndonos de que

    escucha por el puerto n 5000: mysql -u root p - -port=5000.

  • PRACTICAS SOBRE SSL CON HTTP INSTALACION DEL SERVIDOR WEB APACHE

    Lo primero que debemos de hacer es instalar el servidor web Apache para ello debemos ejecutar el siguiente comando apt-get install apache2-utils.

    Comprobaremos desde el servidor que hay un servicio escuchando por el puerto TCP/80 ejecutando el comando netstat natp.

  • Comprobaremos que el proceso correspondiente se est ejecutando con el comando ps ef | grep apache.

    Comprobaremos que la instalacin del servidor apache se ha realizado correctamente conectndote desde el anfitrin con el navegador a la IP del Servidor Ubuntu y veremos la pgina predefinida del servidor Apache.

    En la versin 14.04 utilizada por nuestro servidor Ubuntu necesitamos comprobar que se ha creado un directorio llamado /var/www/html, cuyo propietario es root y es el directorio raz del servidor virtual por defecto. Este directorio contendr el fichero index.html.

  • Aqu tenemos una captura de los archivos que tendremos en el directorio de configuracin del servicio apache2 que sern importantes durante nuestra instalacin.

    Primeramente usaremos el fichero de configuracin apache2.conf El fichero de configuracin del servicio es /etc/apache2/apache2.conf donde se encuentran una serie de directivas muy importantes como pueden ser las siguientes: ServerRoot

    User y Group

    Timeout.

  • En la versin 14.04 de Ubuntu la directiva contenedora del directorio que se utiliza para determinar como el servidor Apache sirve el contenido del directorio /var/www viene contenido en este fichero de configuracin /etc/apache2/apache2.conf y ser como la captura abajo reseada. Directory

    En el fichero de log de errores se ubica en /var/log/apache2/error.log.

    Tambin consultaremos el fichero de configuracin contenido en /etc/apache2/ports.conf y comprobaremos que el puerto por el que escucha las peticiones Apache HTTP es el puerto 80, mientras que el puerto que escucha las peticiones HTTPS es el 443 siempre y cuando se habilite el modulo ssl_module.

    En la versin de Ubuntu 14.04 tambin consultaremos el fichero de configuracin /etc/apache2/sites-available/000-default.conf y podremos comprobar como dentro de se define el comportamiento del servidor virtual por defecto. Aspectos importantes a destacar dentro de este fichero de configuracin son los siguientes: DocumentRoot: ser el valor de la directiva del directorio principal que contiene la estructura de directorios visible desde la web y en este caso ser /var/www/html. Errorlog: ser la ubicacin del fichero en el que se almacenan los mensajes de error.

  • CONFIGURACION DE AUTENTICACION DEL SERVIDOR WEB APACHE HTTP

    1. Autenticacin HTTP Basic Comprobaremos consultando el directorio /etc/apache2/mods-enabled que dentro de los mdulos habilitados se encuentra el mdulo auth_basic.load.

    Para usar la autenticacin basic hay que crear un fichero accesible por el servidor Apache en el que se guardaran los usuarios y sus contraseas. Para crear este fichero utilizaremos el comando htpasswd c /etc/apache2/passwd , donde la opcin c se utiliza para crear dicho fichero de contraseas. A continuacin crearemos dos usuarios llamados asir1 y asir2.

    Como vemos en la captura anterior al crear el primer usuario use la opcin c porque no estaba creado el fichero mientras que para el segundo usuario no use dicha opcin ya que estaba creado dicho fichero passwd.

  • En la siguiente imagen como queda dicho fichero passwd con los dos usuarios creados y sus contraseas encriptadas.

    En la versin de Ubuntu 14.04 crearemos el directorio /var/www/html/profesor con un archivo index.html con un contenido que queramos introducir.

    El contenido del archivo index.html ser el siguiente:

    A continuacin lo que haremos ser editar el fichero de configuracin /etc/apache2/sites-available/000-default.conf y permitiremos el acceso al directorio /var/www/html/profesor a los usuarios asir1 y asir2 incluyendo las siguientes lneas en dicho fichero.

  • A continuacin reiniciaremos el servidor para que los cambios tengan efecto.

    Prueba desde otra mquina accede a http://ip_direccin_servidor/profesor con el usuario asir1 o asir2. Prueba realizada desde la mquina de Windows 7 con el usuario asir1. CASO 1: Usuario asir1 creado anteriormente. Como podemos apreciar cuando tratamos de entrar en la direccin IP del servidor web Apache en la mquina Ubuntu vemos que nos aparece una alerta de seguridad de Windows donde nos pide un usuario y contrasea, introducimos dichas credenciales y haremos clic en Aceptar.

    Una vez hemos aceptado vemos que nos aparece el mensaje de bienvenida que creamos dentro del archivo index.html del directorio del profesor.

    Con respecto a la pregunta de si es posible acceder realizada en la prctica la respuesta es s como hemos visto anteriormente.

  • CASO 2: Usuario sebas uso no permitido. Cuando intentamos entrar con un usuario no permitido en el servidor nos aparece una alerta de seguridad donde intentamos introducir el usuario sebas y su contrasea 3 veces.

    Y vemos que recibimos un mensaje de fallo al intentar entrar en el directorio profesor del servidor web Apache como podemos apreciar en la siguiente imagen.

  • CONFIGURACION DE AUTENTICACION DEL SERVIDOR WEB APACHE HTTP DIGEST

    2. Autenticacin HTTP Digest En la versin de Ubuntu 14.04 crearemos el directorio /var/www/html/departamento con un archivo departamento.html con un contenido que queramos introducir.

    Habilitaremos el mdulo auth_digest y para ello ejecutaremos el siguiente comando a2enmod auth_digest. Como vemos en la imagen nos pide que reiniciemos el servicio para que los cambios tengan efecto.

  • Como veremos en esta imagen vemos que ya tenemos habilitado el mdulo auth_digest.load.

    Una vez reiniciado el servicio para usar la autenticacin digest hay que crear un fichero accesible por el servidor web Apache en el que se guardarn los usuarios y sus contraseas asociados a un dominio (realm). Para crear este fichero se utilizar el comando htdigest. Crea el fichero y aade el usuario admin1 al dominio informtica (la opcin c es para crear el fichero) con el comando htdigest c /etc/apache2/digest informtica admin1. Crearemos tambin el usuario admin2 al dominio de informtica (en este caso no ser necesario la opcin c para crear dicho fichero ya que esta creado) y lo haremos con el comando htdigest /etc/apache2/digest informtica admin2.

  • A continuacin lo que haremos ser editar el fichero de configuracin /etc/apache2/sites-available/000-default.conf y permitiremos el acceso al directorio /var/www/html/departamento a los usuarios admin1 y admin2 incluyendo las siguientes lneas en dicho fichero.

  • Prueba desde otra mquina accede a http://ip_direccin_servidor/profesor con el usuario admin1 o admin2. Prueba realizada desde la mquina de Windows 7 con el usuario asir1. CASO 1: Usuario admin1 creado anteriormente. Como podemos apreciar cuando tratamos de entrar en la direccin IP del servidor web Apache en la mquina Ubuntu vemos que nos aparece una alerta de seguridad de Windows donde nos pide un usuario y contrasea, introducimos dichas credenciales y haremos clic en Aceptar.

    Una vez hemos aceptado vemos que nos aparece el mensaje con el index.html del departamento y que en dicho index aparece un archivo llamado departamento.html.

    Una vez pinchamos sobre dicho archivo vemos que nos aparece el contenido de dicho archivo creado anteriormente en el servidor web Apache y su resultado es el siguiente:

    Con respecto a la pregunta de si es posible acceder realizada en la prctica la respuesta es s como hemos visto anteriormente.

  • CASO 2: Usuario sebas uso no permitido. Cuando intentamos entrar con un usuario no permitido en el servidor nos aparece una alerta de seguridad donde intentamos introducir el usuario sebas y su contrasea 3 veces.

    Y vemos que recibimos un mensaje de fallo al intentar entrar en el directorio profesor del servidor web Apache como podemos apreciar en la siguiente imagen.

  • CONFIGURACION DE SERVIDOR VIRTUAL HTTPS POR DEFECTO EN LINUX

    Primeramente lo que haremos ser iniciar una sesin con un usuario con permisos de administracin. A continuacin habilitaremos el servidor virtual por defecto de Apache con el siguiente comando a2ensite 000-default.conf.

    A continuacin verificaremos que dentro del directorio /etc/apache2/sites-enabled se ha creado un enlace 000-default.conf que actualmente se encuentra habilitado.

    A continuacin nos pedir que reiniciemos el servicio para que los cambios tengan efecto.

    A continuacin habilitaremos el mdulo modssl que permite usar https con el siguiente comando a2enmod ssl.

    Reinicia el servidor para que los cambios tengan efecto.

  • A continuacin consultaremos el fichero /etc/apache2/ports.conf y observa que al habilitar el modulo ssl el servidor escuchar en el puerto 443.

    Verifica que el servidor escucha en los puertos 80/TCP y 443/TCP con el comando netstat ltn.

    Accede al directorio /etc/apache2/sites-availables y observa que existe un fichero denominado default-ssl.conf que contiene la configuracin por defecto de un servidor HTTPS.

  • Habilitaremos el servidor virtual ssl defecto (default-ssl) de Apache con el comando a2ensite default-ssl y a continuacion reiniciaremos el servidor para que los cambios tengan efecto.

    Consulta el fichero /etc/apache2/sites-availables/default-ssl y observa su configuracin. Fjate en las directivas que habilitan SSL y que definen la ruta del certificado digital que usar el servidor. El servidor utiliza por defecto un certificado digital autofirmado que se ha creado al instalar Apache. Un certificado autofirmado no est firmado por una autoridad de certificacin (tercera parte de confianza) y, por tanto, no existen mecanismos automticos que garanticen su autenticidad. Por eso los navegadores nos pedirn confirmacin cuando el servidor se lo enve. En las siguientes imagines podremos ver las imagenes capturadas del fichero /etc/apache2/sites-availables/default-ssl.conf. En la version 14.04 de Ubuntu el DocumentRoot sera /var/www/html.

  • Desde otra mquina abre el navegador y establece una conexin a http://IP_ServidorWEB. Funciona? En este caso utilizaremos una maquina Windows 7 para hacer esta parte de la prctica y cmo podemos ver apreciamos que al ejecutar http://10.0.3.1 que es la direccin de nuestro servidor web funciona perfectamente.

    Repite el ejercicio anterior pero con https://IP_ServidorWEB. Qu ocurre? En este caso utilizaremos una maquina Windows 7 para hacer esta parte de la prctica y cmo podemos ver apreciamos que al ejecutar https://10.0.3.1 que es la direccin de nuestro servidor web de forma segura, vemos que nos da un aviso de que existe un problema con el certificado de seguridad con este sitio web y si pinchamos en Vaya a este sitio web, cosa que no se recomienda, se nos carga perfectamente la pgina web que queramos ver.

  • CONFIGURACION DE SERVIDOR VIRTUAL HTTPS EN APACHE/LINUX

    Primeramente iniciaremos una sesin en el Servidor Web Linux con un usuario con privilegios de administracin. A continuacin crearemos el directorio /var/www/html/seguro

    Creamos el fichero de texto /var/www/seguro/index.html con el contenido que quieras.

    Crearemos un certificado digital autofirmado usando openssl y para ello haremos las siguientes cosas: Nos situaremos en el directorio home del usuario con el que has iniciado sesion y crearemos una clave privada RSA de 2048 bits con el comando openssl genrsa -out seguro.key 2048.

  • Generaremos una solicitud de certificado (CSR, Certificate Signing Request) e introduce los datos del certificado que piden con el comando openssl req -new -key seguro.key -out seguro.csr.

    Esta solicitud de certificado se la podramos enviar a una autoridad de certificacin para que generase el certificado (CRT). En este caso lo vamos a firmar nosotros mismos. Vamos a crear un certificado autofirmado.

    Crea el certificado digital autofirmado usando la clave privada con el siguiente comando openssl x509 -req -days 365 -in seguro.csr -signkey seguro.key -out seguro.crt.

    A continuacin copiaremos la clave y el certificado en los directorios que utiliza Apache y configuraremos los permisos adecuados ejecutando estos comandos:

    sudo mv seguro.key /etc/ssl/private/ sudo mv seguro.crt /etc/ssl/certs/ sudo chown root:ssl-cert /etc/ssl/private/seguro.key sudo chmod 640 /etc/ssl/private/seguro.key sudo chown root:root /etc/ssl/certs/seguro.crt

  • Creamos el fichero /etc/apache2/sites-available/seguro.conf con las siguientes directivas: Para ello, lo mejor sera realizar una copia del ya existente archivo default-ssl, eliminar todas las lneas sobrantes y modificar otras hasta dejarlo as:

    A continuacin mostraremos una imagen de cmo quedar nuestro fichero de configuracin del servidor seguro :

    A continuacin deshabilitaremos el servidor ssl por defecto con el comando sudo a2dissite default-ssl.

  • A continuacin habilitaremos el servidor virtual seguro con el comando sudo a2ensite seguro.conf y por ltimo reiniciaremos el servicio con el comando service apache2 restart.

    A continuacin verificaremos que dentro del directorio /etc/apache2/sites-enabled se ha creado el enlace al servidor virtual seguro.

    A continuacin reinicia el servidor para que los cambios tengan efecto.

    Desde otro equipo abre el navegador y establece una conexin a https://IP_ServidorWeb. Verifica que ya hay certificado y observa sus detalles.

  • ATAQUE MAN IN THE MIDDLE CON SSLSTRIP

    Dado que es prcticamente imposible descifrar un mensaje cifrado con SSL se va a intentar suplantar la entidad del emisor de dicho mensaje. Una de las tcnicas de suplantacin es mediante ARP- Spoofing. Este ataque modifica la tabla arp de un host para hacer que resuelva una IP a una MAC que no es la que le corresponde. Esto es lo que hace posible el Man in the middle.

    Este es un ataque en el que la vctima no detectara nada raro, de ah la dificultad de hacer frente a un ataque de este tipo.

    Este ataque nos permite monitorizar el trfico que deseemos de una red, tanto de un host hacia el router, como del router hacia un host.

    Abre una terminal de comandos e instala el siguiente software:.

    sudo apt-get update sudo apt-get install dsniff sudo apt-get install sslstrip

  • Conctate como root y haz que la mquina atacante pueda encaminar paquetes su echo 1 > /proc/sys/net/ipv4/ip_forward exit

    Redirigir todos los paquetes con destino a HTTP (puerto 80) a otro puerto. Por ejemplo al 8081 sudo iptables t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081 Aqu se utiliza iptables, interfaz de comandos nativa en Linux para crear un cortafuegos. En este caso, cuando un paquete con destino al puerto 80 llega al host atacante (que ahora es un encaminador), justo antes de sacarlo por la interfaz de salida (tarea de PREROUTING) lo REDIRECCIONA al puerto 8081.

    En este puerto (8081) estar puesto a la escucha el programa sslstrip. Realizar el envenenamiento ARP de alguna vctima. Aqu se utilizar la herramienta ettercap cuyo uso es el siguiente:

  • Partimos del siguiente escenario:

    IP router: 10.0.3.3 IP atacante: 10.0.3.1 IP victima: 10.0.3.2

    sudo ettercap -Tq -i eth1 -M arp:remote /10.0.3.2/10.0.3.3/

  • A continuacin lanzamos el programa sslstrip y abrimos otro terminal de comandos y ejecutamos el siguiente comando sudo sslstrip w hacking.txt -l 8081

    Todo lo que capture ssltrip por el puerto de escucha ( -l 8081 ) se guardar en el archivo hacking.txt

    hacking.txt

    En el equipo vctima que ser la mquina Windows 7 abriremos un navegador web y accederemos a alguna pgina en la que haya que introducir credenciales como por ejemplo http://www.gmail.com.

  • Ejecutando el comando arp -a en una consola de comandos del equipo victima se ve claramente la duplicidad de direcciones MAC con el deban router

    Con el comando

    Y a pesar de entrar en una pgina HTTPS segura, ettercap recupera una pgina HTTP y con toda la informacin, password incluida, en texto claro.

    Accediendo al archivo hacking.txt de sslstrip, tambin se recupera informacin similar.

  • Observacin: Ejecutando el comando arp -a en una consola de comandos del equipo victima se ve claramente la duplicidad de direcciones MAC con la mquina del deban router.

    Recomendaciones:

    Utilizar tablas ARP estticas. En el caso de utilizar el navegador Firefox aadirle el complemento HTTPS Everywhere

    y/o SSL Blacklist. Utilizar seguridad de puertos en el switch, si es que esto es posible. Fomentar el uso de VLANs.

    A continuacin instalaremos la herramienta grafica de ettercap con el siguiente comando sudo apt-get install ettercap-graphical.

  • Con el comando sudo ettercap G lanzaremos el programa en su interfaz grfica.

    A continuacin lo que debemos de hacer es en el Men de la herramienta seleccionamos la opcin Sniff y dentro de su men contextual seleccionamos Unified Sniffing.

    A continuacin seleccionamos la interfaz que queremos snifar en mi caso ser eth1.

  • En la siguiente imagen lo que podemos ver es que se produce el sniffing de la interfaz seleccionada.

    A continuacin seleccionaremos Hosts/Scan for hosts para escanear los equipos que estan en la interfaz eth1.y una vez terminado sacaremos la lista de dichos Host /Host List.

  • Una vez terminado el escaneo sacaremos la lista de dichos con la opcin Host /Host List.

    A continuacin seleccionamos un host y seleccionamos en el men de la herramienta ettercap la opcin MITM y a continuacin ARP Poisoning.

  • En la ventana que nos aparece seleccionamos Sniff remote connections y pulsamos Aceptar.

    A continuacin vamos a la opcin de la herramienta ettercap Start y seleccionamos Start Sniffing.

  • En otro terminal ejecutar sslstrip con el comando sslstrip w hacking.txt -l 8081

    Desde el ordenador victima acceder a www.gmail.com

    PORTADA E INIDICE PRACTICAS TEMA 4PRACTICAS SOBRE SSH Y COPIA SEGURA SEBASTIAN RUBIO GONZALEZPRACTICA GPG4WIN SEBASTIAN RUBIO GONZALEZTUNEL SSH CON MYSQL SEBASTIAN RUBIOPRACTICAS SOBRE SSL CON HTTP SEBASTIAN RUBIO