21/4/18

Raspberry Pi, Introducción y Primeros Pasos.

La Raspberry Pi, es una mini PC del tamaño de una tarjeta de crédito, que en su pequeño formato empaca un procesador quad-core de 64-bit a 1.4GHz, 1Gb de SDRAM, WiFi, Bluetooth, salida HDMI, puerto ethernet 10/100, 4 puertos USB 2.0, además de 40 pines GPIO, puerto CSI para una cámara y puerto DSI para paneles táctiles que la convierten en un dispositivo increíblemente versátil, tanto que ha sido capaz de transcender sus orígenes orientados a la educción para abrirse un pequeño espacio en la informática a nivel empresarial, campo en el cual me desempeño y en relación a esto iniciaré una serie de artículos sobre los posibles usos de una Raspberry Pi en pequeñas y medianas empresas, los cuales también pueden ser de utilidad en el hogar si eres un Geek "Pro Users".

NOTA: Las especificaciones técnicas hacen referencia al modelo 3 B+ el más reciente a la fecha de publicación de este artículo.
¿Por qué una empresa utilizaría una Raspberry Pi? 
Costo... Simplemente por costo. Aún ahora en 2018 según mi experiencia me atrevería a asegurar que un 95% de los dueños de empresas, incluso de aquellas 100% dependientes de plataformas tecnológicas no quieren invertir (o buscan invertir lo menos posible) en infraestructura y/o licenciamiento informático, así que cuando te rechazan varias propuestas de soluciones con hardware/software enterprise, la Raspberry Pi con su coste alrededor de los cuarenta dolares [40$] (Precio de la Pi sin periféricos/complementos) e infinidad de software libre que le pueden hacer compañía, se vuelve una oferta que no pueden rechazar.


Así pues como base a estos futuros artículos, pasaré a establecer lo que considero son los primeros pasos que nos serán útiles en varios de los proyectos.

Que necesitamos:
  •  Hardware:
    • Fuente de alimentación micro usb de 2.5A / 5.1V (Como el cargador de un móvil).
    • Tarjeta Micro SD de al menos 8Gb y preferiblemente clase 10.
    • Teclado, Mouse, Clable HDMI, serán necesarios al menos momentáneamente para la configuración  inicial.
    • Cable de Ethernet... Trae WiFi incluido pero siempre que sea posible (con cualquier dispositivo) es mejor utilizar Ethernet 
    • Lector de SD/Micro SD para poder grabar las distribuciones a las tarjetas desde nuestras PC's.
    • Enclosure (gabinete, case, chasis), no son necesarios, pero es recomendable utilizarlos para proteger el equipo.
  • Software: 
    • Raspbian: Es la distribución oficial de la Fundacion Raspberry Pi, está basada en Debian 9 "Stretch" (Abril 2018). Para la mayoría de proyectos es mejor optar por esta distribución ya sea en su versión Desktop (entorno gráfico) o Lite (CLI), ya que es el sistema operativo que aprovecha más eficientemente los recursos del equipo y para el cual conseguirán más información/documentación.
    • SD Card Formatter: Se utiliza para preparar la Micro SD.
    • Etcher: Aplicativo para grabar las distribuciones a la Micro SD. 
    • 7-zip: Es necesario para descomprimir algunas de las distribuciones que utilizaremos. 
    • Putty: Para conectarnos a la Raspberry vía SSH desde una PC Windows.
    • WinSCP: Para transferir archivos desde nuestra PC Windows a la Raspberry y viceversa.
    • RealVNC: Para controlar el entorno gráfico de la Raspberry de modo remoto desde la PC.

Instalar Raspbian.
Formateamos la Micro SD con SD Card Formatter:

Clic en la imagen para agrandar.
La imagen de Raspbian viene comprimida así que primeramente la extraemos con 7-Zip, lo cual nos deja un archivo .img, que pasaremos a grabar a la Micro SD con Etcher:
Clic en la imagen para agrandar.
Una vez grabada la imagen, expulsamos la Micro SD, conectamos la Raspberry a todos los periféricos, insertamos la Micro SD y por último conectamos la fuente de alimentación, hecho esto la Raspberry iniciará y veremos en solo unos segundos el escritorio de Raspbian.

Habilitar SSH y VNC:
Hasta este punto tenemos la Raspberry conectada a un monitor y estamos utilizando teclado y mouse, para liberarla de estos periféricos y hacer más sencillas las próximas configuraciones habilitaremos los protocolos SSH y VNC. Para activarlos realmente solo nos hace falta el mouse para hacer lo siguiente:


Averiguar la IP de la Raspberry.
La opción más sencilla es posar el cursor sobre el icono de la conexión.


Conectarse a las Raspberry por SSH o VNC:
Los credenciales por default  de Raspbian son:
  • Usuario: pi
  • Contraseña: raspberry
Y con estos datos, más la IP que averiguamos anteriormente, podremos acceder por SSH, WinSCP o RealVNC.

Cambiando la Contraseña de Pi:
Desde una terminal ejecutamos el comando sudo passwd pi

Cambiar el hostname:
Pueden seguir los mismos pasos del articulo:
Cambiar opciones regionales y de idioma:
Es importante este punto no solo por hacer coincidir nuestra distribución de teclado, sino también para poder habilitar el WiFi (requiere que se establezcan los canales legales de nuestra zona). Para hacerlo nos conectamos a una terminal ya sea desde el entorno gráfico o vía SSH, ejecutamos el comando:
  • sudo raspi-config
Lo cual abrirá la siguiente pantalla, donde seleccionaremos la opción 4 para ir fijando las opciones acordes a nuestro idioma / país / región y zona WiFi de preferencia:


Expandir el sistema de archivos:
En algunos casos nos puede interesar utilizar el 100% del espacio de la micro SD y para lograrlo ejecutamos nuevamente el comando anterior, seleccionamos la opción 7 (Opciones avanzadas) y luego la primera opción.


Instalar un Fan Cooler:No son realmente necesarios, pero ya sea que el enclosure que compraste traiga un Fan Cooler incluido o que por cualquier motivo elijas usar uno, este es el modo de conectarlo:

Hay dos modelos de Fan Coolers para la Raspberry, uno de 3.3v y otro de 5v, ambos traen dos cables, uno de color rojo que es el de alimentación y otro de color negro que es la "tierra". Los Fan Coolers van conectados a los pines GPIO de la Raspberry, el pin para la tierra es el tercero de la fila delantera (pin 6), el pin de 5v es el segundo de la fila delantera (pin 4) y el pin para 3.3v es el primero de la fila trasera (pin 1):


Clic en la imagen para agrandar.
Instalar disipadores de calor:
Al igual que los Fan Cooler, no son necesarios pero ya sea que el enclosure que compraste los traiga incluidos o que por cualquier motivo elijas usarlos, este es el modo de "instalarlos".

Por lo general el kit de disipadores consta de 3 piezas, dos de cobre para la parte superior e inferior del SoC, y una de aluminio para el chip de LAN y HUB USB, estas piezas traen un adhesivo térmico que permite una aplicación simple. 

22/3/18

Evitar que los ransomware eliminen las versiones anteriores.

Sin importan cuantos métodos de backup tengamos configurados en un servidor Windows, las versiones anteriores son la primera herramienta a la que acudimos cuando requerimos recuperar archivos, esto debido a su eficiencia, rapidez y facilidad de uso. Los creadores de ransomware lo saben y por esto si el malware logra obtener privilegios de administrador lo primero que hace es ejecutar el siguiente comando de powershell, con el cual eliminan todas las instantáneas existentes.

vssadmin delete shadows /all

Por suerte prevenir esto es realmente simple. El comando anterior lo que hace es invocar la aplicación externa "vssadmin.exe" ubicada en "C:\Windows\System32" y para inhabilitar la función del comando basta con seguir los pasos descritos a continuación:

Navegamos hasta la ruta C:\Windows\System32, ubicamos el archivo vssadmin.exe, hacemos clic derecho / propiedades / seguridad / opciones avanzadas y cambiamos el propietario de "TrustedInstaller" (usuario de servicio de Windows) a nuestro usuario administrador.


Una vez tomada la propiedad, volvemos a hacer clic derecho / propiedades sobre vssadmin.exe, vamosa a la pestaña seguridad, pulsamos editar y tomamos control total del archivo.


Hecho esto podemos cambiarle el nombre a vssadmin.exe, por cualquier otro.

 

De este modo todo comando que invoque a vssadmin fallará ya que no encontrará al archivo especifico, con lo cual ante un ataque de ransomware las instantáneas quedaran intactas.

clic en la imagen para agrandar.
Las versiones anteriores continuarán funcionando solo que perderemos la posibilidad de administralas vía powershell a menos que revirtamos todos los pasos antes descritos.

Para más protección contra ransomware te invito a leer el articulo:

7/3/18

Programar horario de Replica de Hyper-V

Si una vez configurada la replica nos interesa controlar los horarios de replicación, ya sea para conservar ancho de banda, evitar exceso de trafico en la red, o para evitar la replica de una catastrofe como por ejemplo el ataque de ransomware, podemos valernos de powershell para crear dos tareas, una para detener la replica y otra para reiniciarla.

En el siguiente ejemplo creo una tarea para detener la replica de la maquina virtual "TS2016" en el hypervisor "HYPERV01" a las 06:00am y reiniciar la replica a las 08:00pm.

NOTA: El comando se ejecuta en el hypervisor que aloja la maquina virtual original, no en el que aloja la replica.

$cred = Get-Credential

$dailystop = New-JobTrigger -Daily -At 20:00

Register-ScheduledJob -Name StopRepl -ScriptBlock { Suspend-VMReplication -VMName TS2016 -ComputerName HYPERV01 } -Trigger $dailystop -Credential $cred

$dailystart = New-JobTrigger -Daily -At 06:00

Register-ScheduledJob -Name StartRepl -ScriptBlock { Resume-VMReplication -VMName TS2016 -Resynchronize -ComputerName HYPERV01 } -Trigger $dailystart -Credential $cred


Clic en la imagen para agrandar.
Una vez ejecutados los comandos podemos abrir el programador de tareas y veremos bajo la ruta \Microsoft\Windows\PowerShell\ScheduledJobs las dos tareas recién creadas y podremos editar sus propiedades, por ejmplo yo elegí detener la replica el sábado a las 06am y no reanudar sino hasta el lunes a las 08:00pm.

Clic en la imagen para agrandar.

Fuente: Schedule Hyper-V VM replication for non-office hours with PowerShell


Otros utiles comandos que nos muestra el articulo anteriormente citado son:

Get-VMReplication -VMName TS2016 -ComputerName HYPERV01

y

Get-Date

El primero para ver el status de la replica y el segundo para mostrar la fecha, algo muy util para el envio de informes.

25/2/18

FortiClient VPN SSL en Linux.

Para conectar una VPN SSL en Linux lo primero que debemos hacer es descargar el paquete necesario, el cual encontramos en la misma ubicación señalada en el articulo:
Pero del mismo modo que en el señalado articulo, se los deja acá en descarga directa:


descargar

Configuración con interfaz gráfica:

Una vez descargado el paquete, descomprimelo y ejecuta el archvio "forticlientsslvpn" que se ajuste a la arquitectura de tu CPU.


Te presentará el contrato de licencia donde pulsaras "Agree", seguidamente solicitará la contraseña de root, para finalmente mostrarnos la ventana de configuración:


Colocamos los datos de IP (o FQDN), Puerto, Usuario, Contraseña y hacemos clic en "Connect", nos alertará sobre el certificado, pulsamos continuar y ya estará conectada la VPN.

 

Configuración desde la Terminal:

Esto nos sirve para conectar la VPN en un linux sin interfaz gráfica o un linux "Desktop" si nos parece más cómodo este método que el anterior.

Ejemplo en Ubuntu:

Clic en la imagen para agrandar.
En el comando muestro el proceso de cambiar directorio hasta la ubicación de "forticlientsslvpn_cli" y lo ejecuto con:
  • sudo ./forticlientsslvpn_cli --server 0.0.0.0:0000 --vpnuser usuario --keepalive
Seguidamente nos solicita contraseña de root, contraseña de la VPN, y por ultimo pide aceptar con "y" el certificado.

Clic en la imagen para agrandar.

Para finalizar la conexión pulsamos la combinacion de teclas "Ctrl + C"