I forbindelse med ændringer i lovgivningen vedrørende tillidstjenester (“Om elektroniske tillidstjenester” Ukraine) har virksomheden behov for, at flere afdelinger arbejder med nøgler placeret på tokens (i øjeblikket er spørgsmålet om antallet af hardwarenøgler stadig åbent ).
Som et værktøj med den laveste pris (gratis) faldt valget straks på
Spørgsmålet var: Hvordan kan jeg gøre det med mindst mulig dans, så alt fungerer for alle...
Delen er klodset
Mulighed XNUMX. Flere genveje til bat-filer, nemlig
a) Tilslutning af adgangsnøglen.
b) Forsætlig afbrydelse.
afsnit "б» kontroversielt, så det blev besluttet at give den tid til at arbejde med nøglen på 3 minutter.
Det særlige ved usbip-klienten er, at efter den er startet, forbliver den hængende i konsollen; uden at afbryde konsolsessionen kan du lukke forbindelsen "omtrent" fra klientsiden og også fra serversiden.
Her er hvad der fungerede fint for os:
først: forbindelse på.bat
usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "
andet: nedlukning off.bat
ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F
Uden at stole på brugerens bevidsthed blev scripts kombineret til token.bat
on.bat | off.bat
Hvad sker der: alle filerne er i den samme mappe, lanceret af filen token.bat, hvis forbindelsen lukkes, modtager brugeren straks en besked om, at nøglen er utilgængelig, i et andet tilfælde, først efter 180 ping. Ovenstående kodelinjer kan udstyres med "@ECHO OFF" og konsolretningen til "> nul" for ikke at chokere brugeren for meget, men det er ikke nødvendigt at køre test. Den indledende "kørsel" på et USB-drev viste, at alt var forudsigeligt, pålideligt og klart. Desuden kræves ingen manipulationer fra serversiden.
Når man arbejdede direkte med tokenet, gik alt naturligvis ikke som forventet: med en fysisk forbindelse i enhedshåndteringen registreres tokenet som 2 enheder (WUDF og et smart card), og med en netværksforbindelse kun som WUDF (selvom dette er nok til at anmode om en PIN-kode).
Det viser sig også, at det brutale "taskkill" ikke er så alvorligt, og at lukke forbindelsen på klienten er problematisk, og selvom det lykkedes, garanterer det ikke, at han lukker den på serveren.
Efter at have ofret alle konsoller på klienten, tog det andet script formen:
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
selvom dens effektivitet er mindre end 50%, da serveren stædigt fortsatte med at betragte forbindelsen som åben.
Problemer med forbindelsen førte til tanker om at opgradere serversiden.
Server del
Hvad du har brug for:
- Afbryd forbindelsen til inaktive brugere fra tjenesten.
- Se, hvem der i øjeblikket bruger (eller stadig låner) tokenet.
- Se om tokenet er forbundet til selve computeren.
Disse problemer blev løst ved hjælp af crontab- og apache-tjenesterne. Den diskrete karakter af omskrivning af tilstanden af overvågningsresultaterne i punkt 2 og 3, som interesserer os, indikerer, at filsystemet kan findes på ramdrevet. Tilføjet linje til /etc/fstab
tmpfs /ram_drive tmpfs defaults,nodev,size=64K 0 0
En scriptmappe med scripts er blevet oprettet i roden: afmontering-montering af 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
få en liste over aktive enheder 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
opnåelse af en liste over aktive IP'er (med efterfølgende ændring for at vise bruger-id'er) usbip_client_ip.sh
netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt
selve crontab ser sådan ud:
*/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)
Så vi har: hvert 5. minut kan en ny bruger oprette forbindelse, uanset hvem der arbejdede med tokenet. /ramdrive-mappen er forbundet til http-serveren ved hjælp af et symlink, hvori 2 tekstfiler er gemt, som viser status for usbip-serveren.
Del næste: "Gryst i en indpakning"
Mulighed II. For at glæde brugeren lidt med i det mindste en mindre skræmmende grænseflade. Forundret over det faktum, at brugere har forskellige versioner af Windows med forskellige rammer, forskellige rettigheder, en mindre problematisk tilgang end
Følgende opgaver blev løst af grænsefladen og softwaren:
- Viser, om tokenet i øjeblikket er optaget.
- Ved den første lancering involverer den indledende opsætning generering af de "korrekte" bat-filer, der implementerer lanceringen og afbrydelsen af en session med token-serveren. Ved efterfølgende opstart, implementering af "service" -tilstand ved hjælp af en adgangskode.
- Kontrollerer tilstedeværelsen af en forbindelse med serveren, som et resultat af hvilken den spørger, om den er optaget eller viser meddelelser om problemer. Når kommunikationen genoptages, begynder programmet automatisk at fungere i normal tilstand.
Arbejdet med WEB-serveren implementeres ved hjælp af den ekstra fphttpclient-snap-in.
der er også yderligere overvejelser om emnet for artiklen, såvel som delvis indledende begejstring for VirtualHere-produktet med dets funktioner...
Kilde: www.habr.com