aproximadamente
Publicado el 31 de julio de 2019

Cómo montar el servidor y securizar tu Raspberry Pi

Escrito por IT Solutions de BETWEEN

¿Te acuerdas que en el pasado post te contamos cómo montar un servidor Raspberry Pi? Pues allí no se acababa la historia. En esta ocasión te vamos a contar como securizarlo. ¿Te interesa la idea?

A la hora de configurar nuestros dispositivos de red, resulta tan importante configurar las partes más básicas de su funcionamiento como su vulnerabilidad y seguridad frente a agentes externos.

Por lo tanto, una vez visto la primera parte de como configurar una rasperry pi, vamos a ver la continuación del post donde terminaremos de configurar nuestra Raspberry como servidor de ficheros interno y añadiremos una capa de seguridad para evitar posibles hackeos.

¿Para qué pueden hackearnos nuestra Raspberry?

harrison-broadbent-c3YpscwJb04-unsplash

  1. Una de las principales opciones suele ser para usarla para minar criptomoneda. Hackeando varias raspberrys se puede llegar a usar su poder de cálculo para este fin.
  2. Otro caso típico de hackero es para hacer un pequeño ‘ejercito’ para atacar a otros hosts. Al realizarlo con dispositivos de terceros este ataque no deja rastro de su origen.
  3. Finalmente, otro de los casos es aprovechar una vulnerabilidad para entrar en nuestra red interna. Si no tenemos una buena seguridad, un atacante puede llegar fácilmente a los servidores de archivos e intentar instalar ransomware, obtener documentos o manipular la configuración .

Instalar SAMBA en Raspberry PI para compartir recursos

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows para sistemas de tipo UNIX. De esta forma, es posible que computadoras con Linux, Mac OS X o Unix se vean como servidores o actúen como clientes en redes de Windows. Samba es un proyecto de software libre que implementa el protocolo de archivos compartidos de Windows para Sistemas operativos de tipo UNIX.

Para instalarlo tenemos que ejecutar desde nuestro terminal el siguiente comando:

sudo apt-get install samba samba-common-bin

Dependiendo de qué otras cosas tengamos instalado en la Raspberry nos pedirá o no instalar paquetes adicionales.

A continuación, el software se descarga e instala automáticamente.

Una vez finalizada la instalación realizaremos cambios en la configuración para adaptarlo a nuestras necesidades. Primero haremos una copia de seguridad del fichero de configuración por si rompemos algo.

sudo cp /etc/samba/smb.conf smb.backup

sudo nano -w /etc/samba/smb.conf

En el fichero de configuración editaremos para indicar que disco duro queremos compartir en nuestro caso /media/64GB

[pi 64GB]

comment = USB Share

path = /media/64GB

writeable = Yes

create mask = 0777

directory mask = 0777

browseable = Yes

valid users @users

force user = pi

Para Guardar el archivo con los cambios pulsar la tecla Ctrl y al mismo tiempo la letra o

Para salir del editor debemos pulsar la tecla Ctrl y la tecla X al mismo tiempo.

Una vez salimos del editor debemos añadir el usuario PI al grupo de usuarios de SAMBA para poder acceder al recurso compartido. Para ello introducimos el siguiente comando:

sudo smbpasswd -a pi

Para confirmar debemos introducir dos veces la contraseña. Una vez realizado el usuario se añadirá al grupo.

luca-bravo-XJXWbfSo2f0-unsplash

Securizar nuestra Raspberry

Por defecto raspberry usa el usuario PI. Por seguridad es mejor crear uno nuevo y desactivar el usuario pi.

De esta forma se creará una nueva cuenta y se generará un directorio para nuestra cuenta (tipo /home/nombredeusuario)

Una vez creada la cuenta de usuario debemos cambiar su contraseña. Para definirla introducimos el siguiente comando:

$ sudo passwd nombredeusuario

También es recomendable cambiar la contraseña del usuario root, introduciendo una contraseña compleja. Para cambiar el password del usuario root usaremos el siguiente comando:

$ sudo passwd root

Finalmente desactivaremos la cuenta por defecto del usuario Pi. Para hacerlo debemos introducir el siguiente comando en el terminal:

$ sudo passwd –lock pi

Ahora, si estamos accediendo por ssh, ya podemos desconectarnos de la Raspberry e iniciar sesión con la nueva cuenta de usuario y contraseña.

Cambiar puerto SSH Raspberry PI

Otra medida de seguridad muy sencilla de realizar y de vital importancia es cambiar el puerto SSH de nuestra Raspberry. Para ello debemos editar el fichero  /etc/ssh/sshd_config

Como en pasos anteriores, si quereis se puede  hacer un backup del fichero por seguridad. Se realizaría de la siguiente forma:

sudo cp /etc/ ssh /sshd_config smb_config_backup

Una vez hecho el backup, desde el terminal ejecutaremos como root el siguiente comando:

nano /etc/ssh/sshd_config

Dentro del fichero de configuración veremos que en una de las primeras líneas aparece:

Port 22

Cambiaremos el 22 por otro número que será el nuevo puerto. Este número tiene que ser superior a 1024.

En nuestro caso ponemos por ejemplo el 8022, la línea quedaría:

Port 8022

Cerramos el editor y guardamos

A continuación, reiniciamos el servicio SSH para aplicar la nueva configuración:

/etc/rc.d/ssh restart

A partir de este momento en Putty tendremos que poner el puerto 8022 para acceder a nuestra Raspberry.

raspberry pi-1

Instalar Fail2ban

La finalidad de instalar fail2ban es ataques de fuerza bruta que cualquiera pueda generar sobre nuestra Raspberry Pi.

¿Qué es un ataque de fuerza bruta? Un ataque de fuerza bruta consiste básicamente en tratar de conseguir la contraseña de acceso probando todas las combinaciones posibles hasta encontrar la correcta. Estos métodos no son muy eficientes ya que requieren mucho tiempo para probar combinaciones. Aun así suelen basarse en combinaciones posibles de un diccionario, donde normalmente están las contraseñas más habituales y genéricas.

Para poder evitar este tipo de ataque, utilizaremos Fail2Ban. Fali2Ban es un programa que escanea automáticamente los logs de nuestra Raspberry Pi y banea las IPs que considera maliciosas. El software por ejemplo considera maliciosa una IP que ha realizado varios intentos de acceso con error de contraseña. Es posible configurar los umbrales, para indicar a partir de cuantos intentos se considera ip maliciosa y por ejemplo cuanto tiempo dura el bloqueo.

Para instalar introduciremos el siguiente comando en el terminal:

sudo apt-get install fail2ban

Empezará el proceso de instalación de fail2ban en nuestra raspberry: 

raspberry-pi-2

Una vez instalado, como comentado anteriormente procederemos a configurarla para parametrizar las herramientas de bloqueo.

Vamos a configurar el umbral para que banee las IPs durante 30min cuando intentan acceder 3 veces con una contraseña errónea.

Fail2Ban escanea el fichero /var/log/auth.log aplicando el filtro /etc/fail2ban/filter.d/ssh.conf.

Modificaremos la configuración desde el archivo /etc/fail2ban/jail.conf.

Únicamente modificando los parámetros de tiempo de duración del bloqueo y numero de intentos para activar el bloqueo. Aun así, se pueden realizar muchas configuraciones adicionales.

El fichero de configuración quedaría así:

ignoreip = 127.0.0.1/8

bantime  = 1800

maxretry = 3

[apache]

enabled  = true

[ssh-ddos]

enabled  = true

[pure-ftpd]

enabled  = true

Si quieres comprobar si Fail2Ban está funcionando correctamente, podemos introducir el siguiente comando:

cat /var/log/fail2ban.log

Una vez realizados todos los cambios y configuraciones, tendrás lista tu raspberry pi funcionando con total seguridad.

taylor-vick-M5tzZtFCOfs-unsplash

Sabemos que la series de post sobre la configuración de la raspberry es extensa, así que tómate tu tiempo y vuelve a leer el post las veces que sea necesario.

 

Etiquetas: telecomunicaciones

Artículos Relacionados

Cómo montar un servidor con una Raspberry PI

En el pasado post hablamos del paso tecnológico hacia delante que se ha hecho con el Edge Computing, y en esta ocasión vamos a profundizar en cómo montar un servidor con Raspberry ...

Topics: telecomunicaciones