¿Qué significa SBD en dispositivos móviles?
SBD puede escuchar en cualquier puerto. Si no especifica una ventana específica, de forma predeterminada escuchará en el puerto 31415. El protocolo de transporte de la aplicación es SBD, que se basa en una clave de texto cifrado de un solo uso y en la tecnología de código de verificación de mensajes de tabla hash (HMAC) con clave.
El cliente y el servidor deben tener la misma clave para que los usuarios acepten comandos remotos. Estas claves son un archivo de identificación de dos personajes generados aleatoriamente. Las claves solo se pueden crear cuando se conecta por primera vez, por lo que deben usarse con precaución y mantenerlas en secreto.
Instalación y uso
La última versión estable de SBD es la versión 0.5 completamente funcional lanzada en febrero de 2005. Descargue el paquete de código fuente, extráigalo a /usr/local y compile el siguiente archivo binario:
~# cd /usr/local/
~# tar xvfz sbd-0.5 .tar .gz
~# cd sbd
~# g -Wall -O2 -o sbdd ssocket.cpp sha1.cpp utils.cpp sbdd.cpp
~ # g -Wall -O2 -o sbd csocket.cpp sha1.cpp utils.cpp sbd.cpp
Debe utilizar el compilador de C y las bibliotecas de desarrollador anteriores para compilar este binario. Para obtener más instrucciones sobre cómo compilar SBD y cómo utilizar SBD, consulte el archivo Léame en la carpeta zip.
Para que el cliente pueda ejecutar con éxito comandos remotos en el servidor, es necesario crear dos archivos de identidad, el enckey.bits del cliente y el deckey.bits del servidor. Puede ingresar caracteres seleccionados al azar en un archivo en blanco, guardarlo como enckey.bits y luego copiar el archivo a deckey.bits. No hay límite para la cantidad de caracteres en este archivo; cuantos más caracteres utilice, mejor.
También hay un archivo de caracteres aleatorios del servidor llamado athkey.bits en el directorio, que se utiliza para identificar la suplantación de IP del cliente más básica. Los caracteres del archivo son sólo para fines de prueba; necesitará crear sus propios archivos con sus propios caracteres aleatorios, tal como lo hizo con enckey.bits y deckey.bits.
Una vez completada la configuración del servidor, debe instalar o copiar los archivos binarios del cliente SBD y el archivo enckey.bits al cliente. Puede ejecutar el binario SBD compilado en el cliente o, si eso falla, crear el binario en el cliente.
Ahora puedes probar el servidor SBD. Para iniciar el servidor SBD en el puerto 12345, puede ejecutar ./sbdd 12345.
Para iniciar el servidor SSH desde un cliente remoto, ejecute la siguiente línea de comando:
~$ ./sbd server.IP.address 12345 "/etc/init.d/ssh start "
Reemplace la entrada server.IP.address con la dirección real del servidor. Si cada una de las entradas anteriores está bien, el cliente mostrará la siguiente información:
Enviado: 41 bytes
Este texto cifrado es la única señal de que SBD se muestra correctamente si lo desea. asegúrese de que se haya iniciado el servicio SSH en el servidor y pueda ver /var/log/syslog.
Si no configura la contraseña de seguridad de identidad en el cliente y el servidor, verá el siguiente mensaje de error:
sBD: utils.cpp:171: void ComputHMACSHA1Hash(unsigned char * , size_t, char*, size_t,
unsigned char*): Aserción `secret_siz cancelada (núcleo volcado)
Si su servidor SBD no se está ejecutando o está iniciando desde el punto incorrecto port Accede a él y recibirás el siguiente error:
Error! >Con SBD puede ejecutar cualquier comando de forma remota como si realmente estuviera conectado al servidor SBD. Por ejemplo, en comparación con SSH, cuando se utiliza SBD no siempre se puede exponer un servicio vulnerable a la red. El mejor enfoque es ejecutar servicios que se utilizan con poca frecuencia sólo cuando son realmente necesarios. SBD le permite ya no preocuparse por la seguridad del sistema.