22/4/18

IP Estática Raspbian Stretch Lite.

Primero averiguamos el nombre de la interface con el comando ifconfig:

Editamos el archivo /etc/network/interfaces con el editor de su eleccion (nano y vi vienen incluidos).

vi /etc/network/interfaces

Y agregamos al final del documento lo siguiente:

#IP Estaica eth0
auto eth0
iface eth0 inet static
address aca.va.la.ip
netmask aca.va.la.mascara
gateway aca.la.puerta.de.enlace
dns-nameservers dns.primario dns.secundario

Ejemplo:

Por ultimo deshabilitamos el cliente DHCP con el comando:
sudo systemctl disable dhcpcd.service 

Y reiniciamos con el comando:
reboot

Raspberry Pi como Thin Client.

Un Thin Client / Cliente Lijero o también llamado "terminal boba", es una mini PC cuya única función es conectar a un servicio provisto por un servidor, generalmente un Windows Terminal Server, utilizando protocolo RDP y es esta la función más común que veremos cumplir a una Raspberry Pi en una empresa.

Hasta hace poco la mejor manera de realizar esta implementación era con una distribución llamada WTware. Pero lamentablemente en WTware decidieron comenzar a cobrar licencias por utilizar su distribución de linux (40$ por licencia) y si no compramos la licencia la pantalla mostrara siempre un banner, en forma de una franja negra al lateral izquierdo de la pantalla con la inscripción de "Copia de Evaluación".

La alternativa por la que yo y muchos técnicos han optado es usar raspbian e iniciar de alguna forma la sesión RDP. En este tutorial mostraré mi método, tenga en cuenta que está todo pensado para que lo utilice un usuario que probablemente jamás ha visto un sistema linux, así que la idea es hacerlo todo lo más sencillo y amigable posible.

Instalar y preparar el sistema Operativo:
  • Instalar Raspbian.
  • Habilitar SSH y VNC para controlar más cómodamente el equipo [Opcional]. 
  • Cambiar la contraseña del usuario Pi.
  • Cambiar el hostname. 
  • Configurar nuestra zona horaria / teclado e idioma.
Instalar FreeRDP:
Ejecuta el comando:
  • sudo apt-get install freerdp-x11
Crear el Scritp que iniciará la sesión RDP:
Desde una PC creamos un archivo con el siguiente contenido:

Y lo guardamos con el nombre TS y extensión .sh, es decir TS.sh

NOTAS:
  1. Reemplazar lo datos de la IP y del Dominio por los de tu entorno.
  2. Si en el entorno no utilizan Dominio borra la linea 12.
  3. Si quieres que solo pida contraseña borra las lineas 3,4,5,6 y agrega en la linea 2 antes /f  el nombre de usuario en formato /u:NOMBRE
  4. Y si prefiere que el logueo sea automático coloca todo en una sola linea quedando así:
    • xfreerdp /v:IP /d:DOMINIO /u:NOMBRE /p:CONTRASEÑA /f /cert-ignore
Descargamos el siguiente .png para usarla de icono:

Creamos un archivo para acceso directo con el siguiente contenido:
[Desktop Entry]
Name=Terminal Server
Exec=/TS.sh
Icon=/RDP.png
Terminal=true
Type=Application
Y lo guardamos con el nombre Terminal_Server y extensión .desktop, quedando: Terminal_Server.desktop 

Enviamos estos tres archivos a la Raspberry utilizando WinSCP:
Por facilidad comodidad yo los envío a /home/pi/Desktop 

Movemos los archivos y cambiamos los atributos.
Abrimos una terminal y ejecutamos los siguientes comandos:
  1. sudo su
  2. mv /home/pi/Desktop/TS.sh /
  3. mv /home/pi/Desktop/RDP.png /
  4. cd /
  5. chmod +x TS.sh
  6. sed -i -e 's/\r$//' TS.sh
  7. cd /home/pi/Desktop
  8. chmod +x Terminal_Server.desktop
  9. reboot 
Hecho esto tendremos un icono en el escritorio que al hacerle doble clic nos pedirá usuario y posteriormente contraseña:

Hacemos que el .sh se ejecute al inicio:
Nos loguemos en una terminal y editamos el siguiente archivo usando el editor que nos sea más cómodo (raspbian trae nano y vi):
  • sudo vi /home/pi/.config/lxsession/LXDE-pi/autostart
 Y agregamos /TS.sh al final del archivo.


Hecho esto al iniciar el sistema ya nos pedirá usuario y contraseña o si optamos por el autologuea iniciara inmediatamente la sesión de escritorio remoto.


Por ultimo les recomiendo que le quiten al usuario todos los iconos de la barra de herramientas e incluso el de la papelera, así evitamos llamadas a soporte del tipo "abrí algo y no se que es".

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 802.11.b/g/n/ac de doble banda 2.4GHz y 5GHz, Bluetooth 4.2, salida HDMI, puerto ethernet 300Mbps, 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:


O desde el entorno grafico del siguiente modo:

 

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: