Configuración de seguridad a nivel del dispositivo

Configurar el acceso remoto a través de un par de claves SSH

Generar un par de claves SSH

En su máquina cliente (por ejemplo, una computadora portátil en funcionamiento), abra su terminal (Mac) o Windows Powershell (Windows) y ejecute:

ssh-keygen -t ed25519 -C ethnode

Presione Enter y establezca una contraseña para cifrar su clave privada SSH.

Resultado esperado:

Agregue una clave pública SSH a su nodo

Mientras que la parte de clave privada del par de claves SSH permanece en su computadora portátil en funcionamiento, necesitaremos agregar la parte de clave pública a su nodo.

En su computadora portátil en funcionamiento, ejecute:

Ingrese la contraseña de su dispositivo NUC cuando se le solicite.

Cambiar el puerto SSH y deshabilitar el inicio de sesión remoto con contraseña

Puede dificultar el acceso de los atacantes a su nodo cambiando su puerto SSH del puerto predeterminado 22.

Seleccione un número de puerto entre 1024 y 49151 y verifique que no esté en uso ejecutando

Resultado esperado: Nada. Es decir, si no hay salida, significa que el puerto elegido está libre para su uso.

A continuación, cambiaremos su número de puerto SSH y deshabilitaremos el inicio de sesión remoto con contraseña simultáneamente.

Ejecute el siguiente comando para abrir el archivo de configuración del servidor SSH.

  1. Busque la línea Port 22en el archivo. Cámbiela por el número de puerto que haya elegido y luego elimine el comentario de la línea eliminando el #prefijo (si existe).

  2. Descomentar #AuthorizedKeysFilesi está comentado (quitando el #que está delante)

  3. Cambiar KbdInteractiveAuthentication yes a KbdInteractiveAuthentication no y descomentar (quitando el #que está delante)

  4. Cambiar PasswordAuthentication yes a PasswordAuthentication no y descomentar (quitando el #que está delante)

  5. Cambiar #PermitRootLogin prohibit-password a PermitRootLogin no, eliminando el #prefijo

Una vez que haya terminado, guarde con Ctrl+Oy Enter, luego salga con Ctrl+X.

Ahora reiniciamos el servidor SSH para que registre la nueva configuración:

Ahora solo podrá acceder a su nodo de forma remota utilizando su clave privada SSH. El comando para su conexión SSH se modificará ligeramente con respecto a lo anterior:

Configurar las reglas del firewall

Las reglas básicas que implementaremos son las siguientes:

  1. Denegar todo el tráfico entrante de forma predeterminada

  2. Permitir todo el tráfico saliente de forma predeterminada

  3. Permitir el tráfico entrante a través del puerto <your_chosen_SSH_port> para acceso SSH

  4. Permitir el tráfico entrante a través del puerto 30303 y 30304 para que los clientes de ejecución se conecten con otros nodos

  5. Permitir el tráfico entrante a través del puerto 9000 y 9001 para que los clientes de consenso se conecten con otros nodos

  6. Permitir el tráfico entrante a través del puerto 3000 y 3001 para que Grafana muestre paneles de monitoreo para su nodo

Con estas configuraciones establecidas, habrás bloqueado todas las posibles aberturas, excepto cuatro, para que los atacantes potenciales puedan entrar.

  • Los puertos 30303 y 9000 serán utilizados por Nethermind y Teku. Crearemos cuentas de usuario dedicadas con acceso root deshabilitado para estos servicios.

  • El puerto 3000 solo es accesible dentro de su red de área local (es decir, no está expuesto a Internet público).

  • El puerto SSH elegido está protegido por su clave privada SSH, por lo que es prácticamente imposible forzar el acceso.

Activar el firewall

Ahora activemos el firewall y verifiquemos nuestras configuraciones antes de continuar.

Deberías ver algo similar a la captura de pantalla a continuación:

Configurar protección contra fuerza bruta

Si bien tener implementado nuestro acceso con par de claves SSH significa que un atacante necesitará 25 millones de años para probar todas las combinaciones, sigamos adelante y hagámoslo aún más difícil para ellos, limitando la cantidad de intentos por dirección IP a 5 intentos y bloqueándolos después.

Instalar el software:

Abra el archivo de configuración:

Agregue el siguiente contenido al archivo de configuración:

Una vez que haya terminado, guarde y salga con Ctrl+Oy Enter, luego Ctrl+X.

Por último, reinicie el servicio:

Habilitar actualizaciones de seguridad automáticas

Agregue el siguiente contenido al archivo de configuración:

Una vez que haya terminado, guarde y salga con Ctrl+Oy Enter, luego Ctrl+X.

Por último, reinicie el servicio:

Revise los registros para ver si hay advertencias:

Si ve las siguientes advertencias, continúe con el siguiente paso.

Si su dispositivo está conectado a una fuente de alimentación, modifique el archivo 50unattended-upgrades directamente.

Busque la siguiente línea y descomentela quitando el prefijo //.

Last updated