Arrow
Arrow
Slider

hoy vamos a ver como asegurar en forma básica una Raspberry PI (RPI) aunque también puede aplicarse a casí cualquier placa (Beaglebone,Cubieboard,Hummingboard,Bannanapi,…) que corra Linux.

 

Configuración Inicial

Una vez iniciamos la RPI lo primero será ingresar al sistema (Yo lo estoy haciendo directo desde la terminal) y llamar una consola root:

sudo bash

Una vez la tenemos, vamos a ingresar a la configuración básica de la RPI:

raspi-config

En el menú principal cambiamos el password por defecto para “pi” y nos dirigimos a opciones avanzadas para reemplazar el hostname y habilitar el acceso ssh. Una vez hecho esto, le damos a finalizar y la RPI se reinicia aplicando cambios…

Ahora, ubicamos la IP de la pequeña RPI (en el router,con NMAP, etc..) y nos logueamos. Si estamos en windows podemos usar PuTTY y en linux/unix solo hará falta abrir la terminal e ingresar los parámetros de conexión.

Creando nuevo usuario, eliminando PI

Con acceso exitoso, vamos a verificar los grupos de usarios:

groups

Creamos un nuevo usuario con sus respectivos permisos:

sudo useradd -m -G (Acá copian el resultado que les da “groups” separado por comas “,”) Nombre_Nuevo_Usuario

Password para nuevo usuario

passwd Nombre_Nuevo_Usuario

Apagan (-h) o Reinician (-r) a la pequeña…

sudo shutdown -h now
sudo shutdown -r now

Ingresamos de nuevo (ssh),abrimos terminal root y eliminamos el usuario “pi” junto con todos sus archivos (es un guión doble antes del “remove” solo que WP nos deja uno)

deluser –remove-all-files pi

Una vez el sistema confirme que el usuario ha sido eliminado debemos habilitar las características de sudo al nuevo usuario:

visudo

y reemplazamos “pi” por el Nombre_Nuevo_Usuario

en este punto actualizamos el sistema

apt-get update
apt-get upgrade

Configuración opcional # 1

El siguiente paso es opcional para aquellos que siempre trabajan desde una misma maquina. Eliminaremos el acceso SSH con una contraseña y habilitaremos el acceso con el “par de llaves”:

Linux:

1. Generar las llaves siguiendo las instrucciones en pantalla:
ssh-keygen


2. Tenemos 2 llaves generadas ($HOME/.ssh/id_rsa y $HOME/.ssh/id_rsa.pub)
3. Creamos un directorio para almacenar la llave
mkdir .ssh


4. Usando el comando scp vamos a copiar la llave (ojo solo la pública) a nuestra RPI
scp ~/.ssh/id_rsa.pub SamuraiHNSA@x.x.x.x:/home/ssh


5.Modificamos permisos para la llave
chown -R Nombre_Usuario:Nombre_Usuario .ssh
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

6. Últimos detalles

Ya tenemos acceso SSH con llaves, ahora vamos a eliminar el acceso con password. Editamos (PermitRootLogin y PasswordAuthentication) y salvamos:
sudo nano /etc/ssh/sshd_config

PermitRootLogin no
PasswordAuthentication no OJO—> Sin “#”

Y reiniciamos el servicio:

sudo service ssh restart

Configuración opcional # 2

Se puede realizar una configuración de seguridad con Fail2ban (Cotard) y con IPTables (Pablo).

Verificar con SHODAN

Si tienes configurado No-IP u otro servicio que habilite el acceso remoto estaría muy bien revisar en SHODAN con tu IP

Windows con PuTTY:

1. Cerrar la sesión actual (exit)
2. Descargar y correr PuTTYgen
3. Click en el botón “gererar” (una vez inicie se debe mover el mouse para generar entropia y se complete el proceso…)

4. Copiar la llave en un bloc de notas y guardar…

5. Ingresar contraseña(confirmar) y hacer click en “salvar llave privada” para salvar el archivo

6. Abrir PuTTY y en Conexión>>SSH>>Auth agregamos la ruta del archivo de la llave privada.
7. Ingresar de nuevo a la RPI y crear el archivo que mantiene las llaves:
mkdir ~/.ssh; touch ~/.ssh/authorized_keys; chmod 700 ~/.ssh


8. Editamos agregando la llave pública(del punto 4) y salvamos:
nano ~/.ssh/authorized_keys

9. Salimos de la sesión SSH e ingresamos de nuevo
10. Digitamos el pass del punto 5