Cómo asegurar la conexión SSH automática

2

Tengo Raspberry PI 3 que tiene un módem 4G conectado. Funciona de forma autónoma y, de vez en cuando, tiene que conectarse a mi servidor a través de ssh. Esto se realiza mediante un script de servicio con contraseña o con autenticación de clave, que requieren que la contraseña / contraseña estén presentes en un script o en un archivo. El problema es que cualquiera puede sacar la tarjeta RPi SD y tomar la contraseña / contraseña o la clave id_rsa. ¿Hay alguna solución segura para esto?

    
pregunta Karolis Milieška 28.07.2017 - 15:05
fuente

4 respuestas

1

La solución más segura es tener las claves SSH cifradas con una frase de contraseña y administradas con un agente clave (por ejemplo, ssh-agent). Sin embargo,

  

si su sistema se reinicia, se requiere una intervención humana para volver a cargar el   teclas, por lo que es inadecuado para algunos usos donde el sistema automático   la recuperación es necesaria Si te encuentras tratando de pensar en maneras de   carga automáticamente las claves en el agente, entonces realmente no quieres   para utilizar el agente.

(de la guía definitiva de O'Reilly para SSH en enlace )

Si debe usar una clave sin una frase de contraseña, la guía dice que debe asegurarse de que la clave reside en un disco local (la tarjeta SD en este caso), y también debe usar restricciones en la clave pública como "from="y" command="para que se pueda mitigar el robo de la llave (o la tarjeta SD en la que reside).     

respondido por el Mike McManus 26.09.2017 - 21:26
fuente
0

Si desea que el Pi pueda encenderse y comenzar a trabajar automáticamente, entonces no, no puede asegurar la clave. Si es capaz de usar la clave sin su entrada, entonces el atacante también podrá (a excepción de algún tipo de hardware a prueba de manipulaciones).

Creo que lo mejor que puedes hacer es crear una cuenta en tu servidor para el Pi y luego restringirla todo lo que puedas, de esa manera, si alguien recibe la clave, no podrá hacer tanto daño antes de revocar. it.

Mejor aún, no uses ssh en absoluto. No entra en muchos detalles, pero quizás esto sea un problema XY . Tal vez podría mantener un script con los comandos que desea ejecutar en el servidor y activarlo de alguna manera desde el Pi sin permitir que el Pi ejecute ningún comando. He visto, por ejemplo, un trabajo cron que utiliza curl para publicar un valor secreto en una url para hacer que el servidor ejecute un script. Si alguien obtiene este valor secreto, puede ejecutar el script cuando lo desee, pero no podrá hacer nada más con él.

    
respondido por el AndrolGenhald 26.09.2017 - 22:16
fuente
-1

Puede configurar Full Disk Encryption en la tarjeta SD, o al menos cifrar su carpeta de inicio.

Con cualquiera de ellos, incluso si alguien toma el SD, el contenido se cifrará.

    
respondido por el ThoriumBR 28.07.2017 - 15:22
fuente
-1
  1. Encripta el sistema operativo. y
  2. Configure su servidor para use la autenticación de clave pública con SSH . Es decir. el servidor tiene una clave pública authorized_keys que solo aceptará la conexión de la clave privada correspondiente ssh-client. De hecho, no debe almacenar el id_rsa que se empareja con authorized_keys en el servidor.

Y Bloquee su RPI3 en un estuche resistente.

    
respondido por el mootmoot 28.07.2017 - 15:13
fuente

Lea otras preguntas en las etiquetas