Luottamuspalveluita koskevan lainsäädännön muutosten yhteydessä ("About electronic trust services" Ukraine) yrityksellä on tarve useille osastoille, jotka työskentelevät tokeneissa sijaitsevilla avaimilla (kysymys laitteistoavainten määrästä on tällä hetkellä vielä auki ).
Edullisimmana työkaluna (ilmainen) valinta osui heti päälle
Kysymys kuului: Kuinka voin tehdä sen vähimmällä tanssimäärällä niin, että kaikki toimii kaikille...
Osa on kömpelö
Vaihtoehto 1. Useita pikakuvakkeita bat-tiedostoihin, nimittäin
a) Pääsyavaimen yhdistäminen.
b) Yhteyden tahallinen katkaisu.
Kappale "б» kiistanalainen, joten päätettiin antaa avaimella työskentelyajaksi 3 minuuttia.
Usbip-asiakkaan erikoisuus on se, että käynnistyksen jälkeen se jää roikkumaan konsolissa, konsoliistuntoa keskeyttämättä voit sulkea yhteyden "karkeasti" asiakaspuolelta ja myös palvelinpuolelta.
Tässä on mikä toimi meille hyvin:
ensin: yhteys on.bat
usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "
toinen: sammutus off.bat
ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F
Käyttäjien tietoisuuteen luottamatta skriptit yhdistettiin token.bat
on.bat | off.bat
Mitä tapahtuu: kaikki tiedostot ovat samassa token.bat-tiedoston käynnistämässä kansiossa, jos yhteys katkeaa, käyttäjä saa välittömästi viestin avaimen poissaolosta, toisessa tapauksessa vasta 180 pingin jälkeen. Yllä olevat koodirivit voidaan varustaa "@ECHO OFF":lla ja konsolin suunnalla "> nul", jotta käyttäjä ei järkyttyisi liikaa, mutta testausta ei tarvitse suorittaa. Ensimmäinen "ajo" USB-asemalla osoitti, että kaikki oli ennustettavaa, luotettavaa ja selkeää. Lisäksi palvelinpuolelta ei vaadita manipulaatioita.
Luonnollisesti suoraan tunnuksen kanssa työskennellessä kaikki ei mennyt odotetusti: laitehallinnan fyysisellä yhteydellä token rekisteröidään kahdeksi laitteeksi (WUDF ja älykortti) ja verkkoyhteydellä vain WUDF-muodossa (vaikkakin tämä riittää PIN-koodin pyytämiseen).
Kävi myös ilmi, että brutaali "taskkill" ei ole niin vakava, ja yhteyden sulkeminen asiakkaalla on ongelmallista ja vaikka se onnistuisi, se ei takaa sen sulkemista palvelimella sille.
Uhrattuaan kaikki asiakkaan konsolit, toinen skripti otti muodon:
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
vaikka sen tehokkuus on alle 50%, koska palvelin piti itsepäisesti yhteyttä auki.
Yhteysongelmat johtivat ajatuksiin palvelinpuolen päivittämisestä.
Palvelimen osa
Mitä tarvitset:
- Katkaise ei-aktiiviset käyttäjät palvelusta.
- Katso, kuka tällä hetkellä käyttää (tai edelleen lainaa) korttia.
- Tarkista, onko tunnus liitetty itse tietokoneeseen.
Nämä ongelmat ratkaistiin crontab- ja apache-palveluilla. Meitä kiinnostavien kohtien 2 ja 3 seurantatulosten tilan uudelleenkirjoituksen diskreetti osoittaa, että tiedostojärjestelmä voi sijaita ramdrivessä. Lisätty rivi tiedostoon /etc/fstab
tmpfs /ram_drive tmpfs defaults,nodev,size=64K 0 0
Skriptikansio skripteillä on luotu juuriin: tunnuksen irrotus-liittäminen 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
saada luettelo aktiivisista laitteista 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
aktiivisten IP-osoitteiden luettelon hankkiminen (mukaan lukien muutokset käyttäjätunnusten näyttämiseksi) usbip_client_ip.sh
netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt
itse crontab näyttää tältä:
*/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)
Meillä on siis: 5 minuutin välein uusi käyttäjä voi muodostaa yhteyden riippumatta siitä, kuka tunnuksen kanssa työskenteli. /ramdrive-kansio on yhdistetty http-palvelimeen symlinkillä, johon on tallennettu 2 tekstitiedostoa, jotka osoittavat usbip-palvelimen tilan.
Seuraava osa: "Ruma kääreessä"
Vaihtoehto II. Miellyttääkseen käyttäjää hieman ainakin jollakin vähemmän pelottavalla käyttöliittymällä. Hämmentynyt siitä, että käyttäjillä on erilaisia Windows-versioita erilaisilla kehyksillä, eri oikeuksilla, vähemmän ongelmallisella lähestymistavalla kuin
Seuraavat tehtävät ratkaistiin käyttöliittymän ja ohjelmiston avulla:
- Näyttää, onko tunnus tällä hetkellä varattu.
- Ensimmäisen käynnistyksen yhteydessä alkuasennus sisältää "oikeiden" bat-tiedostojen luomisen, jotka toteuttavat token-palvelimen istunnon käynnistämisen ja keskeyttämisen. Myöhemmissä käynnistyksissä "palvelu"-tilan toteuttaminen salasanalla.
- Tarkistaa yhteyden olemassaolon palvelimeen, minkä seurauksena se kyselyn onko se varattu tai näyttää viestejä ongelmista. Kun yhteys jatkuu, ohjelma alkaa automaattisesti toimia normaalitilassa.
Työskentely WEB-palvelimen kanssa on toteutettu fphttpclient-lisälaajennuksella.
artikkelissa on myös muita pohdintoja, samoin kuin osittainen alkuinnostus VirtualHere-tuotteeseen sen ominaisuuksineen...
Lähde: will.com