Implementación de Cloud Computing con Software Libre y medidas de seguridad para evitar ataques - Luis Cano

  • 6,673 views
Uploaded on

Luis Cano

Luis Cano

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • hola no se si en verdad te pones en contacto con los que te piden la ayuda pero yo también estoy haciendo un proyecto con cloud conputing si me puedes dar unos consejos te lo agradecere mucho
    Are you sure you want to
    Your message goes here
  • Hola Luis muy buenala presentación, actualmente estoy haciendo mi tesis de Ingeniería sobre este tema, me gustaría contactarme con vos para charlar sobre este tema.

    Muchas Gracias!
    Are you sure you want to
    Your message goes here
  • Buena presentación Luis. actualmente estoy con un semillero de Cloud Computing y me gustaria poder conversar un poco más contigo. puedes permitirnos descargar la presentación?. Saludos desde Medellín.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
6,673
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
6
Comments
3
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Implementación deCloud Computing con Software Libre @LuisCano http://hackbo.co Junio 30/2011
  • 2. Temario1. Cloud Computing2. Virtualización3. Herramientas de Software Libre ó Código Abierto para la Nube4. Procedimiento para Implementar Cloud Computing en escenarios virtuales5.Conclusiones6.Bibliografía
  • 3. ¿Qué nos vende la Industria?• Acceso a nuestras aplicaciones remotas• Uso de navegador• Realización de Backups• Si hay un límite, tendrá un costo adicional• Ubicuidad. Estar en todas partes
  • 4. Pero …• Mantiene una serie de aplicaciones cerradas difíciles de mejorar y/o de adecuar• Se depende de otros aunque los datos sean nuestros• ¿En dónde están nuestros datos?• ¿Hasta qué punto mantenemos nuestra privacidad (datos, fotos, etc)?
  • 5. Cloud Computing• Es un modelo que permite el acceso bajo demanda a unos recursos compartidos de cómputo, (por ej. redes, servidores, almacenamiento, aplicaciones y servicios) que pueden ser rápidamente tomados y liberados con una mínima administración e interacción del prestador de servicios.• Ofrece características esenciales como: – Amplio acceso a la red, – Elasticidad y rapidez, – Servicio supervisado – Autoservicio a la carta (NIST)
  • 6. Estadísticas de usar la NubeFuente: http://www.cloudhypermarket.com/
  • 7. Estadísticas de usar la Nube• La Nube mejora: – Los procesos tecnológicos – Reduce el costo de infraestructura – Mejora la experiencia del usuario final. Fuente: http://www.cloudhypermarket.com/
  • 8. Estadísticas de usar la NubeFuente: http://www.cloudhypermarket.com/
  • 9. Estadísticas de usar la NubeFuente: http://www.cloudhypermarket.com/
  • 10. Barreras en la NubeFuente: IBM -2009 http://www.slideshare.net/luisaguilarmateo/cloud-computing-la-visin-prctica-de-ibm
  • 11. Cloud Computing
  • 12. Modelos de Nube• Se distinguen en sí la nube es compartida o no por múltiples clientes – Tipos • Públicas – Manejadas por terceros – Las aplicaciones comparten servidores, almacenamiento y redes – Más grandes que las privadas, tarifas más bajas • Privadas – Construidas para el uso exclusivo de un cliente – Mayor control sobre datos, seguridad, calidad de servicio – Ubicadas dentro o fuera de la empresa • Híbridas – Combina modelos anteriores, escala utilizando recursos de la nube pública si no alcanza la privada – Problemas de cómo distribuir las aplicaciones entre la nube pública y la privada
  • 13. Software as a Service (SaaS)• Modelo de distribución de software donde una empresa sirve el mantenimiento, soporte y operación que usará el cliente durante el tiempo que haya contratado el servicio.• El cliente usará el sistema alojado por esa empresa, la cual mantendrá la información del cliente en sus sistemas y proveerá los recursos necesarios para explotar esa información.• Ejemplos: – Salesforce http://www.salesforce.com/ , – Basecamp. http://basecamphq.com/
  • 14. Infrastructure as a Service (IaaS)• Modelo de distribución de infraestructura de computación como un servicio, normalmente mediante una plataforma de virtualización.• En vez de adquirir servidores, espacio en un centro de datos o equipamiento de redes, los clientes compran todos estos recursos a un proveedor de servicios externo.• Una diferencia fundamental con el hosting virtual es que el provisionamiento de estos servicios se hacen de manera integral a través de la web.• Ejemplos: – Amazon Web Services EC2 http://aws.amazon.com/es/ec2/ – GoGrid. http://www.gogrid.com/
  • 15. Platform as a Service (PaaS)• Suele identificarse como una evolución de SaaS.• Es un modelo en el que se ofrece todo lo necesario para soportar el ciclo de vida completo de construcción y puesta en marcha de aplicaciones y servicios web completamente disponibles en Internet.• Otra característica importante es que no hay descarga de software que instalar en los equipos de los desarrolladores.• PaaS ofrece múltiples servicios, pero todos provisionados como una solución integral en la web.• Ejemplos: – Aunque algunos servicios de Amazon Web Services como SimpleDB http://aws.amazon.com/es/simpledb/ y SQS http://aws.amazon.com/es/sqs/ – Google App Engine. http://code.google.com/intl/es-ES/appengine/
  • 16. Temario1. Cloud Computing2. Virtualización3. Herramientas de Software Libre ó Código Abierto para la Nube4. Procedimiento para Implementar Cloud Computing en escenarios virtualesConclusionesBibliografía
  • 17. Virtualización• Es una tecnología que permite instalar y configurar múltiples computadoras y/o servidores completamente independientes (conocidas como “virtual machines” o “maquinas virtuales”) en una sola “caja” física, ya sea una computadora, servidor, “appliance”, etc.
  • 18. Ventajas de la Virtualización
  • 19. Soluciones que sepueden virtualizar
  • 20. Temario1. Cloud Computing2. Virtualización3. Herramientas de Software Libre o Código Abierto para la Nube4. Procedimiento para Implementar Cloud Computing en escenarios virtualesConclusionesBibliografía
  • 21. Software LibreMapa Conceptual
  • 22. Software Libre (Free Software) Richard StallmanSe basa en:1. La libertad de usar el programa, con cualquier propósito.2. Estudiar el funcionamiento del programa, y adaptarlo a las necesidades3. Distribuir copias, con lo que puede ayudar a otros.4. Mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie5. Para la segunda y última libertad mencionadas, el acceso al código fuente es un requisito previo.Free Software Foundationhttp://www.fsf.org/
  • 23. Open Source (Código Abierto) Eric Raymond• Licencia que se baso en la GPL y debe cumplir:1. Libre redistribución2. Código fuente3. Trabajos derivados4. Integridad del código fuente del autor5. Sin discriminación de personas o grupos6. Sin discriminación de áreas de iniciativa7. Distribución de la licencia8. La licencia no debe ser específica de un producto9. La licencia no debe restringir otro software10. La licencia debe ser tecnológicamente neutralhttp://www.opensource.org/
  • 24. Manifiesto de la Nube• Iniciativa hecha por: IBM, Akamai, AT&T, Cisco, Novell, Red Hat, Rackspace, Sun, Telefónica, VMWare y otras más.• Busca que la Nube debe ser abierta y no cerrada, y cómo se debe desarrollar la misma• http://www.opencloudmanifesto.org/• http://gevaperry.typepad.com/Open%20Cloud%20M anifesto%20v1.0.9.pdf
  • 25. Manifiesto de la NubeLos principios sobre los que se basa para asegurar que semantenga la libertad de elección, flexibilidad y aperturadentro de la nube, son:1. Trabajar juntos para que los retos fundamentales en laadopción sean solucionados mediante colaboraciónabierta y el uso adecuado de los estándares.2. No utilizar su posición de mercado para convertir a susclientes en cautivos de una plataforma concreta y limitarsu libertad de elección.3. Usar y adoptar los estándares existentes siempre quesea posible, para evitar así reinventarlos o duplicarlos.
  • 26. Manifiesto de la Nube 4. Recurrir con prudencia a la creación de nuevosestándares, y cuando así sea por necesidad, hacerlocon pragmatismo, reduciendo el número deestándares necesarios, y asegurando que éstospromueven la innovación en lugar de inhibirla.5. Llevar a cabo iniciativas en función de lasnecesidades del cliente, no de las necesidadestécnicas de los proveedores.6. Trabajo conjunto y coordinado de todos losactores implicados para evitar que sus iniciativasentren en conflicto o se solapen.
  • 27. Open Cloud Consortium (OCC)• Creada en el 2009• Buscar mejorar el rendimiento de las nubes informáticas y de almacenamiento dispersas geográficamente en distintos centros de datos a nivel mundial• Promover el uso de sistemas abiertos que permitan a las nubes operadas por diferentes entidades interoperar entre sí sin fisuras.• http://opencloudconsortium.org
  • 28. Herramientas de Software Libre o Código Abierto OS para la Nube• Con el fin de buscar herramientas que respeten lo pactado por el OCC y el manifiesto de poder obtener una Nube Abierta, a diferencia de las soluciones MS, se muestran algunas herramientas que han tenido éxito y que son 100% multiplataformas, permitiéndo que un usuario pueda tener su propia infraestructura en la Nube
  • 29. eyeOS• Consiste en un escritorio virtual multiplataforma, libre y gratuito. De licencia AGPL. Trabaja HTML, PHP, AJAX y JavaScript http://eyeos.org/• Se puede personalizar, modificar, mantiene la filosofía del Open Cloud y ha sido ganadora de varios premios.
  • 30. eyeOS• Pros: Además es fácil de usar, accesible desde cualquier ordenador, cuenta con aplicaciones imprescindibles y da la posibilidad de subir archivos• Contras: No puede usarse sin conexión y solo compatible con sus propias aplicaciones
  • 31. eyeOS Seguridad• La comunidad es la encargada de probar y notificar a los developers cualquier fallo, y el equipo de trabajo junto con Lars Knickrehm en un plazo rápido suministran la corrección lo más pronto posible.• EJ: Una vulnerabilidad de XSS corregida en Abril 2011, detectada gracias a los usuarios de la comunidad que afectaba las versiones 1.x. La 2.x no es vulnerable.• Consistía en subir un HTML renombrarlo por png ó jpg y <!doctype html> <script>alert("XSS done");</script>, y se genera el error al utiliza el visor de imagenes.
  • 32. eyeOS Seguridad• El sitio tiene fuerte medidas de seguridad, con un crecimiento medio de 400 usuarios al día, además utiliza firewalls, backups c/24 horas y formateos mensuales como medida preventiva en caso de que algún código malicioso se lograra infiltrar.• Como medida preventiva adicional, toda la comunicación que se haga dentro del sitio, y todo contenido almacenado por los usuarios queda totalmente cifrado y sin acceso por parte de sus administradores, lo que da una ventaja adicional en cuanto a privacidad de uso.• Al ser de código GPL; cualquiera puede descargar el código e instalarlo en su propio servidor, garantizando la confidencialidad total de los datos.• Por desgracia, al funcionar sobre un SO anfitrión, hereda todas las limitaciones en cuanto a seguridad. Al igual que el navegador (browser) por lo tanto se tiene que tener cuidado al respecto
  • 33. Amazon EC2 Amazon Elastic Compute Cloud (Amazon EC2) es un servicio Web que cuenta con una serie de imágenes de máquina preconfiguradas (AMIs)<http://aws.amazon.com/ec2/>
  • 34. Amazon EC2Es uno de los IaaS más populares, y la Web 2.0 está presente :• Dropbox https://www.dropbox.com/• Quora http://www.quora.com/• HootSuite http://hootsuite.com/• CoTweet http://cotweet.com/• Reddit http://www.reddit.com/• Foursquare https://es.foursquare.com/• Fayerwayer http://www.fayerwayer.com/• El PaaS Heroku http://www.heroku.com/• Paper.li http://paper.li/• Mobypicture http://www.mobypicture.com/• Twilio http://www.twilio.com/
  • 35. Amazon EC2• Pros: Es una infraestructura distribuida• Contras: En Abril 21/2011, se vieron afectados varios servicios de la Web 2.0, debido a inconvenientes con la latencia en la respuesta y las errores de conectividad.
  • 36. Eucalyptus-Cloud• Es un proyecto Open Source (IaaS), compatible con Google App, Amazon EC2, etc, permitiendo soportar múltiples interfaces, y de licencia FreeBSD. Funciona con el sistema operativo GNU/Linux y permite implementar Clouds privados e híbridos. http://www.eucalyptus.com
  • 37. Eucalyptus-CloudPros: Fácil de instalar, documentación completa, políticas de colocación simple, posibilidad de configurar múltiple clúster en un sola nube, racionaliza el consumo energético al permitir poner en reposo aquellos nodos de computación que no estén albergando máquinas virtuales en funcionamiento.
  • 38. Open Stack• Es una plataforma de código abierto, simple y escalable, avalada por Rackspace y la NASA, que aporta la plataforma Nebula, bajo licencia Apache 2.0.• OpenStack es también una comunidad de proveedores de servicios Cloud y fabricantes de tecnología (como DELL, Citrix e Intel entre otras) que se dedica al desarrollo de infraestructuras de software libre para arquitecturas Cloud públicas, privadas e híbridas.• Ofrece servicios de Cloud Files y Cloud Servers, para que usuarios y/o empresas creen sus propios servicios de Cloud Computing privados o públicos, desarrollados en Python.• http://www.openstack.org/
  • 39. OpenStack• Cuenta con otros servicios como:• OpenStack Compute: que permite gestionar el despliegue y ejecución de aplicaciones a través de múltiples servidores.• OpenStack Object Storage: permite gestionar el almacenamiento de datos en varios servidores que trabajen de manera conjunta en clústers, para conseguir un almacenamiento masivo de objetos estáticos, de manera supérflua y fiable.• La tecnología Nova, se basa en el protocolo de mensajeria AMQP y es el sistema utilizado en la NASA para proveer sistemas de virtualización bajo demanda.• Además, por su manejo fácil, una persona puede implementar en su hogar su propio Cloud http://dodeeric.louvrex.net/?p=225
  • 40. Cloud Foundry• Lanzada en Mayo 24/11 por Vmware y consiste en un (PaaS) bajo los estándares del Open Source.• Soporta múltiples Frameworks, proveedores Cloud y servicios de aplicaciones.• Su utilidad reside en que permite acortar los tiempos necesarios para diseñar una aplicación, construir el código, y finalmente trasladarla a la nube, usando una solución PaaS abierta.• Las herramientas que utiliza la plataforma son Spring Source (adquirida por VMware en 2009) para desarrolladores Java, Rails y Sinatra para desarrolladores Ruby, y Node.js y otros frameworks JVM incluyendo Grails.• http://www.cloudfoundry.com/
  • 41. Cloud Foundry• Cloud Foundry presenta un buen grado de portabilidad• La plataforma no está vinculada a ningún entorno especial, soporta nubes privadas o públicas, incluyendo las desplegadas en VMware vSphere, las desarrolladas por vCloud de VMware, nubes públicas no VMware y, además, Amazon Web Services de RightScale.• Cloud Frondry está disponible en tres formatos: – CloudFoundry.com: Un ambiente PaaS completamente hospedado, administrado y soportado por VMware. – CloudFoundry.org: Un proyecto Open Source donde los desarrolladores y los miembros de la comunidad pueden colaborar y contribuir al proyecto. – Cloud Foundry Micro Cloud: Una instancia completa del proyecto Cloud Foundry, creada idealmente para los Desktops de los desarrolladores, la cual estará disponible proximamente. De esta forma dota a los desarrolladores de una PaaS personal que se ejecuta en sus propios escritorios. Micro Cloud se podrá descargar como una imagen para VMware Fusion y VMware Player.
  • 42. Abicloud• Es un software open source y multiplataforma desarrollado por una empresa de Barcelona para la gestión de Cloud Computing• Permite la creación de data centers virtuales por si varias empresas quieren utilizar la misma infraestructura física y también aplicaciones virtuales que pueden estar compuestas de varias máquinas virtuales.• http://wiki.abiquo.com/display/ABI17/Abiquo+Documentation+Home
  • 43. OpenNebula• Es una herramienta de Cloud Computing de Open Source orientada al manejo de infraestructuras de data center distribuida heterogéneas., bajo licencia Apache.• Administras Infraestructuras virtuales de DataCenter• Combina tecnologías de virtualización, almacenamiento y redes.• Se puede construir IaaS Cloud públicas, privadas e hibridas.• Forma parte de las tecnologías de Cloud de Morfeo http://www.morfeo-project.org/ junto con la Nuba http://nuba.morfeo- project.org/ y Claudia http://claudia.morfeo-project.org/• Implementa clouds híbridos mediante la combinación de infraestructura propia (privada) y pública que obtiene de proveedores externos como Amazon EC2 y ElasticHosts.• Dispone interfaces EC2 Query y OCCI del OGF (Open Grid Forum)• http://opennebula.org/
  • 44. CloudStack• Es un software open source que permite efectuar el despliegue, la configuración y la gestión de entornos de computación elástica.• Permite construir cualquier tipo de cloud (privado, público e híbrido) y soporta los hipervisores Xen Server y KVM.• CloudStack es fácil de instalar, pero la documentación del sitio oficial es deficiente.• Tiene la posibilidad de definir máquinas virtuales de alta disponibilidad que el sistema mantendrá en funcionamiento sin intervención del usuario o del administrador del sistema, la posibilidad de efectuar la instalación por medio del interfaz Web de una nueva máquina virtual empelando una imagen ISO de instalación y la posibilidad de efectuar balanceo de carga entre máquinas virtuales;• Se puede acceder a la máquina virtual en modo gráfico por medio del interfaz Web.• Es un gestor muy recomendable en aquellos entornos en los que sea imprescindible efectuar la gestión de las máquinas por medio de interfaz Web.• http://cloudstack.org/
  • 45. Temario1. Cloud Computing2. Virtualización3. Herramientas de Software Libre ó Código Abierto para La Nube4. Procedimiento para Implementar Cloud Computing en escenarios virtuales5.Conclusiones6. Bibliografía
  • 46. Procedimiento para implementar La Nube en Escenarios Virtuales
  • 47. Temario1. Cloud Computing2. Virtualización3. Herramientas de Software Libre ó Código Abierto para La Nube4. Procedimiento para Implementar Cloud Computing en escenarios virtuales5.Conclusiones6. Bibliografía
  • 48. Conclusiones• Cualquier investigador puede incursionar en ellas sin tener infraestructura tecnológica física• Se pueden hacer esquemas de configuración y seguridad para analizar y comprender problemas futuros que se puedan presentar, en desempeño e implementación.• Las herramientas de software libre ó de código abierto facilitan la incorporación de infraestructuras de Cloud Computing utilizando los modelos de despliegue SaaS, PaaS o IaaS.• Las empresas y/o instituciones que cuentan con una infraestructura tecnológica actual, la pueden convertir en un SaaS, PaaS o IaaS sin invertir en muchos recursos tecnológicos.• En caso de encontrarse alguna falla o vulnerabilidad, la comunidad es la encargada de informar de inmediato a los developers respectivos para que lo corrijan lo más pronto.• Mantenga instaladas las últimas versiones estables
  • 49. Y Recuerden …• El Software y el conocimiento no tienes que pagarlo, compártelo• Compartir No Es Robar ni Piratear No al modelo como esta planteado #LeyLleras• “Lo que ustedes recibieron gratis, denlo gratuitamente.” Mateo 10:8 (Biblia - Nueva Versión Internacional) http://www.buscad.com/biblias/nueva- version-internacion.html• Visita http://RedPaTodos.co e http://Indignate.Co
  • 50. Temario1. Cloud Computing2. Virtualización3. Herramientas de Software Libre ó Código Abierto para La Nube4. Procedimiento para Implementar Cloud Computing en escenarios virtuales5.Conclusiones6. Bibliografía
  • 51. Bibliografía• AMS - AMAZON WEB SERVICES (2010) . Amazon Elastic Compute Cloud (Amazon EC2) http://aws.amazon.com/ec2/• CSA–CLOUD SECURITY ALLIANCE (2009). Security Guidance Critical Areas of Focus in Cloud Computing V 2.1 < http://www.cloudsecurityalliance.org/>• EYEOS (2010). Escritorio Virtual Multiplataforma basado en el Cloud Computing < http://eyeos.org/>• EUCALYPTUS (2010). Eucalyptus Cloud < http://www.eucalyptus.com/>• NIST - National Institute of Standards and Technology (2009) Effectively and Securely Using the Cloud Computing Paradigm < http://www.csrc.nist.gov/groups/SNS/cloud-computing/index.html>• VMWARE (2010) Cloud Computing Services with VMware Virtualization. http://www.vmware.com/solutions/cloud-computing/• Open Cloud Manifiesto http://www.opencloudmanifesto.org/• Open Cloud Consortium http://opencloudconsortium.org• Comparativa Clouds http://forge.cesga.es/docman/view.php/31/587/DO_SIS_formigacloud_comparati va_software_gestion_cloud_V2.pdf
  • 52. HackBo• Somos un grupo de personas con diferentes profesiones interesadas en compartir intereses comunes basados en la tecnología
  • 53. HackBo• Son las iniciales de Hackerspace de Bogotá, y nuestro interés pasar un grato agradable con las cosas que más nos gustan (tecnología).
  • 54. HackBoSe realizan talleres, conferencias y reuniones relacionado con temas de interés, como por ejemplo Arduino, una plataforma de Hardware Libre.
  • 55. HackBo • Centro Cultural El Eje Calle 17 #2-51 .Diagonal Estación las Aguas de Transmilenio • Reuniones sábados 9:00AM – 4:00PM • http://hackbo.coUn sitio físico y virtual gestionado comunitariamente donde nosreunimos para encontrarnos, conversar, explorar y trabajar enproyectos relacionados con tecnologías digitales.
  • 56. ¿PREGUNTAS? Espero que ninguna !!! GRACIAS ¡¡¡ Ing. Luis Eduardo Cano@luiscano (identi.ca / twitter) http://hackbo.co http://mozillacolombia.org http://redpatodos.co http://indignate.co