¿Puedo usar un token de software RSA SecurID en Ubuntu Linux?

14

Tengo computadoras con Windows, Mac y Linux; pero solo puedo conectarme a algunos de los sitios web de mi empresa a través de las máquinas Windows y Mac en este momento porque son los únicos con tokens de software RSA SecurID. Tengo curiosidad: ¿es posible configurar un token de software SecurID para que funcione en un sistema Linux (en mi caso, Ubuntu)?

Dan Tao
fuente
¿Hay algo más aquí? ¿Algún tipo de sistema de inicio de sesión único además de los tokens?
Caro
@PriceChild: Para ser honesto, no creo entender cómo funcionan los tokens RSA lo suficientemente bien como para obtener lo que estás pidiendo. Todo lo que sé es que, por lo general, para acceder a ciertos sitios dentro de mi empresa, debo ingresar la cadena que muestra mi token de software en un cuadro de entrada. Entonces puedo iniciar sesión. Como no tengo un token en mi máquina Linux, veo los sitios web como inaccesibles. Quizás eso sea extremadamente inexacto; como dije, realmente no entiendo todo el sistema lo suficientemente bien como para saberlo.
Dan Tao

Respuestas:

8

No hay un token de software RSA para Linux, por lo que deberá recurrir al uso de Wine (o ejecutar Windows en una máquina virtual). Hay un hilo aquí donde la versión del vino y la versión de software RSA detallado que se ha encontrado para el trabajo.

Otra alternativa sería obtener un token basado en el teléfono para que no dependa de un escritorio específico y la descamación del vino. La mayoría de las plataformas telefónicas son compatibles.

Pablo
fuente
2
¡La solución telefónica estaba frente a mí todo el tiempo y fui demasiado estúpida para darme cuenta!
Dan Tao
Vea la respuesta a continuación con respecto a Stoken , lo he probado y estoy muy impresionado. En cuanto al software Wine + RSA, ni siquiera puedo hacer que las versiones más nuevas se instalen o ejecuten sin fallar y / o congelarse (aunque estoy usando Wine staging 2.2). Solo RSA SecurID v410 parece funcionar y es muy torpe.
Jonathan Neufeld
16

Las versiones recientes de Ubuntu ofrecen el paquete almacenado , una implementación nativa de SecurID de código abierto que incluye una CLI, una GUI GTK + y una API de biblioteca.

Para más información ver la página de inicio del proyecto .

Kevin Cernekee
fuente
Este es un producto muy impresionante. Se ve profesional, fácil de usar e incurre en muy poca configuración o sobrecarga. Funcionando muy bien para mí, el SecurID de RSA de Windows es muy pesado y se va por la borda con respecto a la interfaz de usuario para una herramienta tan simple. Esta complejidad adicional lo hace extremadamente frágil y las versiones más nuevas no funcionarán.
Jonathan Neufeld
9

Personalmente, soy demasiado vago para levantar mi teléfono, abrir la aplicación RSA, ingresar mi PIN y luego escribirlo en la página de inicio de sesión. Tampoco me gusta tratar con Wine. Entonces, en cambio, creé una solución totalmente loca para este problema. Escribí un script que enviará SSH a una máquina con Windows, iniciará la aplicación RSA, ingresará su PIN, copiará el resultado y lo colocará en el portapapeles de su máquina Linux local. Para hacer esto, necesita una máquina Windows a la que pueda acceder a través de SSH con el software RSA instalado. Solía freeSSHd como el servidor SSH en Windows. También necesitará AutoHotKey y PsExec .

Compile el siguiente script AHK en la máquina con Windows (puse el exe resultante en C: \ Program Files \ RSA SecurID Software Token \ rsa-securid.exe):

TokenName = %1%
Pin = %2%
Run, "C:\Program Files\RSA SecurID Software Token\SecurID.exe"
WinWait, %TokenName% - RSA SecurID Token, 
IfWinNotActive, %TokenName% - RSA SecurID Token, , WinActivate, %TokenName% - RSA SecurID Token, 
WinWaitActive, %TokenName% - RSA SecurID Token, 
Send, %Pin%
Sleep, 100
Send, {Enter}
Sleep, 100
Send, ^c
Passcode = %Clipboard%
Sleep, 100
Send, {AltDown}{F4}{AltUp}
ExitApp %Passcode%

Luego use el siguiente script de shell en el lado de Linux:

#!/bin/bash
NAME=<the rsa token name>
PIN=<your pin>
HOST=<windows host>
USER=<windows user>
PASSWORD=<windows password>
SESSION=1
PASSCODE=$(ssh $HOST "cmd /c \"C:\Program Files (x86)\Sysinternals\PsExec.exe\" /accepteula \\\127.0.0.1 -u $USER -p $PASSWORD -i $SESSION  C:\\PROGRA~1\\RSASEC~1\\rsa-securid.exe $NAME $PIN" | grep "error code" | sed "s/.*error code \([0-9]*\).*/\1/")
echo -n $PASSCODE | xclip -selection clipboard -in
notify-send --hint=int:transient:1 -i "rsa-securid.png" "Passcode: $PASSCODE"

Cuando el script termine de hablar con la máquina de Windows, colocará el código de acceso en su portapapeles y aparecerá una pequeña notificación. Así que básicamente presionas un botón, esperas un par de segundos y listo, puedes pegar el código de acceso.

Espero que ayude.

nxmehta
fuente
4

Me hice un script para generar el código de acceso desde la línea de comandos, por lo que no tengo que lidiar con una aplicación de Windows. Básicamente ejecuta wine en segundo plano, toma el resultado y lo imprime en la consola.

mariusz
fuente