Usbip əsasında istifadəçilər arasında kriptoqrafik tokenin şəbəkə mübadiləsi

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ü usbip. Ubuntu 18.04-dəki server nəşr sayəsində qazandı USB/IP tənzimləmə və bir neçə flash sürücüdə uğurla sınaqdan keçirildi (o vaxt bir işarənin olmaması üçün). Həmin anda eksklüziv sahiblikdən (bir istifadəçi üçün rezervasiya) başqa heç bir xüsusi problem müəyyən edilməmişdir. Aydındır ki, bir neçə istifadəçi üçün (ən azı iki, başlanğıc üçün) girişi təşkil etmək üçün onları vaxtında bölmək və növbə ilə işləmək lazımdır.

Sual yarandı: Ən kiçik rəqslərlə hər şeyi hər kəs üçün necə etmək olar ...

Hissəsiz

Usbip əsasında istifadəçilər arasında kriptoqrafik tokenin şəbəkə mübadiləsi
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.

Usbip əsasında istifadəçilər arasında kriptoqrafik tokenin şəbəkə mübadiləsi

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).

Usbip əsasında istifadəçilər arasında kriptoqrafik tokenin şəbəkə mübadiləsi

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:

  1. Qeyri-aktiv istifadəçiləri xidmətdən ayırın.
  2. Hal-hazırda nişanı kimin istifadə etdiyinə (və ya hələ də saxladığına) baxın.
  3. 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. Lazarus Tapmadım (əlbəttə ki, mən C# tərəfdarıyam, amma bu halda yox). Yarasa fayllarını interfeysdən arxa planda, minimuma endirilmiş şəkildə işlədə bilərsiniz, lakin düzgün sınaqdan keçmədən mən şəxsən bu fikirdəyəm: istifadəçi narazılığını toplamaq üçün vizuallaşdırmaq lazımdır.

Usbip əsasında istifadəçilər arasında kriptoqrafik tokenin şəbəkə mübadiləsi

Aşağıdakı vəzifələr interfeys və proqram hissəsi tərəfindən həll edildi:

  1. Tokenin hazırda məşğul olub-olmadığını göstərir.
  2. İ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.
  3. 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.


burada müştərinin cari versiyasına keçid olacaq

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

Добавить комментарий