Año nuevo, vida nueva… Contraseña vieja.

Hace un par de meses leí que durante 2020 los ciberataques aumentaron un 70% con motivo de la pandemia, algunos de los titulares que más resonaron en Argentina fueron el ataque de Ransomware a Migraciones de Argentina, El “ataque” al Streaming del día de la lealtad peronista y el que más revuelo tuvo a nivel mundial el ataque al Tesoro de EEUU, según se cree por parte de otro país.
No obstante, estos fueron los ataques más relevantes, el phishing se incrementó casi in 80% y el robo de datos aumentó considerablemente.
(Para más información vean este informe de Interpol)

Ahora, en estas épocas del año nos ponemos objetivos para cumplir durante el nuevo año, me gustaría proponerte que en 2021 uno de tus objetivos sea “estar más segurx digitalmente”.  En las próximas líneas te voy a contar un poco que podés hacer para estar más seguro en el ciberespacio.

Actualizar tus contraseñas.

¿Hace cuanto que no cambias la contraseña del mail? ¿Y la contraseña de Facebook? ¿Cuánta gente sabe tu contraseña de Netflix? ¿Y la del Wifi?
Una buena idea para empezar este 2021 más seguros es cambiar la contraseña de nuestras cuentas. Algunos consejos:

  • Que tenga mayúsculas y minúsculas.
  • Que tenga números.
  • Que tenga caracteres especiales (¡, $, #, @, . , etc)
  • Que no sea fácil de adivinar (Evita cosas como clubes, bandas, direcciones, nombres de seres queridos, etc)

Un punto para empezar a cambiar las contraseñas y un ejercicio regular que podes hacer es entrar a haveibeenpwned que chequea tu mail contra filtraciones de datos reportadas abiertamente.

Activa el doble factor de autenticación

El doble factor de autenticación (2FA) es una medida de seguridad extra que se suele usar en entornos corporativos, pero que está disponible en una gran variedad de servicios.
Así como la contraseña es la respuesta a la pregunta a “Algo que sé” el doble factor de autenticación es la respuesta a una de dos preguntas “Algo que tengo” como puede ser un token o “Algo que soy” como podría ser un sensor de huellas dactilares o un scanner de retina.

Mi recomendación es activar un token de Google Authenticator que tiene una gran variedad de servicios disponibles.
Acá podes ver como instalarlo y configurarlo.

Usar un Password Manager

¿Tenés la contraseña anotada en la agenda? ¿En un archivo de Excel?
Te propongo una alternativa mucho más segura, usa un password manager.
Estos servicios son como una base de datos, completamente cifrada, para tus contraseñas y usuarios.
En cuanto a opciones 1Password es un servicio cloud en el que vas a tener todas tus contraseñas sincronizadas en el celu y la compu por 3 US$ al mes.

Mientras que Keepass es un servicio completamente gratuito https://keepass.info/ (la implementación para MacOS se llama MacPass)
todas las contraseñas se van a almacenar en un archivo .kdbx al que podemos darle una medida extra de seguridad poniéndolo en nuestro servicio de nube (Google Drive, One Drive, Dropbox, etc)
Acá te dejo un tutorial de como instalarlo.

Actualizar el Sistema Operativo y las Aplicaciones

Si tu PC lo permite, siempre es buena idea tener el sistema operativo con los parches al día y las aplicaciones lo más actualizadas posible.
Si hace rato que no actualizas tu PC te invito a que este año actives el Windows Update y bajes los últimos parches. Si no sabes cómo, buscar un técnico de PC para que lo haga por vos es dinero muy bien invertido, de paso optimizas la PC un poco.
En cuanto a las aplicaciones es un espectro muy amplio, pero ya el hecho de tener el navegador Web (Chrome, Firefox, Edge, Safari) al día es un punto importantísimo.

Tener el antivirus activado y actualizado

En cuanto al antivirus podemos hablar un rato largo cual es el mejor y cual tiene mejores prestaciones.
A mí me gusta Malwarebytes que por 3.33 US$ al mes tenés protección Premium para un dispositivo.
Ahora, en cuanto a antivirus gratuitos podemos usar Windows Defender que está incluido en la licencia de Windows 10 y trae varias funciones de seguridad avanzadas (Firewall Avanzado, Inspección de tráfico, etc), Avast es otra buena opción que es Gratuita.
Cualquier opción paga o gratuita lo importante es tenerlo activado y actualizado, así reconocen las nuevas amenazas.

Espero que este articulo te haya orientado con algunas ideas para estar mas segurx en 2021.
Felices fiestas!

Nacho

¿Que tener en cuenta a la hora de implementar vSphere?

Hace algunos meses que estoy entrando día a día a VMTN (VMware Communities) y veo que muchas de las preguntas son del índole de ¿Puedo instalar ESXi en X hardware? o Instalé vCenter y no anda como espero.
Muchos de esos posteos son de usuarios que están probando vSphere por primera vez o de gente que no es nativa de la virtualización, no obstante, este post tiene como objetivo ayudar a todos los que están dando sus pasos en el mundo de la virtualización.

Diseño

La parte más importante de cualquier proyecto, en cualquier rubro, es el planeamiento.
Cuanto más tiempo pongamos planeando las cosas menos vamos a tener que poner arreglando problemas derivados de diseños fallidos.
Te dejo algunas preguntas que podes hacerte a la hora de empezar un proyecto de vSphere.

Análisis inicial

¿Para que quiero hacer esta implementación? Puede ser que quiera hacer un recambio de hardware por obsolescencia, puede ser que quiera desarrollar un proyecto de Hybrid Cloud o algo similar.
De este análisis inicial van a salir los requerimientos iniciales del proyecto, por ejemplo:
¿Cuántas VMs vamos a alocar en nuestros clusters?
¿Qué máquinas van a correr en mis clusters? No es lo mismo a nivel recursos correr un cluster de VDI que un cluster de Kubernetes o una base de datos Oracle.
¿Cuántos datos podemos ubicar en nuestro storage?
¿Puedo aceptar contención de recursos?
¿Cuánto voy a crecer por año?
¿Necesito un solo sitio? ¿Necesito más de un sitio?

Hardware

Un proyecto de virtualización depende del hardware que se use, algunas de las preguntas que podemos hacernos antes de adquirir el hardware son:
¿Qué tipo de servidores vamos a usar? (Blades/Rackeables/HCI) ¿Vamos a adquirir hardware nuevo? ¿Vamos a actualizar el hardware existente?
¿Cuántos CPU’s necesitamos? ¿Qué procesadores vamos a usar? ¿Cuántos cores voy a tener?
Estas primeras preguntas van a ser clave. Tené en cuenta que dentro de un mismo cluster lo ideal es tener hosts de la misma versión de ESXi y que los procesadores sean de la misma marca y familia (por EVC)
¿Cuánta memoria necesitamos?
¿Cuántas NICs necesito? ¿Cuántas HBA? Como mínimo siempre 2 para tener redundancia
¿Qué versión de vSphere voy a implementar?
¿Necesitamos algún tipo de hardware especial? (Placas de video, Hard Tokens, etc)
¿Tengo lugar en el datacenter? ¿Tengo suficiente capacidad en los racks? ¿Me alcanza la capacidad de computo? ¿Tengo puertos libres en los switches?
¿Dónde voy a instalar mi host? (Disco Local, SATADOM, SD, etc )
¿Voy a armar RAID para los discos locales? ¿Qué RAID?

Algo que me parece super importante aclarar, no podemos ir a instalar ningún servidor sin antes haber chequeado la matriz de compatibilidad (más ahora, ya que vSpher 7 no usa más los drivers VMKlinux como en versiones anteriores). Si nuestro proyecto usa vSAN podemos chequear la matriz de compatibilidad de vSAN o usar hardware vSAN ready.

Storage

¿Qué tipo de storage vamos a usar? (SAN/iSCSI/vSAN/NFS)
¿Vamos a adquirir hardware dedicado o tenemos que usar el hardware existente?
Cada tipo de storage tiene sus ventajas y sus limitaciones, por ejemplo, el storage SAN suele sumar complejidad a la administración (Zoning), mientras que iSCSI es más sencillo.
SAN tiene una red dedicada (con su propio protocolo) mientras que vSAN, iSCSI y NFS usan la red LAN. Por consiguiente, sumando tráfico a las NICs del servidor.
¿Necesito una solución metro?
¿Tengo suficientes puertos de SAN disponibles? (si es que los uso)

Networking

Algunas de las preguntas importantes a nivel redes
¿Voy a usar NSX?
¿Cuál es el troughput de mis equipos?
¿Cuántas VLANs administro?
¿Cómo está configurado MTU?
¿Tengo configurado CDP o LLDP?
¿Voy a usar algún mecanismo para prevenir loops (STP)?
¿Tengo suficientes puertos disponibles en los switches de red?

Estas respuestas nos van a decir como tenemos que configurar nuestros switches de vSphere.

vSphere

¿Qué servicios voy a necesitar? ¿Voy a tener solo ESXi? ¿Voy a tener vCenter? ¿vSAN? ¿vROPs?
¿Necesito más de un vCenter?
¿Necesito priorizar la disponibilidad?
¿Mis aplicaciones pueden tolerar un reinicio o no es aceptable?
¿Cuántos hosts caídos puedo tolerar?
¿Cómo van a bootear mis hosts? (Stateless vs Stateful)

Esta información te va a ayudar a determinar, entre otras cosas, cual es la licencia que necesitas.

Estas son algunas (porque siempre hay más) de las preguntas que tenemos que hacernos para empezar a diseñar una solución de vSphere que sea de calidad y resiliente a fallos.

A la hora de la implementación yo tengo este checklist para validar que todo esté listo para instalar y evitar perdidas de tiempo.

Una aclaración importante: Que algo no esté soportado en la matriz de comptabilidad significa que VMware no te va a aceptar los casos de soporte, no que no va a funcionar.
Por ejemplo, correr ESXi en modo nested no está soportado y se recomienda no correr VMs productivas, pero si lo usas para laboratorios está perfecto.

Espero te haya servido
Saludos

Nacho

¿Cómo configurar un proxy en Docker?

The what and why of Docker. A Beginner's guide to Docker — how to… | by  Shanika Perera | Towards Data Science

Hace un par de semanas estuvimos trabajando con Docker.
El trabajo era bastante sencillo pero me volví loco buscando como configurar el proxy en Docker y lograr que funcione, ya que sin eso no podía salir a buscar la imagen al repositorio de imágenes.

Tenemos dos opciones, crear un drop-in o modificar los archivos de configuración. Ambas son igual de validas, personalmente me inclino por la primera.

Crear un drop-in

1. Ejecutamos el siguiente comando para crear el drop-in
sudo mkdir /etc/systemd/system/docker.service.d

2. Creamos un archivo que agregue la configuración de HTTP_PROXY y HTTPS_PROXY en /etc/systemd/system/docker.service.d/http-proxy.conf

[Service]
Environment="HTTP_PROXY=http://USUARIO:PASSWORD@IP_PROXY:PROXY_PORT/" Environment="HTTPS_PROXY=https://USUARIO:PASSWORD@IP_PROXY:PROXY_PORT/"
Environment="NO_PROXY= hostname.example.com,1.2.3.4"
Un ejemplo de esto sería: Environment="HTTP_PROXY=http://nachogon:PASSWORD@1.2.3.4:8080/"

3. Reiniciamos los servicios de systemd y docker

sudo systemctl daemon-reload && systemctl restart docker

Con estos pasos ya deberíamos tener configurado el proxy en Docker. Podemos validarlo haciendo un docker pull desde algún repositorio público.

Modificar el archivo de configuración:

Lo que tenemos que hacer es agregar las siguientes líneas al archivo /etc/sysconfig/Docker con los valores correctos.

export HTTP_PROXY="http://USUARIO:PASSWORD@IP_PROXY:PROXY_PORT”

export HTTPS_PROXY="https://USUARIO:PASSWORD@IP_PROXY:PROXY_PORT”

Una vez agreguemos esas líneas, reiniciamos docker:

sudo service docker restart

Con esto ya estaría configurado el proxy para poder pullear imágenes de internet.

How to create a WordPress blog using AWS Lightsail? – Tutorial

Hey, it’s me again.
I wanted to write something technical today, and I figured out why not tell you how I created the blog.

Creating the server

I decided to use Amazon Web Services as my VPS provider.
Using AWS Lightsail you have a free month trial and the small instance which is really fine for a blog costs only US$ 3.50 a month for 1 vCPU, 512 MB RAM and 20 GB SSD Storage.


  1. Log in to AWS Lightsail and create an account if you don’t have one. (Requires credit card)
  2. Once you have created your account and are logged in to lightsail is time for creating the instance. Click create instance.
  3. Then we will have to select the settings of the VM we are creating:

    Select Linux/Unix as the platform and WordPress as the App+OS
  4. After that we will have to select the Instance Plan

    By default there is a 512 MB RAM, 1 vCPU and 20GB SSD VM selected, we will keep that option for this tutorial.
  5. We will set an instance name and create the instance.
    In this case I have named my instance TestInstance
  6. Then we will create a Public IP for the server.
    We will click Networking and click create Static IP.
  7. Then we will need to attach the Static IP to an instance.
    As you can see I have attached TestInstance and named the Static IP test-stip2.
    Then I have clicked create.
  8. We have successfully created our WordPress server.

    Now we’ll have to make some extra configurations. But before that, let’s make sure the instance is working.
  9. Check the instance is working:
    On your preferred browser type https://$INSTANCEIPADDRESS/wp-admin
    In my case https://35.171.114.83/wp-admin


Getting WordPress password

To get the password that will grant us access to WordPress we will need to do the following:

  1. Launch VM console
  2. Once the console is open you will need to run this command:
    $HOME/bitnami_application_password
  3. You might get the following error:
    -bash: /home/bitnami/bitnami_application_password: Permission denied

  4. In that case what we will need to do is:
    chmod +755 bitnami_application_password
    We will still get an error, but the error code will have the password output.

    Make sure to copy that password somewhere safe.
  5. Check if the password works
  6. If the password works you will be redirected to the WordPress Admin dashboard.




Congratulations, you have a working wordpress site! Configure it as you like.

Now we have to configure name resolution for the public, I’ll show you how to here.

Cambiar los certificados en vCloud Director – Tutorial

Hola! La idea de este post es aprender a cambiar los certificados en las celdas de vCloud Director.

Nota:
Cada vez que veas $PASSWORD significa que es una password a reemplazar


Pre-Requisitos

  • Acceso root a las celdas de vCloud
  • Nuevos certificados en formato .PEM
  • Snapshot de la/s celdas de vCloud

Pasos a Seguir

  1. Iniciar sesión con el usuario root a la celda de vCloud en la que vamos a trabajar.
  2. Cambiar al directorio de binarios de vCloud Director
    cd /opt/vmware/vcloud-director/bin/
  3. Obtener el estado de la celda
    ./cell-management-tool -u administrator -p $PASSWORD cell –status
  4. Detener el servicio VCD
    service vmware-vcd stop
  5. Copiar via Winscp los nuevos certificados a la carpeta /tmp/certs
  6. Cambiar el directorio a /tmp/certs
    cd /tmp/certs
  7. Unificar los dos certificados en el archivo “wildcard.pem”
    cat mycert.crt mycert.key > wildcard.pem
    Nota: vCloud director es un producto basado en Linux, por lo que es case sensitive, respetar las mayúsculas y minusulas
  8. Con la herramienta openssl exportar los certificados del archivo .pem a archivos .p12 y definir la función de cada certificado (“http” o “consoleproxy”)
    openssl pkcs12 -export -in wildcard.pem -out wildcard-http.p12 -name http

    openssl pkcs12 -export -in wildcard.pem -out wildcard-console.p12 -name consoleproxy
  9. Realizar un backup de los certificados originales
    cp /opt/vmware/vcloud-director/jre/bin/wildcard-console.p12 wildcard-console.p12-backup

    cp /opt/vmware/vcloud-director/jre/bin/wildcard-http.p12 wildcard-http.p12-backup
  10. Borrar los certificados originales
    rm /opt/vmware/vcloud-director/jre/bin/wildcard-http.p12

    rm /opt/vmware/vcloud-director/jre/bin/wildcard-console.p12

Cambiar los certificados

  1. Copiar todos los archivos con formato “.p12” a la carpeta con los certificados
    cp *.p12 /opt/vmware/vcloud-director/jre/bin/
  2. Dirigirse a la carpeta con los certificados
    cd /opt/vmware/vcloud-director/jre/bin
  3. Importar los certificados y listarlos (la fecha de modificación debe ser la fecha de actualización de certificados)
    ./keytool -importkeystore -deststorepass $PASSWORD -destkeypass $PASSWORD -destkeystore certificates.ks -srcstoretype PKCS12 -srckeystore wildcard-http.p12 -srcstorepass $PASSWORD -alias http

    ./keytool -importkeystore -deststorepass $PASSWORD -destkeypass $PASSWORD -destkeystore certificates.ks -srcstoretype PKCS12 -srckeystore wildcard-console.p12 -srcstorepass $PASSWORD -alias consoleproxy

    ./keytool -keystore certificates.ks -storepass $PASSWORD -storetype JCEKS -list
  4. Copiar el archivo certificates.ks a la keystore
    cp /opt/vmware/vcloud-director/jre/bin/certificates.ks /opt/keystore
  5. Configurar la keystore
    /opt/vmware/vcloud-director/bin/configure
  6. Aparecerá el siguiente mensaje. Introducir la siguiente información:
    Please enter the path to the Java keystore containing your SSL certificates and private Keys:
    /opt/keystore
    Please enter the password for the keystore: $PASSWORD
    Please enter the private password for the 'http' SSL certificate: $PASSWORD
    Please enter the private password for the 'consoleproxy' SSL certificate: $PASSWORD

Reinicio del servicio

  1. Iniciar el servicio de vCloud Director y verificar el estado de la celda:

    cd vcloud-director/bin/
    ./cell-management-tool --status
    service vmware-vcd-start
    ./cell-management-tool -u administrator -p $PASSWORD
    ./cell-management-tool --status

    service vmware-vcd status