Etibar xidmətləri ilə bağlı qanunvericilikdəki dəyişikliklərlə əlaqədar olaraq (“Elektron etimad xidmətləri haqqında” Ukrayna), şirkət tokenlərdə yerləşən açarlarla işləmək üçün bir neçə şöbəyə ehtiyac duyur (hazırda, aparat açarlarının sayı məsələsi hələ də açıqdır) ).
Ən aşağı xərcləri olan bir vasitə olaraq (pulsuz) seçim dərhal düşdü
Sual yarandı: Ən kiçik rəqslərlə hər şeyi hər kəs üçün necə etmək olar ...
Hissəsiz
I variant. Yarasa faylları üçün bir neçə qısa yol, yəni
a) Giriş açarı bağlantısı.
b) Qəsdən bağlanma.
paraqraf "б” mübahisəlidir, ona görə də açarla işləmək üçün vaxtın 3 dəqiqəyə verilməsi qərara alınıb.
Usbip müştərisinin özəlliyi ondan ibarətdir ki, işə salındıqdan sonra o, konsolda asılı qalır, konsol seansını kəsmədən əlaqəni müştəri tərəfdən və həmçinin server tərəfdən “təxminən” bağlaya bilərsiniz.
Bizim üçün nə işlədi:
birincisi: əlaqə on.bat
usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "
ikinci: bağlanma off.bat
ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F
istifadəçi şüuruna güvənmədən, skriptlər birləşdirildi token.bat
on.bat | off.bat
Nə baş verir: bütün fayllar eyni qovluqdadır, token.bat faylı ilə işə salın, əgər əlaqə bağlanarsa, istifadəçi dərhal açarın əlçatmazlığı barədə mesaj alır, əks halda yalnız 180 pingdən sonra. Yuxarıdakı kod sətirləri istifadəçini çox şoka salmamaq üçün “@ECHO OFF” və konsol istiqaməti “> nul” ilə təchiz oluna bilər, lakin sınaqdan keçmək lazım deyil. USB sürücüsündə ilkin "çalışma" hər şeyin proqnozlaşdırıla bilən-etibarlı-aydın olduğunu göstərdi. Və server tərəfdən heç bir manipulyasiya tələb olunmur.
Təbii ki, birbaşa tokenlə işləyərkən hər şey gözlənildiyi kimi getmədi: cihaz menecerində fiziki olaraq qoşulduqda, token 2 cihaz (WUDF və smart kart), şəbəkəyə qoşulduqda isə yalnız WUDF (baxmayaraq ki) kimi qeydə alınır. PİN kodu tələb etmək üçün bu kifayətdir).
Həmçinin məlum oldu ki, qəddar “taskkill” o qədər də ağır deyil və müştəri ilə əlaqəni bağlamaq problemlidir və uğur qazansa belə, onun serverdə bağlanmasına zəmanət vermir.
Müştəridə bütün konsolları qurban verərək, ikinci skript formasını aldı:
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
onun performansı 50% -dən az olsa da, server inadla əlaqəni açıq hesab etməyə davam etdi.
Bağlantı problemləri arxa tərəfdə təkmilləşdirmə düşüncələrinə səbəb oldu.
Server hissəsi
Nə lazımdır:
- Qeyri-aktiv istifadəçiləri xidmətdən ayırın.
- Hal-hazırda nişanı kimin istifadə etdiyinə (və ya hələ də saxladığına) baxın.
- Tokenin kompüterə qoşulub-qoşulmadığına baxın.
Bu vəzifələr crontab və apache xidmətlərindən istifadə etməklə həll edildi. Bizi maraqlandıran 2 və 3-cü bəndlərin monitorinq nəticələrinin vəziyyətinin yenidən yazılmasının diskretliyi, fayl sisteminin bir ramdrive-də yerləşə biləcəyini göstərir. /etc/fstab-a sətir əlavə edildi
tmpfs /ram_drive tmpfs defaults,nodev,size=64K 0 0
Kökdə skriptləri olan skript qovluğu yaradılır: usb_restart.sh işarəsini çıxarın-montaj edin
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
usblist_id.sh aktiv cihazların siyahısını əldə etmək
usbip list -r 127.0.0.1 | grep ':' |awk -F ":" '{print $1}'| sed s/' '//g | grep -v "^$" > /ram_drive/usb_id.txt
aktiv IP-lərin siyahısını əldə etmək (istifadəçi identifikatorlarını göstərmək üçün sonrakı dəqiqləşdirmə ilə) usbip_client_ip.sh
netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt
crontab özü belə görünür:
*/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)
Beləliklə, bizdə var: hər 5 dəqiqədən bir yeni istifadəçi, tokenlə kimin işləməsindən asılı olmayaraq qoşula bilər. /ramdrive qovluğu, usbip serverinin vəziyyətini göstərən 2 mətn faylının saxlandığı simvolik keçiddən istifadə edərək http serverinə qoşulur.
Sonrakı hissə: "Çirkin qablaşdırmada"
II variant. İstifadəçini ən azı daha az qorxuducu interfeyslə bir az sevindirmək üçün. İstifadəçilərin fərqli çərçivələrə, fərqli hüquqlara, daha az problemli yanaşmaya malik Windows-un fərqli versiyalarına sahib olması ilə çaşqınlıq yaranır.
Aşağıdakı vəzifələr interfeys və proqram hissəsi tərəfindən həll edildi:
- Tokenin hazırda məşğul olub-olmadığını göstərir.
- İlk başlanğıcda, token serveri ilə sessiyanın başlamasını və kəsilməsini həyata keçirən "düzgün" yarasa fayllarının yaradılması ilə ilkin quraşdırma. Sonrakı buraxılışlarda parolla "xidmət" rejiminin həyata keçirilməsi.
- Server ilə əlaqə yoxlanılır, bunun nəticəsində onun məşğulluğu sorğulanır və ya problemlər barədə mesajlar göstərilir. Bağlantı bərpa edildikdə, proqram avtomatik olaraq normal rejimdə işləməyə başlayır.
WEB serveri ilə iş fphttpclient əlavə avadanlığı vasitəsilə həyata keçirilir.
məqalənin mövzusu ilə bağlı mülahizələrin davamı, həmçinin xüsusiyyətləri ilə VirtualHere məhsuluna qismən ilkin həvəs var ...
Mənbə: www.habr.com