Czy mogę używać tokena programowego RSA SecurID w systemie Ubuntu Linux?

14

Mam komputery z systemem Windows, Mac i Linux; ale w tej chwili jestem w stanie połączyć się z niektórymi stronami mojej firmy za pośrednictwem komputerów z systemem Windows i Mac, ponieważ są one jedyne z tokenami oprogramowania RSA SecurID. Jestem ciekawy: czy można skonfigurować token oprogramowania SecurID do pracy w systemie Linux (w moim przypadku Ubuntu)?

Dan Tao
źródło
Czy dzieje się tu coś jeszcze? Jakiś system logowania jednokrotnego oprócz tokenów?
Drogo
@PriceChild: Szczerze mówiąc, nie sądzę, że rozumiem, w jaki sposób tokeny RSA działają wystarczająco dobrze, aby uzyskać nawet to, o co prosisz. Wiem tylko, że zazwyczaj, aby uzyskać dostęp do niektórych witryn w mojej firmie, muszę wpisać ciąg wyświetlany przez mój token oprogramowania w polu wejściowym. Następnie mogę się zalogować. Ponieważ nie mam takiego tokena na moim komputerze z systemem Linux, uważam strony internetowe za niedostępne. Być może jest to rażąco niedokładne; tak jak powiedziałem, tak naprawdę nie rozumiem całego systemu wystarczająco dobrze, aby wiedzieć.
Dan Tao,

Odpowiedzi:

8

Nie ma tokena RSA Software dla systemu Linux, więc musisz skorzystać z Wine (lub z systemem Windows na maszynie wirtualnej). Jest tutaj wątek , w którym wersja Wine i wersja RSA Software, które okazały się działać.

Inną alternatywą byłoby zdobycie tokena telefonicznego, aby nie polegać na konkretnym pulpicie i kruchości wina. Obsługiwana jest większość platform telefonicznych.

Paweł
źródło
2
Rozwiązanie oparte na telefonie cały czas było przede mną i byłem zbyt głupi, żeby to zauważyć!
Dan Tao,
Zobacz odpowiedź poniżej dotyczącą stoken , wypróbowałem to i jestem pod wielkim wrażeniem. Jeśli chodzi o oprogramowanie Wine + RSA, nie mogę nawet zainstalować nowszych wersji do zainstalowania lub uruchomienia bez awarii i / lub zamrażania (choć używam Wine staging 2.2). Wydaje się, że działa tylko RSA SecurID v410 i jest bardzo niezręczny.
Jonathan Neufeld
16

Najnowsze wersje Ubuntu oferują pakiet stoken , natywną implementację SecurID typu open source, która zawiera CLI, GTK + GUI i bibliotekę API.

Aby uzyskać więcej informacji, zobacz stronę główną projektu .

Kevin Cernekee
źródło
To bardzo imponujący produkt. Wygląda profesjonalnie, jest łatwy w użyciu i nie wymaga dużej konfiguracji ani kosztów ogólnych. Działa świetnie dla mnie, Windows RSA SecurID jest bardzo ciężki i idzie o wiele za daleko w stosunku do interfejsu użytkownika dla tak prostego narzędzia. Ta dodatkowa złożoność sprawia, że ​​jest wyjątkowo krucha, a nowsze wersje nie będą działać.
Jonathan Neufeld
9

Osobiście jestem zbyt leniwy, aby podnieść telefon, otworzyć aplikację RSA, wprowadzić mój kod PIN, a następnie wpisać go na stronie logowania. Nie lubię też zajmować się Wine. Zamiast tego stworzyłem całkowicie szalone rozwiązanie tego problemu. Napisałem skrypt, który prześle SSH do komputera z systemem Windows, uruchom aplikację RSA, wprowadź swój kod PIN, skopiuj wynik i umieść go w schowku na lokalnej maszynie z systemem Linux. Aby to zrobić, potrzebujesz komputera z systemem Windows, do którego można uzyskać dostęp przez SSH z zainstalowanym oprogramowaniem RSA. Użyłem freesshd jako serwera SSH w systemie Windows. Będziesz także potrzebował AutoHotKey i PsExec .

Skompiluj następujący skrypt AHK na komputerze z systemem Windows (wynikowy plik exe umieściłem w folderze 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%

Następnie użyj następującego skryptu powłoki po stronie 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"

Gdy skrypt zakończy rozmowę z komputerem z systemem Windows, umieści hasło w schowku i wyskakuje małe powiadomienie. Więc w zasadzie naciskasz przycisk, odczekaj kilka sekund i voila możesz wkleić hasło.

Mam nadzieję, że to pomaga.

nxmehta
źródło
4

Stworzyłem sobie skrypt do generowania hasła z wiersza poleceń, więc nie muszę zajmować się aplikacją Windows. Zasadniczo uruchamia wino w tle, pobiera dane wyjściowe i drukuje je na konsoli.

mariusz
źródło