Netwerkdeling van 'n kriptografiese teken tussen gebruikers gebaseer op usbip

As gevolg van veranderinge in die wetgewing rakende trustdienste (“Op elektroniese trustdienste” Oekraïne), het die maatskappy 'n behoefte aan verskeie departemente om te werk met sleutels wat op tokens geleë is (op die oomblik is die vraag oor die aantal hardewaresleutels nog oop ).

As 'n instrument met die laagste koste (gratis), het die keuse dadelik geval usbip. Die bediener op Ubuntu 18.04 verdien danksy die publikasie Maak USB/IP teem en suksesvol getoets op verskeie flash drives (by gebrek aan 'n teken op daardie tydstip). Geen spesiale probleme behalwe eksklusiewe eienaarskap (bespreking per gebruiker) is op daardie tydstip geïdentifiseer nie. Dit is duidelik dat om toegang vir verskeie gebruikers te organiseer (ten minste twee, vir 'n begin), dit nodig is om hulle in tyd te verdeel en om die beurt te laat werk.

Die vraag het geword: Hoe om alles vir almal te laat werk met die kleinste danse ...

Deel lomp

Netwerkdeling van 'n kriptografiese teken tussen gebruikers gebaseer op usbip
Ek opsie. Verskeie kortpaaie na vlermuislêers, nl
a) Toegangsleutelverbinding.
b) Doelbewus afskakel.

Paragraaf "б” is omstrede, daarom is besluit om die hoeveelheid tyd te gee om met die sleutel in 3 minute te werk.

Die eienaardigheid van die usbip-kliënt is dat nadat dit geloods is, dit in die konsole bly hang, sonder om die konsolesessie te onderbreek, kan u die verbinding "rofweg" vanaf die kliëntkant en ook vanaf die bedienerkant sluit.

Hier is wat vir ons gewerk het:

eerste: verbinding op.kolf

usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "

tweede: afsluiting af.kolf

ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F

nie staatmaak op die gebruiker se bewussyn, is die skrifte gekombineer in teken.kolf

on.bat | off.bat

Wat gebeur: alle lêers is in dieselfde vouer, begin deur die token.bat-lêer, as die verbinding gesluit is, het die gebruiker onmiddellik 'n boodskap oor die onbeskikbaarheid van die sleutel, anders, eers na 180 pings. Die bogenoemde reëls kode kan toegerus word met "@ECHO OFF" en konsole-rigting na "> nul" om nie die gebruiker te veel te skok nie, maar dit is nie nodig om te hardloop vir toetsing nie. Die aanvanklike "run" op die USB-stasie het gewys dat alles voorspelbaar-betroubaar-duidelik is. En van die bedienerkant af is geen manipulasies nodig nie.

Netwerkdeling van 'n kriptografiese teken tussen gebruikers gebaseer op usbip

As u direk met die teken gewerk het, het alles natuurlik nie verloop soos verwag nie: wanneer dit fisies in die toestelbestuurder gekoppel is, word die teken as 2 toestelle (WUDF en slimkaart) geregistreer en wanneer dit aan die netwerk gekoppel is, slegs as WUDF (hoewel dit is genoeg om 'n PIN-kode aan te vra).

Netwerkdeling van 'n kriptografiese teken tussen gebruikers gebaseer op usbip

Dit het ook geblyk dat die wrede "taskkill" nie so erg is nie, en om die verbinding op die kliënt te sluit is problematies en selfs al het dit geslaag, waarborg dit nie dat dit vir hom op die bediener toegemaak word nie.

Nadat alle konsoles op die kliënt opgeoffer is, het die tweede skrif die vorm aangeneem:

ping 127.0.0.1 -n 180 > nul
taskkill /IM usbip.exe /F /T  > nul
ping 127.0.0.1 -n 10 > nul
taskkill /IM conhost.exe /F /T  > nul

alhoewel sy werkverrigting minder as 50% is, aangesien die bediener hardnekkig voortgegaan het om die verbinding oop te beskou.

Verbindingsprobleme het gelei tot gedagtes van 'n opgradering in die agterkant.

Bediener deel

Wat jy nodig het:

  1. Ontkoppel onaktiewe gebruikers van die diens.
  2. Kyk wie tans die teken gebruik (of steeds hou).
  3. Kyk of die teken aan die rekenaar self gekoppel is.

Hierdie take is opgelos met behulp van die crontab- en apache-dienste. Die diskreetheid van die herskryf van die toestand van die moniteringsresultate van punte 2 en 3 wat vir ons van belang is, dui daarop dat die lêerstelsel op 'n ramdrive geleë kan wees. Bygevoeg reël by /etc/fstab

tmpfs   /ram_drive      tmpfs   defaults,nodev,size=64K         0       0

'n Skripvouer met skrifte word by die wortel geskep: ontkoppel-monteer die token usb_restart.sh

usbip unbind -b 1-2
sleep 2
usbip bind -b 1-2
sleep 2
usbip attach --remote=localhost --busid=1-2
sleep 2
usbip detach --port=00

kry 'n lys van aktiewe toestelle usblist_id.sh

usbip list -r 127.0.0.1 | grep ':' |awk -F ":" '{print $1}'| sed s/' '//g | grep -v "^$" > /ram_drive/usb_id.txt

kry 'n lys van aktiewe IP's (met daaropvolgende verfyning om gebruikers-ID's te vertoon) usbip_client_ip.sh

netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt

crontab self lyk soos volg:

*/5 * * * * /!script/usb_restart.sh > /dev/null 2>&1
* * * * * ( sleep 30 ; /!script/usblist_id.sh > /dev/null)
* * * * * (sleep 10 ; /!script/usbip_client_ip.sh > /dev/hull)

Ons het dus: elke 5 minute kan 'n nuwe gebruiker koppel, ongeag wie met die token gewerk het. Die /ramdrive-lêergids word aan die http-bediener gekoppel deur 'n simlink, waarin 2 tekslêers gestoor word wat die status van die usbip-bediener wys.

Deel volgende: "Ugly in a wrapper"

II opsie. Om die gebruiker 'n bietjie te behaag met ten minste 'n minder intimiderende koppelvlak. Verward deur die feit dat gebruikers verskillende weergawes van Windows het met verskillende raamwerke, verskillende regte, 'n minder problematiese benadering as Lazarus Ek het dit nie gevind nie (natuurlik is ek vir C#, maar nie in hierdie geval nie). Jy kan vlermuislêers vanaf die koppelvlak in die agtergrond laat loop, geminimaliseer, maar sonder behoorlike toetsing is ek persoonlik van mening: jy moet visualiseer om gebruikersontevredenheid te versamel.

Netwerkdeling van 'n kriptografiese teken tussen gebruikers gebaseer op usbip

Die volgende take is deur die koppelvlak en die sagteware-deel opgelos:

  1. Wys of die teken tans besig is.
  2. By die eerste begin, die aanvanklike opstelling met die generering van die "korrekte" vlermuislêers wat die bekendstelling en onderbreking van die sessie met die token-bediener implementeer. By daaropvolgende bekendstellings, die implementering van die "diens" -modus deur wagwoord.
  3. Kontroleer die verbinding met die bediener, waardeur dit oor die besigheid gepols word of boodskappe oor probleme vertoon word. Wanneer die verbinding hervat word, begin die program outomaties in die normale modus werk.

Werk met die WEB-bediener word geïmplementeer deur middel van die fphttp-kliënt addisionele toerusting.


hier sal 'n skakel na die huidige weergawe van die kliënt wees

daar is ook 'n voortsetting van oorwegings oor die onderwerp van die artikel, sowel as 'n gedeeltelike aanvanklike entoesiasme vir die VirtualHere-produk met sy kenmerke ...

Bron: will.com

Voeg 'n opmerking