Taller 2 Complemento C.pdf

17
UNIVERSIDAD DEL VALLE ESCUELA DE INGENIERIA DE SISTEMAS Y COMPUTACION CURSO SISTEMAS OPERATIVOS DOCENTE: DANIEL BARRAGÁN C. SEGUNDO TALLER  PARTE C CORREO: [email protected] 1. Objetivos Capacitar al estudiante en el manejo de las herramientas de virtualización 2. Comandos Centos Para ingresar al sistema operativo usar como login la palabra: root y el password que asignó previamente a. Configuración de Idioma del teclado Sí no realizo la configuración del teclado de manera adecuada, puede cargar la configuración del idioma español por medio del siguiente comando: loadkeys es b. Configuración de la red y acceso a Internet En esta parte se asume que la máquina virtual inicia con un adaptador de red en configuración NAT y un adaptador en configuración adaptador sólo anfitrión con la modificación respectiva del script para iniciar con una ip estática (como se muestra en el complemento taller 1 parte A y en el complemento 1 parte B). Nota: El comando para deshabilitar una interfaz es ifdown nombreInterfaz, por ejemplo ifdown eth0 . Para habilitar la interfaz se emplea el comando ifup nombreInterfaz, por ejemplo ifup eth0 . En caso de no haber editado los scripts de configuración de la interfaz como se explica en el complemento taller 1 parte A podría emplear estos comandos.

Transcript of Taller 2 Complemento C.pdf

  • UNIVERSIDAD DEL VALLE ESCUELA DE INGENIERIA DE SISTEMAS Y COMPUTACION CURSO SISTEMAS OPERATIVOS DOCENTE: DANIEL BARRAGN C. SEGUNDO TALLER PARTE C CORREO: [email protected]

    1. Objetivos Capacitar al estudiante en el manejo de las herramientas de virtualizacin

    2. Comandos Centos

    Para ingresar al sistema operativo usar como login la palabra: root y el password que asign previamente

    a. Configuracin de Idioma del teclado

    S no realizo la configuracin del teclado de manera adecuada, puede cargar la configuracin del idioma

    espaol por medio del siguiente comando:

    loadkeys es

    b. Configuracin de la red y acceso a Internet

    En esta parte se asume que la mquina virtual inicia con un adaptador de red en configuracin NAT y un

    adaptador en configuracin adaptador slo anfitrin con la modificacin respectiva del script para iniciar

    con una ip esttica (como se muestra en el complemento taller 1 parte A y en el complemento 1 parte B).

    Nota: El comando para deshabilitar una interfaz es ifdown nombreInterfaz, por ejemplo ifdown eth0. Para

    habilitar la interfaz se emplea el comando ifup nombreInterfaz, por ejemplo ifup eth0. En caso de no haber

    editado los scripts de configuracin de la interfaz como se explica en el complemento taller 1 parte A podra

    emplear estos comandos.

  • En este momento al ejecutar los siguientes comandos que se muestran a continuacin debera observarse lo

    que muestran las figuras:

    Ifconfig eth0

    ifup eth1

    Verifique la conexin de la mquina virtual hacia Internet empleando el siguiente comando:

    ping -c 1 www.google.com

    Nota: Para conectar la mquina virtual a internet de forma manual, realice los pasos de configuracin

    indicados en la gua complemento del Taller 1 parte B.

  • c. Instalacin de paquetes con yum

    Empleando la herramienta YUM instale el editor de archivos en Linux llamado nano empleando el siguiente

    comando:

    yum install nano

    d. Creacin de un nuevo usuario

    Emplee el siguiente comando para crear un usuario de nombre operativos y asignar una contrasea:

    useradd operativos

    passwd operativos

    El comando pwd le permite conocer la ruta actual en consola. Digite el siguiente comando para ubicarse en

    la carpeta home del usuario operativos y de esta manera verificar que ha sido creado el directorio de

    usuario

    cd /home/operativos/

    Por defecto Centos

    3. Compilacin de fuentes e instalacin

    a. Instalacin de HPING3 http://www.hping.org/hping3.html

    En esta parte se muestra como descargar el paquete de fuentes hping3 desde Internet y realizar su

    compilacin. Realice los siguientes pasos:

    Ubicarse en el directorio de trabajo del usuario operativos

    cd /home/operativos

    Instalar el paquete wget para la descarga de contenidos desde la web

    yum install wget

    Instalar dependencias (paquetes) para compilacin de hping3

    yum -y install gcc tcl tcl-devel libpcap libpcap-devel make

    Descargar el paquete hping3-20051105.tar.gz

  • wget http://www.hping.org/hping3-20051105.tar.gz

    Descomprimir el paquete

    tar xvzf hping3-20051105.tar.gz

    Ingresar al directorio hping3-20051105

    cd hping3-20051105

    Finalmente para instalar hping3 escriba los siguientes comandos:

    Crear el siguiente enlace simblico para evitar el error ( net/bpf not encontrado )

    ln -s /usr/include/pcap/bpf.h /usr/include/net/bpf.h

    Compilar las fuentes e instalar

    ./configure

    make

    make install

    Verifique la instalacin de hping3 escribiendo el siguiente comando:

    hping

    Debera observar un prompt como el que se muestra a continuacin (para salir escriba exit)

    Puede consultar informacin de HPING3 en la pgina oficial o realizar la prueba que se indica en el siguiente

    enlace (se sugiere el uso de wireshark para observar el intercambio de paquetes y atacar una mquina o

    equipo de su propiedad donde pueda observar el consumo de CPU)

    http://lamiradadelreplicante.com/2012/01/24/ataque-ddos-syn-flood-con-hping3/

    b. Instalacin de HYDRA - http://www.thc.org/thc-hydra/

    Es necesario instalar la librera libssh. Digite los siguientes comandos:

    Ubicarse en el directorio de trabajo del usuario operativos

    cd /home/operativos

    Descargar el paquete libssh-0.4.8.tar.gz

    wget http://www.libssh.org/files/0.4/libssh-0.4.8.tar.gz

  • Descomprimir el paquete

    tar xvzf libssh-0.4.8.tar.gz

    cd libssh-0.4.8/libssh/

    Crear una carpeta de nombre build

    mkdir build

    cd build/

    Se instalan las dependiencias necesarias

    yum -y install cmake zlib-devel openssl-devel

    cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON

    Al ejecutarse correctamente el anterior comando sin errores, se genera una carpeta de nombre include y

    otra de nombre libssh

    cd include/

    Se procede a compilar las fuentes generadas

    make

    make install

    Salir del directorio include e ingresar al directorio libssh

    cd ../libssh/

    Se procede a compilar las fuentes generadas

    make

    make install

    Ubicarse en el directorio de trabajo del usuario operativos

    cd /home/operativos

    Descargar el paquete hydra-7.4.2.tar.gz

    wget http://www.thc.org/releases/hydra-7.4.2.tar.gz

    Descomprimir el paquete

    tar xvzf hydra-7.4.2.tar.gz

    cd hydra-7.4.2/

    Compilar las fuentes e instalar

    ./configure

    make

    make install

    Verifique la instalacin de hydra escribiendo el siguiente comando:

    hydra

  • intente un ataque hacia su propia mquina, usuario y password por medio del siguiente comando

    hydra -l root -p casa 127.0.0.1 ssh

    4. Instalacin de Servidor WEB (Apache)

    Para instalar un servidor web en la mquina virtual se deben ejecutar los comandos que se muestran a continuacin:

    Crea un listado con los grupos de paquetes que se pueden instalar yum grouplist > listadoYum Nota: Tambin puede usar el comando yum grouplist | less para desplazarse con las flechas del teclado por el listado de grupos para instalacin Dependiendo del idioma de instalacin en el listado generado podr observar un elemento del listado con el nombre Servidor Web o Web Server. Digite alguno de los comandos segn corresponda:

    Ingls Espaol

    Instala el paquete del grupo Web Server yum groupinstall Web Server

    Instala el paquete del grupo Servidor Web yum groupinstall Servidor Web

  • Inicia el servidor del servidor web service httpd start Inicia el servicio del servidor web desde el arranque chkconfig httpd on

    Una vez se ha instalado el servidor web se debe crear la pgina index.html en la carpeta /var/www/html de la mquina virtual

    nano /var/www/html/index.html

    Sistemas Operativos

    Universidad del Valle

    Se debe realizar la apertura del puerto 80 correspondiente al servidor web, para ello se debe editar el archivo iptables de la carpeta /etc/sysconfig y aadir la lnea que se muestra a continuacin antes de las lneas con la palabra REJECT: nano /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

    Salir del editor nano guardando los cambios y ejecutar posteriormente el siguiente comando: service iptables restart Para comprobar que el servidor web ha sido instalado y configurado correctamente, debe haberse creado el adaptador de red slo-anfitrin que se explica en el complemento taller 1 parte A y haberse configurado con la direccin ip 192.168.0.2 desde los scripts de configuracin como se muestra en el complemento taller 1 parte B.

  • Nota: Otra forma de acceder es a travs de un adaptador en modo puente, asignando a la mquina virtual una direccin IP dentro del dominio (en caso de que la mquina virtual no haya recibido una direccin IP automticamente por DHCP). En un navegador web en la mquina anfitrin ingresar la direccin IP de la mquina virtual (Para el ejemplo que se muestra en la siguiente figura la direccin IP de la mquina virtual en el adaptador eth1 es 192.168.0.2). Se debe visualizar el contenido del archivo index.html.

    Para conectar el servidor web hacia un servidor de base de datos se requiere la instalacin del cliente de la

    base de datos que este empleando. A continuacin se presentan los comandos para el caso de MySQL.

    Dependiendo del idioma de instalacin en el listado generado por medio de grouplist podr observar un

    elemento del listado con el nombre Cliente de base de datos MySQL o MySQL Database Client. Digite

    alguno de los comandos segn corresponda:

    Ingls Espaol

    Instala el paquete del grupo Cliente MySQL yum groupinstall MySQL Database Client

    Instala el paquete del grupo Cliente MySQL yum groupinstall Cliente de base de datos de MySQL

    Si decide emplear PHP para conectarse con la base de datos deber ejecutar el siguiente comando para instalar PHP y

    las libreras de conexin de mysql con php

    yum -y install php php-mysql

    Una vez se ha instalado PHP cree el siguiente archivo info.php en la carpeta /var/www/html de la mquina virtual

    Ejecutar los siguientes comandos para permitir la interpretacin de cdigo PHP por parte del servidor web: nano /etc/httpd/conf/httpd.conf Adicionar la lnea: AddType application/x-httpd-php .html .htm service httpd restart

  • En un navegador web en la mquina anfitrin ingresar la siguiente url: 192.168.0.2/info.php (Para el ejemplo que se muestra en la siguiente figura la direccin IP de la mquina virtual en el adaptador eth1 es 192.168.0.2). Se debe visualizar el contenido de la respuesta por parte del servidor del script info.php

    Para permitir que sus scripts se conecten desde el servidor apache hacia las bases de datos debe activar el

    flag httpd_can_network_connect en el firewall de Linux por medio del siguiente comando:

    setsebool -P httpd_can_network_connect on

    5. Instalacin de Servidor de Bases de Datos MySQL

    En esta parte se asume que el servidor de bases de datos ser instalado en una mquina virtual distinta a

    donde se encuentra instalado el servidor web. Para el servidor de base de datos se tendr una interfaz eth0

    para internet y una interfaz eth1 con la direccin ip 192.168.0.3

    Dependiendo del idioma de instalacin en el listado generado por medio de grouplist podr observar un elemento del listado con el nombre Servidor de base de datos MySQL o MySQL Database Server. Digite alguno de los comandos segn corresponda:

    Ingls Espaol

    Instala el paquete del grupo Servidor MySQL yum groupinstall MySQL Database Server

    Instala el paquete del grupo Servidor MySQL yum groupinstall Servidor de base de datos MySQL

    Iniciar el servicio del servidor de bases de datos

    service mysqld start

    Inicia el servicio del servidor de bases de datos desde el arranque

  • chkconfig mysqld on

    Ejecutar el script de configuracin de mysql para asegurar el servidor

    /usr/bin/mysql_secure_installation

    Nota: Cuando se pida un password de root tras ejecutar el comando anterior, dar simplemente enter.

    Despues ingresar Y para establecer el password de root. Cuando se pida recargar las tables de privilegios

    ingresar Y.

    Digite las siguientes lneas y guardelas en un archivo de nombre script.sql en el directorio /home/operativos

    create database acme; use acme; CREATE TABLE persona( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), nombre VARCHAR(30), edad INT); insert into persona (nombre,edad) values ('flanders',25);

    Digite el siguiente comando desde el directorio /home/distribuidos para ejecutar las lneas de cdigo SQL

    del archivo anterior script.sql

    cat script.sql | mysql -u root -poperativos

    Para verificar la creacin de la base de datos digite los siguientes comandos:

    mysql -u root -poperativos

    Posteriormente digite el comando:

    show databases;

    Deber visualizar una base de datos de nombre acme.

    Nota: Tenga en cuenta que si ingresa el comando mysql -u root -p, se le pedir el password del usuario root.

    Si coloca el password directamente despus de la letra p, no se pedir password.

    5.1 Conexin remota a la base de datos

    Se debe realizar la apertura del puerto 3306 correspondiente a mysql, para ello se debe editar el archivo iptables de la carpeta /etc/sysconfig y aadir la lnea que se muestra a continuacin antes de las lneas con la palabra REJECT:

    nano /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

  • Salir del editor nano guardando los cambios y ejecutar posteriormente el siguiente comando: service iptables restart

    Debe ingresar al servidor de bases de datos de mysql y actualizar los privilegios para el usuario remoto. Para

    el caso del usuario univalle, que se conecta desde la direccin IP 192.168.0.2 y tiene como contrasea:

    12345 digite los siguientes comandos en el servidor de bases de datos:

    mysql -u root -poperativos

    Posteriormente digitar el siguiente comando:

    GRANT ALL PRIVILEGES ON *.* to 'univalle'@'192.168.0.2' IDENTIFIED by '12345';

    Puede salir con la palabra exit

    Ahora desde una mquina externa (por ejemplo desde el servidor web) podr realizar conexiones hacia

    mysql. Para el caso donde el servidor de la base de datos tiene la direccin IP 192.168.0.3 digite el siguiente

    comando para realizar la conexin:

    mysql -h 192.168.0.3 -u univalle -p

  • En el servidor web digite las siguientes lneas y gurdelas en un archivo de nombre seleccionar.php en el

    directorio /var/www/html

    Finalmente En un navegador web en la mquina anfitrin ingresar la siguiente url:

    192.168.0.2/seleccionar.php

    6. Instalacin de un administrador de bases de datos (requiere apache)

    En esta parte se describe como instalar el administrado de bases de datos phpmyadmin.

    Las siguientes lneas permiten agregar los repositorios donde se alojan los paquetes para la instalacin de

    phpmyadmin.

    rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6

    rpm -ihv http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

  • La siguiente lnea permite instalar phpmyadmin.

    yum install phpmyadmin

    La siguiente lnea crea un enlace simbolico de la carpeta /usr/share/phpMyAdmin, en la carpeta

    /var/www/html/phpmyadmin

    ln -s /usr/share/phpMyAdmin/ /var/www/html/phpMyAdmin

    Comentar las dos primeras lneas del archivo phpMyAdmin.conf

    nano /etc/httpd/conf.d/phpMyAdmin.conf

    #Alias /phpMyAdmin /usr/share/phpMyAdmin

    #Alias /phpmyadmin /usr/share/phpMyAdmin

    Editar una lnea del archivo config.inc.php para su empleo con mysql

    nano /etc/phpMyadmin/config.inc.php

    $cfg['blowfish_secret'] = 'mysql';

    Reiniciar el servicio del servidor web

    service httpd restart

    Al ingresar en un navegador web con la direccin del servidor de bases de datos se observa la siguiente

    interfaz

  • 7. Transferencia de archivos

    a. Configuracin Inicial

    A continuacin se presenta una forma para la transferencia de archivos hacia la mquina virtual empleado el Adaptador slo-anfitrin / Virtualbox Host-Only Ethernet Adapter y direcciones IP estticas. Esta operacin tambin se puede realizar en modo adaptador puente para direcciones IP estticas Nota: El adaptador Virtualbox Host-Only Network del equipo anfitrin se puede configurar tambin desde

    el panel de control de Windows como se muestra a continuacin:

  • Para este punto se asume que la interfaz eth1 de la mquina virtual tiene la direccin ip 192.168.0.2 como se explica en el complemento taller 1 parte B. IP: 192.168.0.2 Mascara: 255.255.255.0

    b. Transferencia de archivos usando SCP

    Para traer un archivo desde la mquina virtual: scp -r usuario_remoto@host_remoto:/directorio_o_ficheros_que_traer directorio_destino Ejemplos: scp -r daniel@argus:/home/daniel/documentos/*.doc ./DOCUMENTOS scp -r [email protected]:/home/daniel/documentos/*.doc ./DOCUMENTOS Se traera todos los ficheros *.doc del directorio /home/daniel/documentos de la maquina argus 192.168.0.2 y los dejara en el directorio ./DOCUMENTOS de la maquina local. Para enviar un archivo hacia la mquina virtual: scp calendario.xls daniel@argus:/home/daniel/Personal scp calendario.xls [email protected]:/home/daniel/Personal Copiara el fichero calendario.xls en el directorio /home/daniel/personal/ de la maquina argus 192.168.0.2 para el usuario daniel. Nota: recuerde que para el funcionamiento de Scp (secure copy o copia segura) se requiere tener activo ssh.

    c. Transferencia de archivos usando WinSCP

    Nota: Tambin puede emplear un cliente FTP como Filezilla que soporte transferencia de archivos segura (SFTP) ya que esta usa el puerto 22.

  • Descargar en el equipo anfitrin el software de nombre WinSCP desde el enlace: http://winscp.net/eng/download.php Ejecutar el software WinSCP, realizar la configuracin que se muestra a continuacin y hacer clic en conectar:

    Empleando WinSCP copiar algn archivo a la mquina virtual y verificar que este archivo se almacena en la mquina virtual.

    8. Actividades Propuestas

  • 8.1 Conexin Servidor Web Servidor de Base de Datos. Documente cada una de las lneas de los

    archivos script.sql y seleccionar.php proporcionados en esta gua.

    8.2 Sistema de archivos en Centos. Describa los tipos de archivos que almacenan las carpetas en el

    directorio raz de Centos.

    8.3 Instalacin de paquetes en Centos. Empleando la herramienta YUM instale el programa screen,

    consigne la utilidad del programa y por medio de un ejemplo ilustre su funcionamiento

    8.4 Scripts en Centos. Investigue sobre la creacin de scripts de ejecucin automtica en Linux por

    medio de crontab. A partir de los comandos disponibles en Centos cree un script por medio del

    editor de textos nano que se ejecute todos los viernes a las 7:00am.

    Nota: Puede encontrar una lista de comandos para Linux en el siguiente enlace:

    http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=155