Prowler v3 – Piece of Mind

Today we are releasing a new major version of Prowler ūüéČūü•≥ūüéäūüćĺ, the Version 3 aka Piece of Mind.

Take Prowler v3 as our ūüéĄChristmas gift ūüéĀ for the Cloud Security Community.

Artwork property of Iron Maiden

Piece of Mind was the fourth studio album of Iron Maiden. Its meaning fits perfectly with what we do with Prowler in both senses: being protected and at the same time, this is the software I would have wanted to write when I started Prowler back in 2016 (this is now, more than ever, a piece of my mind). Now this has been possible thanks to my awesome team at Verica.

No doubt that 2022 has been a pretty interesting year for us, we launched ProwlerPro and released many minor versions of Prowler. Now enjoy Sun and Steel while you keep reading these release notes.

If you are an Iron Maiden fan as I am, you have noticed the latest minor release of Prowler (2.12) was a song from this very same album, just a clue of what was coming! In Piece of Mind you can find one of the most popular heavy metal songs of all times, The Trooper, which will be a Prowler version to be released during 2023.

Prowler v3 is more than a new version of Prowler, it is a whole new piece of software, we have fully rewritten it in Python and we have made it multi-cloud adding Azure as our second supported Cloud Provider. Prowler v3 is also way faster, being able to scan an entire AWS account across all regions 37 times faster than before, yes! you read it correctly, what before took hours now it takes literally few minutes or even seconds.

Toni de la Fuente.

New documentation site:

We are also releasing today our brand new documentation site for Prowler at and it is also stored in the docs folder in the repo.

What’s Changed:

Here is a list of the most important changes in Prowler v3:

  • ūüźć Python: we got rid of all bash and it is now all in Python. pip install prowler then run prowler that‚Äôs all.
  • ūüöÄ Faster: huge performance improvements.
    Scanning the same account takes from 2.5 hours to 4 minutes.
  • ūüíĽ Developers and Community: we have made it easier to contribute with new checks and new compliance frameworks. We also included unit tests and native logging features. And now the CLI supports long arguments and options.
  • ‚ėĀÔłŹ Multi-cloud: in addition to AWS, we have added Azure.
  • ‚úÖ Checks and Groups: all checks are now more comprehensive and we provide resolution actions in most of them. Their ID is no longer tight to CIS but they are self-explanatory. Groups now are dynamically generated based on checks metadata like services, categories, severity and more).
  • ‚öĖÔłŹ Compliance: we are including full support for CIS 1.4, CIS 1.5 and the new Spanish ENS in this release, more to come soon! Compliance also has its own output file with their own metadata and to create your own is easier than ever before making more comprehensive reports.
  • ūüß© Compatibility with v2: most of the options are the same in this version in order to support backward compatibility however some options like assume role or AWS Organizations query are now different and easier to use.
  • ūüĒĄ Consolidated output formats: now both CSV and JSON reports come with the same attributes and compared to v2, they come with more than 40 values per finding. HTML, CSV and JSON are created every time you run prowler.
  • ūüďä Quick Inventory: introduced in v2, we have fine tuned the Quick Inventory feature and now you can get a list of all resources in your AWS accounts within seconds.

Prowler new default overview:


Prowler updated HTML report:


Prowler compliance overview:


Prowler list of Azure checks:


What is coming next?

  • More Cloud Providers and more checks: in addition to keep adding new checks to AWS and Azure, we plan to include GCP and OCI soon, let us know if you want to contribute!
  • XML-JUNIT support: we didn‚Äôt add that to v3, if you miss it, let us know in
  • Compliance: we will add more compliance frameworks to have as many as in Prowler v2, we appreciate help though!
  • Tags based audit: you will be able to scan only those resources with specific tags.

Prowler 2.0: New release with improvements and new checks ready for re:Invent and BlackHat EU

Taking advantage of this week AWS re:Invent and  next week BlackHat Europe, I wanted to push forward a new version of Prowler.

In case you are new to Prowler:

Prowler is an AWS Security Best Practices Assessment, Auditing, Hardening and Forensics Readiness Tool. It follows guidelines of the CIS Amazon Web Services Foundations Benchmark and DOZENS of additional checks including GDPR and HIPAA groups. Official CIS benchmark for AWS guide is here.

This new version has more than 20 new extra checks (of +90), including GDPR and HIPAA group of checks as for a reference to help organizations to check the status of their infrastructure regarding those regulations. Prowler has also been refactored to allow easier extensibility. Another important feature is the JSON output that allows Prowler to be integrated, for example, with Splunk or Wazuh (more about that soon!). For all details about what is new, fixes and improvements please see the release notes here:

For me, personally, there are two main benefits of Prowler. First of all, it helps many organizations and individuals around the world to improve their security posture on AWS, and using just one easy and simple command, they realize what do they have to do and how to get started with their hardening. Second, I’m learning a lot about AWS, its API, features, limitations, differences between services and AWS security in general.

Said that, I’m so happy to present Prowler 2.0 in BlackHat Europe next week in London! It will be at the Arsenal

and I’ll talk about AWS security, and show all new features, how it works, how to take advantage of all checks and output methods and some other cool things. If you are around please come by and say hello, I’ve got a bunch of laptop sticklers! Here all details,¬†Location:¬†¬†Business Hall, Arsenal Station 2.¬†Date:¬†Wednesday, December 5 | 3:15pm-4:50pm.¬†Track:¬†¬†Vulnerability Assessment.¬†Session Type: Arsenal


I want to thank the Open Source community that has helped out since first day, almost a thousand stars in Github and more than 500 commits talk by itself. Prowler has become pretty popular out there and all the community support is awesome, it motivates me to keep up with improvements and features. Thanks to you all!!

Prowler future?

Main goals for future versions are: to improve speed and reporting, including switch base code to Python to support existing checks and new ones in any language.

If you are interested on helping out, don’t hesitate to reach out to me. \m/

Bypassing AWS IAM: How important it is to look closely at your policies

If you are dealing everyday with dozens of users in AWS and you like to have (or believe that you have) control over them; that you like to believe that you drive them like a good flock of sheep, you will feel my pain, and I’ll feel yours.

We manage multiple AWS accounts, for many purposes. Some accounts with more restrictions than others, we kinda control and deny to use some regions, some instance types, some services, etc. Just for security and budget control (like you do as well, probably).

That being said, you are now a¬†‚Äúninja‚Ä̬†of AWS IAM because you have to add, remove, create, change, test and simulate easy and complex policies pretty much everyday, to make¬†your flock trustfully follow its shepherd.

But dealing with users is great to test the¬†strength of your policies. I have a policy where¬†explicitly denied a list of instance types to be used (a black list with¬†“ec2:RunInstances‚ÄĚ). Ok, it denies to create them, but not to stop them, change instance type and start them again.¬†You may end up feeling that your control is like this:

Let me show you all the technical details and a very self-explanatory demo in this video:

What do you think? Is it an expected¬†behavior? It is actually.¬†But I also think that the “ec2:ModifyInstanceAttribute” control should be more granular and should have “instanceType” somehow related to “ec2:RunInstances‚ÄĚ. A limitation from AWS IAM, I guess.
In case you want to try by yourself, here you go below all commands I used (you will have to change the instance id, profile and region), if you want to copy a similar IAM policy, look at here in my blog post How to restrict by regions and instance types in AWS with IAM:
# create an allowed instance
aws ec2 run-instances --image-id ami-c58c1dd3 \
--count 1 --instance-type t2.large --key-name sec-poc \
--security-group-ids sg-12b5376a --subnet-id subnet-11fe4e49 \
--profile soleng --region us-east-1

# check status
aws ec2 describe-instances --instance-ids i-0152bc219d24c5f25 \
--query 'Reservations[*].Instances[*].[InstanceType,State]' \
--profile soleng --region us-east-1

# stop instance
aws ec2 stop-instances --instance-ids i-0152bc219d24c5f25 \
--profile soleng --region us-east-1

# check status
aws ec2 describe-instances --instance-ids i-0152bc219d24c5f25 \
--query 'Reservations[*].Instances[*].[InstanceType,State]' \
--profile soleng --region us-east-1

# change instance type
aws ec2 modify-instance-attribute --instance-id i-0152bc219d24c5f25 \
--instance-type "{\"Value\": \"i2.2xlarge\"}" \
--profile soleng --region us-east-1

# start instance type
aws ec2 start-instances --instance-ids i-0152bc219d24c5f25 \
--profile soleng --region us-east-1

# check status
aws ec2 describe-instances --instance-ids i-0152bc219d24c5f25 \
--query 'Reservations[*].Instances[*].[InstanceType,State]' \
--profile soleng --region us-east-1

# terminate instance
aws ec2 terminate-instances --instance-ids i-0152bc219d24c5f25 \
--profile soleng --region us-east-1

Automate or Die! My next talk at RootedCON 2017 in Madrid

UPDATED!  My talk will be on March, Friday the 3rd at 11AM (Sala 25)
Regardless I’ve given many talks in Spain during the last 18 years, It has been a while since I don’t do a talk in a security congress. I think last time was NcN when I presented phpRADmin in 2006.
I have to confess that I was mad to talk at RootedCON. Living abroad for more than four years now, the RootedCON has been a reference event for Spanish speakers and I always have been following it very closely, I think it is one of the most popular security conferences in Spain.
Last year¬†I tried to attend¬†with a¬†“Docker¬†Security‚ÄĚ paper but it wasn‚Äôt good enough, and honestly I didn‚Äôt work much on the paper itself. This time I worked on a more decent paper (and better tittle as well) and voila! My talk was approved.
And what I‚Äôm gonna talk about? Security in IaaS, attacks, hardening, incident response, forensics and all about its automation. Despite I will talk about general concept related to AWS, Azure and GCP, I will show specific demos and threats in AWS and I will go in detail with some caveats and hazards in AWS. My talk is called ‚ÄúAutomate or die! How to survive to an attack in the Cloud‚ÄĚ and you have more details here.
If you are in Spain or around the place, don’t miss the opportunity to learn from people like Mikko Hypponen, Paul Vixie, Hugo Teso, Juan Garrido or Chema Alonso. As you may see in the full list, there are 3 days plenty of good material to improve your skills from very good professionals, they also offer a training day. And compared to the price of security cons in other countries, this one is not expensive at all.
My talk will be on March, Friday the 3rd at 11AM (Sala 25). Looking forward to see you there!

Security Monkey deployment with CloudFormation template

netflix-security-monkey-overview-1-638In order to give back to the Open Source community what we take from it (actually from the¬†Netflix awesome engineers), I wanted to make this work public, a CloudFormation template to easily deploy and configure Security Monkey in AWS. I’m pretty sure it will help many people to get their AWS infrastructure more secure.

Security Monkey is a tool for monitoring and analyzing the security of our Amazon Web Services configurations.

You are maybe thinking on AWS CloudTrail or AWS Trusted Advisor, right? This is what the authors say:
“Security Monkey predates both of these services and meets a bit of each services‚Äô goals while having unique value of its own:
CloudTrail provides verbose data on API calls, but has no sense of state in terms of how a particular configuration item (e.g. security group) has changed over time. Security Monkey provides exactly this capability.
Trusted Advisor has some excellent checks, but it is a paid service and provides no means for the user to add custom security checks. For example, Netflix has a custom check to identify whether a given IAM user matches a Netflix employee user account, something that is impossible to do via Trusted Advisor. Trusted Advisor is also a per-account service, whereas Security Monkey scales to support and monitor an arbitrary number of AWS accounts from a single Security Monkey installation.”

cloud-formationNow, with this provided CloudFormation template you can deploy SecurityMonkey pretty much production ready in a couple of minutes.

For more information, documentation and tests visit my Github project:

Deploying an Alfresco cluster in Amazon AWS in just minutes

I have been playing with Amazon Web Services since few months ago. AWS is for a SysAdmin like Disneyland is for a 8 years old child, I enjoy so much doing this kind of stuff.
If you are not familiar with AWS products/services, let me describe with Amazon words and in my own words what are the most important services and concepts we have been using for deploying an Alfresco on-premise installation in AWS:

  • EC2: virtual servers in the cloud.
  • VPC: isolated cloud resources. Yes, a real isolated cloud architecture and resources.
  • S3: Scalable storage, like a CAS (Content Addressable Storage) for your local or cloud servers.
  • RDS: Managed Relational Database Service (MySQL, Oracle or MS SQL Server).
  • ELB: Elastic Load Balancer, as part of EC2 allows you to create load balancers easily.
  • CloudFormation: Templated AWS resource creation. *This is why I’m writing this article. A CloudFormation template is a json file which creates a wizard and options based in our needs.
  • AWS Region: a location with multiples AZ¬†.
  • AZ: Availability Zone (data centers¬†connected through low-latency links in the same region).

Once said so, my colleague Luis Sala has been working together with the Amazon AWS crew and they have made a CloudFormation template to deploy an Alfresco cluster in just minutes. This template is available here:

This CloudFormation template will create a 2 nodes Alfresco cluster inside a virtual private cloud (VPC), a Load Balancer (ELB) with sticky sessions bases on the Tomcat JSESSIONID, a shared ContentStore based on S3, a shared MySQL DB based on a RDS instance. Each Alfresco node will be in a separate Availability Zone and finally the template includes auto-scaling roles for add extra Alfresco nodes when some thresholds are reached.

We will have something like the diagram below, I say “like this” because we will have only 2 Alfresco nodes in the cluster and the auto-scaling will add more nodes in case of¬†thresholds are reached (clic to see it bigger).


Finally in the video below you can see step by step a real CloudFormation deployment, I think the video screencast is self-explanatory, it does not have audio. As you can see, the video is 6 minutes length after cropping some dead times but it was around 15 minutes total.

I thought it is a very interesting approach about Alfresco clustering and it worth it to share with you all. Any question or feedback is welcome, even in spanish or english ūüėČ

Multitenancy en Alfresco

multitenant_small2Desde hace unas cuantas versiones, Alfresco incorpora la caracter√≠stica “Multi-Tenant”, podemos traducirlo como “Multi-Inquilino”, ¬Ņy que significa eso? Alfresco permite que varios inquilinos independientes (Alfrescos independientes) puedan ser alojados en una √ļnica instancia, es decir, tenemos un Alfresco con un repositorio y que lo va a usar una organizaci√≥n, pues si activamos el MT, tendremos un Alfresco, que se “virtualiza” a si mismo y dispone de repositorios f√≠sicos independientes con un mismo punto de entrada y a trav√©s del nombre de usuario, el sistema sabr√° de que Tenant se trata.

Vamos a ver esto en el mundo real, así saldremos de dudas. Antes de seguir, recuerda que está todo documentado en la Wiki de Alfresco, en la sección MultiTenant. En este caso veremos como trabajar con MT en Alfresco Enterprise 3.2 pero aplicable a otras versiones.

Primero vamos a ver como se activa MT:

Vamos al directorio mt dentro de <extension>:

# cd $INSTALACION_DEL_TOMCAT/shared/classes/alfresco/extension/mt

Renombramos los tres archivos .sample que encontramos (son 3), no hay que modificar nada dentro de ellos, por defecto funciona correctamente, los podemos renombrar de uno en uno o todos a la vez con este comando:

# for i in *.sample; do mv "$i" "`basename $i .sample`"; done

Hecho esto, reiniciamos Alfresco y en los logs deberemos ver algo nuevo relacionado con el cambio que hemos hecho:

18:21:42,680 User:System INFO  [repo.tenant.MultiTAdminServiceImpl] Alfresco Multi-Tenant startup 
- 0 enabled tenants, 0 disabled tenants
18:21:58,027  INFO  [service.descriptor.DescriptorService] Alfresco started 
(Enterprise - Multi-Tenant): Current version 3.2.0 (304) schema 3400 - Originally installed 
version 3.2.0 (304) schema 3400

OK, ahora vamos a ver si es verdad. Lo primero que debemos hacer es autenticarnos en Alfresco Explorer como administrador, en http://localhost:8080/alfresco admin/admin y listo.

Ahora ponemos la siguiente URL para acceder a la consola de administración de MT:



En esa misma web podemos ver toda la ayuda que nos brinda la consola para ver, crear, borrar, habilitar, deshabilitar, cambiar contrase√Īa, exportar e importar Tenants.

Vamos a ver unos ejemplos de cómo crear un tenant y empezar a trabajar con él.

Escribimos en la linea de comandos:

create password /opt/alfresco-enterprise-3.2.0/alf_data_blyx

Esto tardará unos segundos, en función de lo rápida que sea nuestra máquina. Cuando veamos el mensaje

created tenant:” se habr√° creado el nuevo tenant… explicaci√≥n redundante ūüėČ

¬ŅY realmente que hace ese comando que hemos lanzado? Crea un tenant vac√≠o y activo. Tendr√° como administrador del mismo (para crear usuarios, grupos, etc.) un usuario llamado admin@<tenantdomain> en mi caso, [email protected], con la contrase√Īa “password”. Todos los usuarios que accedan a ese tenant lo deber√°n hacer usando “[email protected]“. El repositorio f√≠sico (contentstore) estar√° en el directorio indicado en el comando.

Ahora podemos acceder a nuestro Tenant como admin y ver que realmente tenemos un repositorio totalmente vacío y disponible. Accediendo a nuestro sistema http://localhost:8080/alfresco con las credenciales de administrador del tenant correspondiente.


¬ŅQu√© puede hacer el administrador del tenant?

  • Gestionar los usuarios del sistema¬† (incluyendo cuotas).
  • Gestionar grupos.
  • Gestionar categor√≠as.
  • Importar.
  • Exportar (incluyendo el repositorio completo del tenant).
  • Acceso a la informaci√≥n del sistema (System Information en la consola de administraci√≥n).
  • Acceso al Node Browser (consola de administraci√≥n).
  • Alfresco Share tambi√©n como tenant.
  • Acceso Webdav.
  • Acceso FTP.
  • WebScripts propios, para ello deben requerir autenticaci√≥n para conocer de que tenant se trata.
  • Personalizaci√≥n de modelos, webclient, workflows y dem√°s a trav√©s de los Modelos Din√°micos y de la consola de repositorio.
  • Acceso del usuario invitado (guest) en el contexto del tenant, es decir, como guest@dominio.
  • Soporta clustering de forma nativa.
  • Los m√≥dulos AMP instalados en el dominio por defecto estar√°n disponibles para los dem√°s tenants.

¬ŅQu√© no podemos hacer a√ļn con los tenants o qu√© no est√° soportado? Info extraida de la wiki y basado en la versi√≥n 3.2.

  • El soporte a CIFS no est√° soportado actualmente.
  • La autenticaci√≥n s√≥lo puede ser la nativa de Alfresco, por ahora no soporta autenticaci√≥n externa (LDAP, NTLM, etc).
  • WCM / Web Studio no soportado.
  • Portlets.
  • Borrar un tenant.
  • Correo electr√≥nico entrante.
  • Replicaci√≥n del repositorio.
  • IMAP.
  • SPP / VTI (SharePoint Protocol).

Como veis, es una solución orientada a los servicios, a la nube. Espero que os sea de utilidad, por lo menos para saber de que va esto del Multitenant del que tanto se oye hablar.

Digitalización, scanning y OCR con Alfresco

alfresco-logoEn el paradigma “oficina sin papeles”, intervienen muchos actores, siendo los principales las personas, que deben ajustarse a una serie de procedimientos y metodolog√≠as, y los sistemas de informaci√≥n, que deben proveer soluciones al paradigma.

En cuanto a complejidad, un proyecto de “Paperless Office” es tan dif√≠cil y en ocasiones frustrante como un proyecto de “Single Sign” o “Identity Management” en grandes organizaciones consolidadas ya sean p√ļblicas o privadas. El problema principal son, por un lado las soluciones Open Source de calidad, que no son muchas, los requerimientos t√©cnicos del cliente dados muchas veces por aplicaciones obsoletas y heredadas.

Con Alfresco, gracias a caracter√≠sticas como el soporte CIFS, Webdav, reglas, transformaci√≥n de formatos, workflow o indexaci√≥n, conseguimos aproximarnos a nuestro objetivo, aunque en una oficina sin papeles necesitar√≠amos integrarnos con otras soluciones como firma digital, etc, que ya contemplar√© alg√ļn d√≠a por estos lares.

En este caso me gustaría contar qué puede hacer Alfresco por nosotros en cuanto a digitalización de documentos, escaneo masivo (bulk scan) y OCR:

a) Ad-hoc scanning: usando CIFS o Webdav con la extracci√≥n de metadatos autom√°tica (por defecto). La mayor√≠a de las impresoras/escaner multifunci√≥n modernas de oficina y de cierta envergadura soporta montar vol√ļmenes remotos (conectarse a carpetas de red) para colocar la documentaci√≥n escaneada. Tambi√©n podr√≠amos hacerlo desde un escaner conectado a nuestra estaci√≥n de trabajo. De esta forma se almacenar√≠an los documentos directamente en Alfresco y posteriormente se pueden lanzar workflows, transformaciones, reglas, etc. Por ejemplo, una hoja de gastos, hoja de reclamaciones, actas, pedidos de clientes, documentos de identificaci√≥n en puestos de control, etc.

En el caso anterior, que hemos llamado Ad-hoc scanning, no se contempla indexaci√≥n del contenido de los documentos ya que estas grandes impresoras por defecto no hacen reconocimiento de texto (OCR), por lo que el documento escaneado, aun conteniendo texto, ser√≠a como una imagen. Para salvar este escollo se puede integrar con Alfresco una soluci√≥n gratuita llamada Intelliant, basada en la SDK de Tiger OCR. Esta soluci√≥n, que s√≥lo funciona si el servidor Alfresco est√° instalado en un sistema operativo MS Windows, nos permitir√°, a trav√©s de reglas y transformaciones, extraer todo el texto de un documento escaneado de forma que se pueda indexar y podamos hacer b√ļsquedas por el contenido, algo realmente c√≥modo.

b) Batch scanning: Cuando necesitamos escanear cientos de documentos tipo plantilla, por ejemplo hojas de matrícula, facturas, exámenes, etc, y de éstos documentos queremos extraer la información y poder vincularla a metadatos de Alfresco, ya sea del modelo de datos por defecto o de un modelo personalizado, necesitaremos una solución que permita mapear la información existente en la plantilla/documento escaneado de turno, con un tipo de contenido de Alfresco, campo del documento con un metadato en Alfresco, etc. Esta solución se llama Kofax Ascent Capture, Alfresco dispone de un plugin gratuito y disponible en la forja de Alfresco []. Este software utiliza la API de WebServices de Alfresco para realizar su trabajo. El plugin sólo funciona en MS Windows.

Kofax Ascent Capture tiene las siguientes características (fuente):

  • Correcci√≥n y mejora autom√°tica de im√°genes.
  • Separado autom√°tico de documentos e identificaci√≥n autom√°tica de formularios.
  • OCR, ICR y OMR para reconocimiento de texto impreso o escrito a mano en cientos de idiomas, c√≥digos de barras y otros tipos de c√≥digos.
  • Certificado para funcionar con la mayor√≠a de scanners, ver listado.
  • Integraci√≥n con Alfresco y gesti√≥n de procesos de negocio.

La opción a) es completamente gratuita y la opción b) depende del propio software Kofax Ascent Capture, que no es gratuito.

Hay otras soluciones como usar un escaner con soporte eCopy, cuyo conector con Alfresco ha sido desarrollado por SIRA Systems. Este conector permite a un usuario escanear un documento y ponerlo directamente en Alfresco. Este software se instala en el escaner y hace de interfaz entre el escaner y Alfresco. Sería una solución del tipo a) ya que no contempla selección ni mapeo de datos de los documentos escaneados, aunque si permite la indexación del contenido ya que incorpora un OCR, esta solución cuesta 2.495USD. Más información sobre el conector de SIRA Systems aquí.

Proxmox VE: una alternativa libre a la gestión de la virtualización

logo_pveYa tengo muchas m√°quinas en casa y poco tiempo para dedicarle al hardware y el cacharreo por lo que hace ya un mes que adquir√≠ en Hetzner un nuevo servidor para mi laboratorio, Hetzner es ISP alem√°n y sudafricano que permite alquilar m√°quinas f√≠sicas a un precio aceptable, ancho de banda de sobra y con un servicio magn√≠fico comprobado a lo largo de m√°s de un a√Īo con otros servidores que uso a titulo profesional. No conozco muchos ISP de la magnitud de Hetzner para poder haceros comparativas en cuanto a servicios/precio, pero son r√°pidos y en caso de problemas (tanto de sistema operativo, de red como f√≠sicos) est√°n ah√≠ para ayudar con un servicio 24×7 excelente incluido en el precio. La √ļnica pega es que el panel de control que ofrecen a los clientes est√° en alem√°n pero es sencillo y con Google Translator en unos minutos lo ten√≠a dominado.

Hecha la “cu√Īita” publicitaria sin √°nimo de nada a Hezner (cuando algo funciona tambi√©n hay que decirlo). Paso a contaros qu√© infraestructura he configurado para gestionar este servidor.

Actualmente, gracias al furor “Cloud” y teniendo en cuenta que la virtualizaci√≥n forma parte del paradigma aunque no obligatoriamente, he estado mirando diferentes f√≥rmulas o aplicaciones para gesti√≥n de la virtualizaci√≥n de forma sencilla, c√≥moda y r√°pida, por supuesto en Software Libre. Conoc√≠a desde hace tiempo Enomalism o actualmente AbiCloud* que es muy interesante y otras muchas soluciones web que permiten gestionar m√°quinas virtuales y aprovisionarlas, pero a la hora de la verdad la mayor√≠a de estas aplicaciones de gesti√≥n de la virtualizaci√≥n no rinden como se espera, me refiero por ejemplo a la clusterizaci√≥n, migraci√≥n de m√°quinas virtuales entre f√≠sicas y acciones afines o en algunos casos hay que pasar por caja para conseguir funcionalidades extra que generalmente no son Open Source. Los amigos de la Fundaci√≥n I+D del Software Libre llevan usando Proxmox VE unos cuantos meses. As√≠ que tras documentarme me lanc√© a la aventura y solicit√© a mi ISP que me montaran una m√°quina con Proxmox VE 1.1.

*AbiCloud no es sólo un gestor de máquinas virtuales sino que también puede gestionar máquinas físicas de una nube.

Proxmox VE es una plataforma de virtualizaci√≥n de c√≥digo libre (GPLv2) realizada por la compa√Ī√≠a alemana Proxmox Server Solutions GmbH, especializados en appliances virtuales empresariales.

¬ŅPor qu√© usar Proxmox VE?

  • Porque hace gala del principio KISS, es simple y funciona.
  • Porque permite desplegar m√°quinas virtuales en cuesti√≥n de segundos ya sea desde las plantillas disponibles o desde 0.
  • Porque permite crear contenedores gracias a OpenVZ, permite virtualizar y paravirtualizar gracias a KVM, por lo que no hecho de menos ni VMware ni Xen.
  • Porque permite descargar plantillas con aplicaciones instaladas y configuradas listas para usar desde aqu√≠.
  • Porque se pueden tener varios servidores f√≠sicos en cluster y migrar en vivo m√°quinas virtuales de un servidor a otro de forma r√°pida y sencilla. Permiti√©ndo aprovechar al m√°ximo el hardware y alta disponibilidad de mis sistemas operativos virtualizados.
  • Porque permite hacer backup a otros discos de forma totalmente desatendida y controlar gr√°ficamente el estado y consumo de cada una de las m√°quinas virtuales.
  • Porque puedes acceder por VNC a cualquiera de las m√°quinas desplegadas a√ļn sin red configurada.
  • Porque se descarga en ISO, basada en Debian y se instala directamente en el servidor anfitri√≥n, una vez instalado todo lo dem√°s se hace v√≠a web.


Y por muchas razones m√°s. Pero no es oro todo lo que reluce, he echado de menos m√°s informaci√≥n sobre el consumo de red y recursos. Aunque se muestran datos b√°sicos, no hay acumulados y gr√°ficas hist√≥ricas que son importantes para adelantarse a los problemas. Realmente con ntop y Cacti se soluciona este problema. En cuanto a documentaci√≥n y comunidad no est√° mal, ya que tanto OpenVZ como KVM adem√°s del propio ProxmoxVE cuentan con un importante n√ļmero de colaboradores y manuales.

Para instalarlo mira este fant√°stico manual que nos ofrecen los amigos de Howtoforge.

Lo tengo claro, para montar un entorno corporativo o personal de virtualización ya tengo una solución Open Source que cubre mis necesidades: Proxmox VE.

Cloud computing, visto de una forma f√°cil

A trav√©s del blog de Oriol Rius he visto un video muy divertido sobre qu√© es el cloud computing. Esta presentaci√≥n, realizada por la gente de rPath, se titula “Cloud Computing in plain english”, en mi pueblo lo traducir√≠amos como “Cloud Computing pa’ que te enteres”. Y bueno, quer√≠a compartirlo con vosotros aqu√≠. M√°s abajo ten√©is un resumen.

A modo de resumen decir que el Cloud Computing es la mezcla de unir virtualizaci√≥n, utility computing y software as a service, lo que es lo mismo, ofrecer una o varias aplicaciones, recursos computacionales y almacenamiento a trav√©s de virtualizaci√≥n como capa de abstracci√≥n f√≠sica, de forma que usaremos una herramienta, posiblemente web, sin saber necesariamente donde est√°. Software as a Service (SaaS) suele ser confundido con Cloud Computing pero realmente este √ļltimo es m√°s simple y flexible, y pagas por uso en lugar de ser por suscripci√≥n. Para hacernos una idea, en el mundo del software tradicional es como comprar un coche, pagas un precio fijado por el fabricante, pagas por el soporte y garant√≠a que puedes usar o no pero que tienes que pagar al fin y al cabo. Con el Software as a Service es como tener un coche en renting, tienes un buen coche por el pagas todos los meses por unos servicios m√≠nimos establecidos y sin capacidad de personalizaci√≥n a posteriori de forma que se reducen los costes y responsabilidades. El Cloud Computing va mucho m√°s all√°, es como tomar un taxi, lo usas cuando quieras, pagas cuando lo usas, no hay costes de mantenimiento (combustible, reparaciones, etc.)¬† y tu decides sobre la marcha lo corto o largo que ser√° el trayecto, adem√°s puedes tunearlo e incluso puedes montar a otros clientes en √©l, el motor del taxi, en este caso, es la virtualizaci√≥n.

Posiblemente no sea la met√°fora perfecta pero ayuda bastante a entender el concepto.